xxxxxxxxxx
389
function setup() {
createCanvas(windowWidth, windowHeight-20);
colorMode(HSB, 360);
angleMode(DEGREES);
angle = 0;
slider = createSlider(0, 1, 0.5, 0.001);
slider.position(10, height-30);
slider.style('width', width-20 + 'px');
if(width > height) {
radius = height-60;
} else {
radius = width-60;
}
checkbox = createCheckbox("Black/white", true);
checkbox.changed(myCheckedEvent);
cycleColors = false;
}
function draw() {
c = (frameCount/4)%360;
if(cycleColors) {
c0 = color(c, 300, 360);
c1 = color((c+180)%360, 300, 360);
} else {
c0 = 0;
c1 = 360;
}
background(30);
translate(width/2, height/2-10);
applyMatrix(1, 0, 0, 1, 0, 0);
rotate(angle);
coin(0, 0, radius, c0, c1); //lvl 1
translate(radius/4, 0);
rotate(-2*angle);
coin(0, 0, radius/2, c0, c1); //lvl 2
translate(radius/8, 0);
rotate(3*angle);
coin(0, 0, radius/4, c0, c1); //lvl 3
translate(radius/16, 0);
rotate(-4*angle);
coin(0, 0, radius/8, c0, c1); //lvl 4
translate(radius/32, 0);
rotate(-5*angle);
wave(0, 0, radius/16, c0, c1); //lvl 5
translate(radius/64, 0);
fill(c0);
ellipse(0, 0, radius/62);
translate(-radius/32, 0);
fill(c1);
ellipse(0, 0, radius/62);
translate(radius/64, 0);
rotate(5*angle);
translate(-radius/16, 0);
rotate(-5*angle);
wave(0, 0, radius/16, c0, c1); //lvl 5
translate(radius/64, 0);
fill(c0);
ellipse(0, 0, radius/62);
translate(-radius/32, 0);
fill(c1);
ellipse(0, 0, radius/62);
translate(radius/64, 0);
rotate(5*angle);
translate(radius/32, 0);
rotate(4*angle);
translate(-radius/8, 0);
rotate(-4*angle);
coin(0, 0, radius/8, c0, c1); //lvl 4
translate(radius/32, 0);
rotate(-5*angle);
wave(0, 0, radius/16, c0, c1); //lvl 5
translate(radius/64, 0);
fill(c0);
ellipse(0, 0, radius/62);
translate(-radius/32, 0);
fill(c1);
ellipse(0, 0, radius/62);
translate(radius/64, 0);
rotate(5*angle);
translate(-radius/16, 0);
rotate(-5*angle);
wave(0, 0, radius/16, c0, c1); //lvl 5
translate(radius/64, 0);
fill(c0);
ellipse(0, 0, radius/62);
translate(-radius/32, 0);
fill(c1);
ellipse(0, 0, radius/62);
translate(radius/64, 0);
rotate(5*angle);
translate(radius/32, 0);
rotate(4*angle);
translate(radius/16, 0);
rotate(-3*angle);
translate(-radius/4, 0);
rotate(3*angle);
coin(0, 0, radius/4, c0, c1); //lvl 3
translate(radius/16, 0);
rotate(-4*angle);
coin(0, 0, radius/8, c0, c1); //lvl 4
translate(radius/32, 0);
rotate(-5*angle);
wave(0, 0, radius/16, c0, c1); //lvl 5
translate(radius/64, 0);
fill(c0);
ellipse(0, 0, radius/62);
translate(-radius/32, 0);
fill(c1);
ellipse(0, 0, radius/62);
translate(radius/64, 0);
rotate(5*angle);
translate(-radius/16, 0);
rotate(-5*angle);
wave(0, 0, radius/16, c0, c1); //lvl 5
translate(radius/64, 0);
fill(c0);
ellipse(0, 0, radius/62);
translate(-radius/32, 0);
fill(c1);
ellipse(0, 0, radius/62);
translate(radius/64, 0);
rotate(5*angle);
translate(radius/32, 0);
rotate(4*angle);
translate(-radius/8, 0);
rotate(-4*angle);
coin(0, 0, radius/8, c0, c1); //lvl 4
translate(radius/32, 0);
rotate(-5*angle);
wave(0, 0, radius/16, c0, c1); //lvl 5
translate(radius/64, 0);
fill(c0);
ellipse(0, 0, radius/62);
translate(-radius/32, 0);
fill(c1);
ellipse(0, 0, radius/62);
translate(radius/64, 0);
rotate(5*angle);
translate(-radius/16, 0);
rotate(-5*angle);
wave(0, 0, radius/16, c0, c1); //lvl 5
translate(radius/64, 0);
fill(c0);
ellipse(0, 0, radius/62);
translate(-radius/32, 0);
fill(c1);
ellipse(0, 0, radius/62);
translate(radius/64, 0);
rotate(5*angle);
translate(radius/32, 0);
rotate(4*angle);
translate(radius/16, 0);
rotate(-3*angle);
translate(radius/8, 0);
rotate(2*angle);
translate(-radius/2, 0);
rotate(-2*angle);
coin(0, 0, radius/2, c0, c1); //lvl 2
translate(radius/8, 0);
rotate(3*angle);
coin(0, 0, radius/4, c0, c1); //lvl 3
translate(radius/16, 0);
rotate(-4*angle);
coin(0, 0, radius/8, c0, c1); //lvl 4
translate(radius/32, 0);
rotate(-5*angle);
wave(0, 0, radius/16, c0, c1); //lvl 5
translate(radius/64, 0);
fill(c0);
ellipse(0, 0, radius/62);
translate(-radius/32, 0);
fill(c1);
ellipse(0, 0, radius/62);
translate(radius/64, 0);
rotate(5*angle);
translate(-radius/16, 0);
rotate(-5*angle);
wave(0, 0, radius/16, c0, c1); //lvl 5
translate(radius/64, 0);
fill(c0);
ellipse(0, 0, radius/62);
translate(-radius/32, 0);
fill(c1);
ellipse(0, 0, radius/62);
translate(radius/64, 0);
rotate(5*angle);
translate(radius/32, 0);
rotate(4*angle);
translate(-radius/8, 0);
rotate(-4*angle);
coin(0, 0, radius/8, c0, c1); //lvl 4
translate(radius/32, 0);
rotate(-5*angle);
wave(0, 0, radius/16, c0, c1); //lvl 5
translate(radius/64, 0);
fill(c0);
ellipse(0, 0, radius/62);
translate(-radius/32, 0);
fill(c1);
ellipse(0, 0, radius/62);
translate(radius/64, 0);
rotate(5*angle);
translate(-radius/16, 0);
rotate(-5*angle);
wave(0, 0, radius/16, c0, c1); //lvl 5
translate(radius/64, 0);
fill(c0);
ellipse(0, 0, radius/62);
translate(-radius/32, 0);
fill(c1);
ellipse(0, 0, radius/62);
translate(radius/64, 0);
rotate(5*angle);
translate(radius/32, 0);
rotate(4*angle);
translate(radius/16, 0);
rotate(-3*angle);
translate(-radius/4, 0);
rotate(3*angle);
coin(0, 0, radius/4, c0, c1); //lvl 3
translate(radius/16, 0);
rotate(-4*angle);
coin(0, 0, radius/8, c0, c1); //lvl 4
translate(radius/32, 0);
rotate(-5*angle);
wave(0, 0, radius/16, c0, c1); //lvl 5
translate(radius/64, 0);
fill(c0);
ellipse(0, 0, radius/62);
translate(-radius/32, 0);
fill(c1);
ellipse(0, 0, radius/62);
translate(radius/64, 0);
rotate(5*angle);
translate(-radius/16, 0);
rotate(-5*angle);
wave(0, 0, radius/16, c0, c1); //lvl 5
translate(radius/64, 0);
fill(c0);
ellipse(0, 0, radius/62);
translate(-radius/32, 0);
fill(c1);
ellipse(0, 0, radius/62);
translate(radius/64, 0);
rotate(5*angle);
translate(radius/32, 0);
rotate(4*angle);
translate(-radius/8, 0);
rotate(-4*angle);
coin(0, 0, radius/8, c0, c1); //lvl 4
translate(radius/32, 0);
rotate(-5*angle);
wave(0, 0, radius/16, c0, c1); //lvl 5
translate(radius/64, 0);
fill(c0);
ellipse(0, 0, radius/62);
translate(-radius/32, 0);
fill(c1);
ellipse(0, 0, radius/62);
translate(radius/64, 0);
rotate(5*angle);
translate(-radius/16, 0);
rotate(-5*angle);
wave(0, 0, radius/16, c0, c1); //lvl 5
translate(radius/64, 0);
fill(c0);
ellipse(0, 0, radius/62);
translate(-radius/32, 0);
fill(c1);
ellipse(0, 0, radius/62);
translate(radius/64, 0);
rotate(5*angle);
translate(radius/32, 0);
rotate(4*angle);
translate(radius/16, 0);
rotate(-3*angle);
translate(radius/8, 0);
rotate(2*angle);
translate(radius/2, 0);
angle-=slider.value();
}
function myCheckedEvent() {
cycleColors = !cycleColors;
}