Hello. I am coming back to processing after so long. I am trying to make an animation based on circles interlocking to create patterns. How can I make this code more effective? I also want to slow down the frame rate.
int a=0;
int b=1;
int c=0;
int d=-1;
void setup(){
size(1000, 1000); //size
loop();
smooth();
noFill();
}
void draw(){
background(0); //color
stroke(225); //stroke
frameRate(1);
for ( int x=-250; x<1300; x+=100) { //sets cricles
ellipse(x+a, -200, 200, 200);
ellipse(x+a, -100, 200, 200);
ellipse(x+a, 0, 200, 200);
ellipse(x+a, 0, 200, 200);
ellipse(x+a, 100, 200, 200);
ellipse(x+a, 200, 200, 200);
ellipse(x+a, 300, 200, 200);
ellipse(x+a, 400, 200, 200);
ellipse(x+a, 500, 200, 200);
ellipse(x+a, 600, 200, 200);
ellipse(x+a, 700, 200, 200);
ellipse(x+a, 800, 200, 200);
ellipse(x+a, 900, 200, 200);
ellipse(x+a, 1000, 200, 200);
ellipse(x+a, 1100, 200, 200);
ellipse(x+a, 1200, 200, 200);
ellipse(x+a, 1300, 200, 200);
ellipse(x+a, 1400, 200, 200);
ellipse(-100, x+a, 200, 200);
ellipse(-200, x+a, 200, 200);
ellipse(0,x+a,200,200);
ellipse(100, x+a, 200, 200);
ellipse(200, x+a, 200, 200);
ellipse(300, x+a, 200, 200);
ellipse(400, x+a, 200, 200);
ellipse(500, x+a, 200, 200);
ellipse(600, x+a, 200, 200);
ellipse(700, x+a, 200, 200);
ellipse(800, x+a, 200, 200);
ellipse(900, x+a, 200, 200);
ellipse(1000, x+a, 200, 200);
ellipse(1100, x+a, 200, 200);
ellipse(1200, x+a, 200, 200);
ellipse(1300, x+a, 200, 200);
ellipse(1400, x+a, 200, 200);
ellipse(x-c, -100, 200, 200);
ellipse(x-c, -200, 200, 200);
ellipse(x-c, 0, 200, 200);
ellipse(x-c, 100, 200, 200);
ellipse(x-c, 200, 200, 200);
ellipse(x-c, 300, 200, 200);
ellipse(x-c, 400, 200, 200);
ellipse(x-c, 500, 200, 200);
ellipse(x-c, 600, 200, 200);
ellipse(x-c, 700, 200, 200);
ellipse(x-c, 800, 200, 200);
ellipse(x-c, 900, 200, 200);
ellipse(x-c, 1000, 200, 200);
ellipse(x-c, 1100, 200, 200);
ellipse(x-c, 1200, 200, 200);
ellipse(x-c, 1300, 200, 200);
ellipse(x-c, 1400, 200, 200);
ellipse(-100, x-c, 200, 200);
ellipse(-200, x-c, 200, 200);
ellipse(0,x-c,200,200);
ellipse(100, x-c, 200, 200);
ellipse(200, x-c, 200, 200);
ellipse(300, x-c, 200, 200);
ellipse(400, x-c, 200, 200);
ellipse(500, x-c, 200, 200);
ellipse(600, x-c, 200, 200);
ellipse(700, x-c, 200, 200);
ellipse(800, x-c, 200, 200);
ellipse(900, x-c, 200, 200);
ellipse(1000, x-c, 200, 200);
ellipse(1100, x-c, 200, 200);
ellipse(1200, x-c, 200, 200);
ellipse(1300, x-c, 200, 200);
ellipse(1400, x-c, 200, 200);
a=a+b;
if(a>width/2) {
b=-1;
}
if(a<0){
b=1;
}
c=c+d;
if(c<0) {
d=1;
}
if(c>width/2){
d=-1;
}
}
}