float damping = 1; float diameter = 84.0; float angle; float angle_rot; int rad_points = 90; void setup() { size (525, 850); } void draw() { smooth(); background(209, 237, 221); translate(200, 200); if (mousePressed == true) { background (0); } angle_rot = 0; fill(51); diameter = 2 * sin(angle); for(int i=0; i<10; i++) { //back star// pushMatrix(); rotate(angle_rot + -45); scale (diameter); fill (255, 127, 0, 100); triangle (mouseX, mouseY, 0, 20, 0, 0); bezier (mouseX, mouseY, 20, 20, mouseX + 30, mouseY + 30, 0, 0); triangle (mouseX, mouseY, 20, 20, 0, 40); bezier (mouseX, mouseY, 20, 20, mouseX + 30, mouseY + 30, 0, 40); triangle (mouseX, mouseY, 20, 20, 40, 40); bezier (mouseX, mouseY, 20, 20, mouseX + 30, mouseY + 30, 40, 40); strokeWeight (.25); fill (255, 255, 0, 100); ellipse (mouseX, mouseY, 20, 12); fill (255, 127, 0, 100); triangle (mouseX, mouseY, 40, 0, 40, 20); bezier (mouseX, mouseY, 20, 20, mouseX + 30, mouseY + 30, 40, 0); popMatrix(); angle_rot -= PI*2/8; } diameter = 3 * sin(angle); translate(0, 0); angle_rot = 0; fill(51); for(int i=0; i<10; i++) { pushMatrix(); rotate(angle_rot + -45); scale (diameter); //middle star// fill (155, 0, 255, 65); triangle (mouseX, mouseY, 0, 20, 0, 0); bezier (mouseX, mouseY, 20, 20, mouseX + 20, mouseY + 10, 0, 0); triangle (mouseX, mouseY, 20, 20, 0, 40); bezier (mouseX, mouseY, 20, 20, mouseX + 20, mouseY + 10, 0, 40); triangle (mouseX, mouseY, 20, 20, 40, 40); bezier (mouseX, mouseY, 20, 20, mouseX + 20, mouseY + 10, 40, 40); strokeWeight (.50); fill (25, 50, 240, 50); ellipse (mouseX, mouseY, 20, 12); fill (225, 19, 200, 65); triangle (mouseX, mouseY, 40, 0, 40, 20); bezier (mouseX, mouseY, 20, 20, mouseX + 20, mouseY + 20, 40, 0); popMatrix(); angle_rot += PI*2/9; } diameter = 4 * sin(angle); translate(0, 0); angle_rot = 0; fill(51); for(int i=0; i<10; i++) { pushMatrix(); rotate(angle_rot + -45); scale (diameter); //front star/ fill (250, 19, 50, 75); triangle (mouseX, mouseY, 0, 20, 0, 0); bezier (mouseX, mouseY, 20, 20, mouseX + 10, mouseY + 10, 0, 0); triangle (mouseX, mouseY, 20, 20, 0, 40); bezier (mouseX, mouseY, 20, 20, mouseX + 10, mouseY + 10, 0, 40); triangle (mouseX, mouseY, 20, 20, 40, 40); bezier (mouseX, mouseY, 20, 20, mouseX + 10, mouseY + 10, 40, 40); strokeWeight (.6); fill (25, 50, 240, 60); ellipse (mouseX, mouseY, 20, 12); fill (250, 19, 50, 75); triangle (mouseX, mouseY, 40, 0, 40, 20); bezier (mouseX, mouseY, 20, 20, mouseX + 10, mouseY + 10, 40, 0); popMatrix(); angle_rot += PI*2/10; } // this can help the ease// diameter = 2 * sin(angle); angle += 0.02; if (angle > TWO_PI) { angle = 0; } }