/* devrand.org * Usage: * Mouse position changes shape offset * Hold right mouse button and drag to rotate image * 0-9: change shape size * q: turn on color * w: white only * e: place an ellipse * r: place a rectangle * t: capture frames/stop capture * y: clear image * ffmpeg -y -i pic%1d.jpg -b 9800000 emergentFeedback.mpg */ import processing.opengl.*; float a = 0; int s = 50; boolean c = true; boolean v = false; int p = 0; void setup() { size(800, 800, OPENGL); background(0); stroke(0); } void draw() { PImage cp = get(); translate(width/2, height/2); rotateZ(a/100); image(cp, 4, 4, 792,792); if(mousePressed) a = mouseX + mouseY; if(v) save("pic" + (p++) + ".jpg"); } void keyPressed() { if(c) fill(mouseX, mouseY, mouseX + mouseY); else fill(255,255,255); if (key >= '1' && key <= '9') s = 10 * (key - '0'); switch (key) { case '0': s = 100; break; case 'e': ellipse(-200 + mouseX,-200 + mouseY, s, s); break; case 'r': rect(-200 + mouseX,-200 + mouseY, s, s); break; case 'w': c = false; break; case 'q': c = true; break; case 'y': background(0); case 't': v = !v; println("Capturing: " + v); break; } }