int numFrames = 50; float size = 10; twoCircle tc; line l, l2, l3; void setup(){ size(500,500); tc = new twoCircle(); l = new line(250, 300); l2 = new line(250, 200); } class twoCircle { float size = 10; int y = 250; int x = 250; void show(float t){ stroke(0, 30, 225); strokeWeight(size * 1.5); point(x, y); stroke(255); strokeWeight(size*0.75); point(x, y); size = size + 2*sin(TWO_PI*t); } } class line { float start, end, size; line(float s, float e) { start = s; end = e; size = 10; } float x1(float t){ return start + size*0.1; } float y1(float t){ return start - size*0.75; } float x2(float t){ return end + size*0.1 + 10*abs(cos(TWO_PI*t)); } float y2(float t){ return end - 50 + 10*sin(TWO_PI*t) - size*0.75; } void show(float t) { strokeWeight(2); line(x1(t),y1(t),x2(t),y2(t)); size = size + 2*sin(TWO_PI*t); } } void draw(){ background(0); float t = 1.0*(frameCount-1)/numFrames; tc.show(t); l.show(t); l2.show(t); if(frameCount<=numFrames){ saveFrame("fr###.png"); } }