forgethowtotalk:

//leap_131013a

import com.leapmotion.leap.*;
import com.leapmotion.leap.processing.LeapMotion;

LeapMotion leapMotion;
ArrayList<FingerPosition> fingerPosition = new ArrayList();

void setup() {
  size(16*50, 9*50);
  background(255);
  ellipseMode(CENTER);
  rectMode(CENTER);
  leapMotion = new LeapMotion(this);
}

void draw() {
}

void onFrame(final Controller controller) {
  Frame frame = controller.frame();
  for (Finger finger : frame.fingers()) {
    FingerPosition f = new FingerPosition();
    f.tpos.x = leapMotion.leapToSketchX(finger.tipPosition().getX());
    f.tpos.y = leapMotion.leapToSketchY(finger.tipPosition().getY());
    f.trad = leapMotion.leapToSketchX(finger.tipPosition().getZ());
    fingerPosition.add(f);
  }
  for (FingerPosition f:fingerPosition) {
    f.update();
    f.render();
    fingerPosition.remove(f);
  }
 
}

class FingerPosition {
  PVector pos = new PVector();
  PVector tpos = new PVector();
  float rad = 1.0;
  float trad = 1.0;
  void update() {
    pos.lerp(tpos,0.99);
    rad = lerp(rad,trad,0.99);
  }
  void render() {
    noStroke();
    fill(255,5);
    rect(0,0,width*2,height*2);
    fill(0,5);
    ellipse(pos.x,pos.y,rad,rad);
    stroke(0);
    point(pos.x,pos.y);
    filter(BLUR,0.1);
  }
}

will need this soon. relevant for dev projects.