// btw, anything after double slashes is ignored by the computer
let t = 0; // time variable//Make a 2D canvas that's 400x400function setup() { createCanvas(400, 400); noStroke();}function draw() { background(0,15); // translucent background (creates trails) // CYAN CIRCLES for (let x = 0; x <= width; x = x + 50) { for (let y = 0; y <= height; y = y + 50) { // starting point of each circle depends on mouse position const xAngle = map(mouseX, 0, width, -4 * PI, 4 * PI, true); const yAngle = map(mouseY, 0, height, -4 * PI, 4 * PI, true); // and also varies based on the particle's location const angle = xAngle * (x / width) + yAngle * (y / height); // each particle moves in a circle const myX = x + 20 * cos(2 * PI * t + angle); const myY = y + 20 * sin(2 * PI * t + angle); fill(0, 238, 255); // color particle with RGB value ellipse(myX, myY, 15); // draw particle as a circle 15pt big at x,y } }// WHITE CIRCLES for (let x = 25; x <= width; x = x + 50) { for (let y = 0; y <= height; y = y + 50) { // starting point of each circle depends on mouse position const xAngle = map(mouseX, 0, width, -4 * PI, 4 * PI, true); const yAngle = map(mouseY, 0, height, -4 * PI, 4 * PI, true); // and also varies based on the particle's location const angle = xAngle * (x / width) + yAngle * (y / height); // each particle moves in a circle const myX = x + 20 * cos(2 * PI * t + angle); const myY = y + 20 * sin(2 * PI * t + angle); fill(255); // color particle with RGB value ellipse(myX, myY, 15); // draw particle as a circle 15pt big at x,y } }// DARK BLUE CIRCLES for (let x = 0; x <= width; x = x + 50) { for (let y = 25; y <= height; y = y + 50) { // starting point of each circle depends on mouse position const xAngle = map(mouseX, 0, width, -4 * PI, 4 * PI, true); const yAngle = map(mouseY, 0, height, -4 * PI, 4 * PI, true); // and also varies based on the particle's location const angle = xAngle * (x / width) + yAngle * (y / height); // each particle moves in a circle const myX = x + 20 * cos(2 * PI * t + angle); const myY = y + 20 * sin(2 * PI * t + angle); fill(37,92,153); // color particle with RGB value ellipse(myX, myY, 15); // draw particle as a circle 15pt big at x,y } }// LIGHT BLUE CIRCLES for (let x = 25; x <= width; x = x + 50) { for (let y = 25; y <= height; y = y + 50) { // starting point of each circle depends on mouse position const xAngle = map(mouseX, 0, width, -4 * PI, 4 * PI, true); const yAngle = map(mouseY, 0, height, -4 * PI, 4 * PI, true); // and also varies based on the particle's location const angle = xAngle * (x / width) + yAngle * (y / height); // each particle moves in a circle const myX = x + 20 * cos(2 * PI * t + angle); const myY = y + 20 * sin(2 * PI * t + angle); fill(67,146,241); // color particle with RGB value ellipse(myX, myY, 15); // draw particle as a circle 15pt big at x,y } } t = t + 0.005; // update time}