// **************************
// * PRELOAD *
// **************************
function preload() {
}
// **************************
// * SETUP *
// **************************
function setup() {
createCanvas(windowWidth, windowHeight);
};
function windowResized() {
resizeCanvas(windowWidth, windowHeight);
}
// **************************
// * DRAW *
// **************************
function draw() {
background(0);
let t = millis();
let s = constrain(width, 0, 1000) / 1000;
let o = 18;
let count = 120;
stroke(255);
noFill();
strokeWeight(1.6 * s);
rectMode(CENTER);
translate(width / 2, height / 2);
rotate(PI / 4);
for (var i = count; i > 0; i--) {
let delay = sin(noise(i * 0.005 + t * 0.000009) * PI) * 0.5;
let n = noise(i * 110 + t * 0.0001) * 0.01;
let angle = n + PI * noise(n + t * 0.0005 + delay - i * 0.03);
rotate(angle);
rect(0, 0, s * o * i, s * o * i);
rotate(-angle);
}
}