Face Tracking and Data Viz
This sketch must be run with FaceOSC
import oscP5.*; OscP5 oscP5; // num faces found int found; // gesture float eyeLeft; float newEye; float xPos= 30; float yPos = 30; void setup() { size(900, 480); frameRate(3); background(255); oscP5 = new OscP5(this, 8338); oscP5.plug(this, "found", "/found"); oscP5.plug(this, "eyeLeftReceived", "/gesture/eye/left"); fill(0); } void draw() { if(found > 0) { newEye = map(eyeLeft, 2, 3, 0, 30); ellipse(xPos, yPos , newEye, newEye); xPos = xPos + 50; if(xPos > (width - 20)){ yPos = yPos + 100; xPos = 20; } if(yPos > (height - 20)){ yPos = 100; background(255); } } } // OSC CALLBACK FUNCTIONS public void found(int i) { println("found: " + i); found = i; } public void eyeLeftReceived(float f) { println("eye left: " + f); eyeLeft = f; } // all other OSC messages end up here void oscEvent(OscMessage m) { if(m.isPlugged() == false) { println("UNPLUGGED: " + m); } }