color c,d, bg; float r, v, vr; int x; int shift = 130; int offset = 0; void setup() { colorMode(HSB, 360, 100, 100); size(800,800); noStroke(); r = 0; v = 0; vr = 0.1; } void draw() { bg = color(60,map(mouseY,0,height,0,100),10); background(bg); shift = int(map(mouseX,0,width,0,100)); for (int i = 0; i<0+60;i++) { ellipseMode(CENTER); c = color((int(i/2)+ offset)%360,shift,100); fill(c); pushMatrix(); translate(width/2,height/2); rotate(i + v/2); scale(i*.001 + v/5); ellipse(width/2,height/2,80,100); c = color(i,90,100); ellipse(width/2,height/2,100,100); popMatrix(); pushMatrix(); translate(width/2,height/2); rotate(i + v/2); scale(i*.01 + v); ellipse(width/2,height/2,80,100); d = color((int(i/2))%360,shift,100); fill(d); ellipse(width/2,height/2,100,100); popMatrix(); } if (v<=-2) { vr=.01; } if (v > 1) { vr = -.01; } v+= vr; } void mouseClicked(){ offset += 60; }