/* built with Studio Sketchpad:
* https://sketchpad.cc
*
* observe the evolution of this sketch:
* https://dflab.sketchpad.cc/sp/pad/view/ro.U-cYe-URP5p/rev.66
*
* authors:
* Alexandre Alagoa
* license (unless otherwise specified):
* creative commons attribution-share alike 3.0 license.
* https://creativecommons.org/licenses/by-sa/3.0/
*/
float px[];
float py[];
int num_particles = 10;
void setup() {
size(500, 500);
background(0, 0, 0);
px = new float[1000];
py = new float[1000];
for (int i = 1; i < num_particles; i++) {
px[i] = random (width);
py[i] = random (height);
}
}
void draw() {
background(0, 0, 0);
fill (255, 145, 0);
ellipse (250, 250, 520, 520);
fill (224, 255, 0);
ellipse (250, 250, 500, 500);
fill (11, 255, 0);
ellipse (250, 250, 480, 480);
fill (0, 255, 142);
ellipse (250, 250, 460, 460);
fill (0, 219, 255);
ellipse (250, 250, 440, 440);
fill (0, 44, 255);
ellipse (250, 250, 420, 420);
fill (60, 2, 162);
ellipse (250, 250, 400, 400);
fill (159, 2, 162);
ellipse (250, 250, 380, 380);
fill (162, 2, 63);
ellipse (250, 250, 360, 360);
fill (203, 0, 14);
ellipse (250, 250, 340, 340);
fill (255, 0, 17);
ellipse (250, 250, 320, 320);
fill (255, 111, 0);
ellipse (250, 250, 300, 300);
fill (255, 205, 0);
ellipse (250, 250, 280, 300);
fill (250, 255, 0);
ellipse (250, 250, 260, 280);
fill (173, 255, 0);
ellipse (250, 250, 240, 260);
fill (58, 255, 0);
ellipse (250, 250, 200, 240);
fill (0, 255, 104);
ellipse (250, 250, 180, 220);
fill (0, 255, 202);
ellipse (250, 250, 160, 200);
fill (0, 138, 255);
ellipse (250, 250, 140, 180);
fill (16, 0, 255);
ellipse (250, 250, 120, 160);
fill (255, 0, 21);
ellipse (250, 250, 100, 140);
fill (0, 0, 0);
ellipse (250, 250, 80, 80);
noStroke();
fill(0, 255, 189);
rectMode(CENTER);
float sz = frameCount % 120;
ellipse(width/2, height/2, 5 + sz, 5 + sz);
noStroke();
fill(255, 0, 0);
rectMode(CENTER);
float sz = frameCount % 80;
ellipse(width/2, height/2, 4 + sz, 4 + sz);
fill(0, 255, 0);
rectMode(CENTER);
float sz = frameCount % 60;
ellipse(width/2, height/2, 4 + sz, 5 + sz);
for (int i = 0; i < num_particles; i = i+1) {
px[i] = constrain (px[i] + random (-10, 10), 50, width);
py[i] = constrain (py[i] + random (-10, 10), 50, height);
fill (0, 0, 0);
ellipse (px[i], py[i], 144, 14);
ellipse (px[i], py[i], 14, 144);
ellipse (px[i], py[i], 30, 30);
fill (270, 0, 0);
ellipse (px[i], py[i], 4, 4);
}
}