//spiro.pde - see processing.org float a,b; void draw(){ noStroke(); fill(0,10); rect(0,0,100,100); fill(255); ellipse(50+(20*cos(a)+10*cos(b)), 50+(20*sin(a)+10*sin(b)), 3,3); a += map(mouseX,0,100,-.5,.5); b += map(mouseY,0,100,-.5,.5); } //see in action: http://kirk.is/card/