xxxxxxxxxx
43
/*
Inspiration:
https://www.instagram.com/p/B2ASNwwnkf3/
Context:
https://rtp.media.mit.edu/
*/
let caneva_size = 800;
let center = caneva_size / 2;
let circle_size = caneva_size/10; // circles that fabricate the parabolas
function setup() {
createCanvas(caneva_size, caneva_size);
background(0);
noStroke();
//sets the origin to the center
translate(center, center);
// rotation loop
let rot_div = 8;
for (let r = 0; r < rot_div; r++) {
rotate(TWO_PI / rot_div);
// parabola fade loop
for (let offset = 0; offset < center/2; offset += 3) {
// basic parabola
for (let x = -center/2; x < center/2; x += 2) {
let brightness = 255 * (1 - abs(x) / (center/2));
brightness -= offset * 2;
fill(brightness, brightness);
// parabola equation: y = -x²/100 + fade_offset
let y = -x*x/100 + (0.85*center - offset);
ellipse(x, y, circle_size, circle_size);
}
}
}
}