Square spiral
function setup() {
createCanvas(400, 400);
angleMode(DEGREES)
seed = random(1000000)
}
let seed = 4031
function draw() {
randomSeed(seed)
background(random(220,255),random(220,255),random(220,255))
stroke(random(100),random(100),random(100))
translate(200, 200)
let r = frameCount * random(40, 80) - random(6000)
let l = frameCount * random(60, 200)
let s = random(1.7, 6)
let sm = random(0.95, 1.02)
let lm = (random() < 0.6 ? 2 : random(2))
let ld = random(60)
let rm = random(0.1, 2)
rotate(90 * random([0,1,2,3]))
for (let i = 180; i > 2 && l > 0 && s > 0.1; i -= s) {
rotate(90)
translate(s, -s)
s *= sm
if (r < i*2 && l > 0) {
line(i, -i+max(min(i*2, r), 0), i, -i+min(l, i*2))
}
l -= i * lm + ld
r -= i * rm
}
if (r > 100 && l > 0 || r > l) {
frameCount = 0
seed++
}
}(Originally seen at https://editor.p5js.org/bojidar-bg/sketches/fiNEnGZ_F and https://mastodon.social/@bojidar_bg/113874008491953009)
Browse more articles?
← Gradient gears Experiments tagged p5 (25/85) Glitch butterfly →
← Gradient gears Experiments on this site (25/85) Glitch butterfly →