xxxxxxxxxx
let W = 400;
let f = 0;
setup = _ => {
createCanvas(W, W, WEBGL);
noStroke();
}
draw = _ => {
background(0);
rotateX(0.6);
for (let z = W; z >= 0; z-=4) { // Use z-- if you want the smooth lines (slow!)
for (let i = 0; i < 6; i += 0.8) {
push();
translate(0, -150, -z);
rotate(i + sin(z / 200 + f));
if (z === 0) ellipse(0, 0, 22, 99);
circle(0, z * 0.7, 2);
fill(sin(f * 3 + z / 15) * 125 + 125);
ellipse(0, 0, z / 3, z);
pop();
}
}
f -= .03
}