Skip to content

Recursive Pythagorean gasket

A recursive version of the Pythagorean gasket shown by DaniLaura on Mastodon.

Click to regenerate (might be a bit laggy).

A fractal of circles, where the smallest circles look like cherry blossoms on a white tree.

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)

Experiments tagged p5 (80/85)

Experiments tagged fractal (3/3) →|

Experiments on this site (80/85)