xxxxxxxxxx
color[] myPalette = new colour[6];
void setup() {
size(500, 500);
defaultPalette();
}
int tick = 0;
void randomPalette() {
for (int i = 0; i < 6; i++) {
myPalette[i] = color(random(255), random(255), random(255));
}
}
void defaultPalette() {
myPalette[0] = color(120, 120, 250);
myPalette[1] = color(0, 250, 120);
myPalette[2] = color(0, 180, 90);
myPalette[3] = color(240, 40, 50);
myPalette[4] = color(240, 210, 30);
myPalette[5] = color(252, 252, 150);
}
void draw() {
background(myPalette[0]);
noStroke();
fill(myPalette[1]);
ellipse(width / 2, 500, 1000, 250);
fill(myPalette[2]);
pushMatrix();
rotate(cos(tick / 16) / 64);
ellipse(width / 2, height / 2 + 200, 50, 400);
popMatrix();
pushMatrix();
rotate(cos(tick / 16) / 64 + .1);
ellipse(width / 2 + 90, height / 2 + 350 + sin(tick / 16) * 10, 25, 400);
popMatrix();
pushMatrix();
rotate(cos(tick / -16) / 64 - .1);
ellipse(width / 2 + -95, height / 2 + 350 + sin(tick / 16) * 10, 25, 300);
popMatrix();
fill(myPalette[3]);
pushMatrix();
translate(width / 2, height / 2 + sin(tick / 8) * 5);
rotate(tick / 16);
ellipse(0, 0, 150, 400);
ellipse(0, 0, 400, 150);
fill(myPalette[4]);
ellipse(0, 0, 200, 200);
popMatrix();
fill(myPalette[5]);
ellipse(width + sin(tick / 16) * -2, sin(tick / 16) * 2, 250, 250);
tick++;
}
void keyPressed() {
if (key == ' ') {
randomPalette();
}
if (key == 'q') {
defaultPalette();
}
}