xxxxxxxxxx
73
function setup() {
createCanvas(windowWidth, windowHeight);
angleMode(DEGREES);
colorMode(HSB, 360);
noStroke();
c0 = 0;
c1 = 360;
angle = 0;
enableColors = false;
}
function draw() {
radius = height-30;
if(enableColors) {
c0 = color(0.5*frameCount%360, 360, 360);
c1 = color((0.5*frameCount+180)%360, 360, 360);
}
background(30);
translate(width/2, height/2);
rotate(angle);
coin(0, 0, radius); //LVL 1
translate(radius/4, 0);
rotate(angle)
coin(0, 0, radius/2); //LVL 2
//rotate(-angle);
translate(radius/8, 0);
rotate(angle);
wave(0, 0, radius/4);
rotate(-angle);
translate(-radius/4, 0);
rotate(angle);
wave(0, 0, radius/4);
rotate(-angle);
resetMatrix();
translate(width/2, height/2);
rotate(angle);
translate(-radius/4, 0);
rotate(angle)
coin(0, 0, radius/2); //LVL 2
//rotate(-angle);
translate(radius/8, 0);
rotate(angle);
wave(0, 0, radius/4);
rotate(-angle);
translate(-radius/4, 0);
rotate(angle);
wave(0, 0, radius/4);
rotate(-angle);
angle = (angle-0.5)%360;
}
function coin(x, y, r) {
fill(c0);
arc(x, y, r, r, 0, 180);
fill(c1);
arc(x, y, r, r, 180, 0);
}
function wave(x, y, r) {
coin(x, y, r);
fill(c0);
ellipse(x-r/4, y, r/2);
fill(c1);
ellipse(x-r/4, y, r/4);
fill(c1);
ellipse(x+r/4, y, r/2);
fill(c0);
ellipse(x+r/4, y, r/4);
}