html, body {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body {
  background: #292a33;
  overflow: hidden;
}
let seen;

function setup() {
  createCanvas(windowWidth, windowHeight);

  seen = {};

  drawCircle(10, 0, 0);
}

function createKey(x, y) {
  return x + " " + y;
}

function drawCircle(n, x, y) {
  const key = createKey(x, y);
  if (seen[key]) return;
  seen[key] = true;

  if (n === 0) {
    return;
  }

  circle(x, y, 40);
  drawCircle(n - 1, x + 100, y);
  drawCircle(n - 1, x, y + 100);
}

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

  1. https://cdn.jsdelivr.net/npm/[email protected]/lib/p5.min.js