float x,y,angle,angleD,speed; int frame; void setup() { size(300,300); ellipseMode(CENTER_DIAMETER); framerate(20); angle=random(0,360); angleD=random(-3,3); speed=random(1,5); x=width/2; y=height/2; } void loop() { // background(200); x=x+cos(radians(angle))*speed; y=y+sin(radians(angle))*speed; angle=angle+angleD; angleD=angleD+random(-0.5,0.5); if(angleD<-5) angleD=-5; else if(angleD>5) angleD=5; frame++; if(frame%50==0) angleD=-angleD; // speed=speed+0.1; if(x<0) x=width; else if(x>width) x=0; if(y<0) y=height; else if(y>height) y=0; ellipse(x,y, 10,10); }