float x,y,xD,yD,angle,angleD,speed,speedD; void setup() { size(400,400); x=width/2; y=height/2; angle=random(360); speed=2; angleD=0.5; speedD=0.1; ellipseMode(CENTER_DIAMETER); } void loop() { // background(200); speedD=speedD+random(0.1)-0.05; if(speedD>0.2) speedD=0.2; else if(speedD<-0.2) speedD=0.2; speed=speed+speedD; if(speed>6) speed=6; else if(speed<0.1) speed=0.1; angleD=angleD+random(1)-0.5; if(angleD>5) angleD=5; else if(angleD<-5) angleD=-5; angle=angle+angleD; xD=cos(radians(angle)); yD=sin(radians(angle)); xD=xD*speed; yD=yD*speed; x=x+xD; y=y+yD; if(x>width) x=0; else if(x<0) x=width; if(y>height) y=0; else if(y<0) y=height; ellipse(x,y, 4*speed,4*speed); }