Recursive Pythagorean gasket
A recursive version of the Pythagorean gasket shown by DaniLaura on Mastodon.
Click to regenerate (might be a bit laggy).
function setup() {
let c = createCanvas(800, 800);
c.mouseClicked(setup)
noFill()
background(150, 230, 240);
gasket2(400, 400, 700)
}
function gasket2(x, y, r) {
push()
if (r < 2.5) {
noStroke()
// strokeWeight(sqrt(r / 400))
fill(255, 120, 120, 90)
circle(x, y, r)
} else {
translate(x, y)
//rotate(frameCount * 0.01)
rotate(random(TAU))
fill(255, 255, 255, 130)
strokeWeight(sqrt(r / 400))
circle(0, 0, r)
gasket2(0, - r/4, r / 2)
gasket2(0, + r/4, r / 2)
gasket2(- r/3, 0, r / 3)
gasket2(+ r/3, 0, r / 3)
gasket2(- r/3, - r/4, r / 6)
gasket2(+ r/3, - r/4, r / 6)
gasket2(- r/3, + r/4, r / 6)
gasket2(+ r/3, + r/4, r / 6)
}
pop()
}(Originally seen at https://editor.p5js.org/bojidar-bg/sketches/wf3p1YBsK)
Browse more articles?
← Morphing grid Experiments tagged p5 (80/85) Circle shifting →
← Rotating fractal Experiments tagged fractal (3/3) →|
← Morphing grid Experiments on this site (80/85) Circle shifting →