let colors = [[255], [0]];
const N = random([32, 64]);
divide(width/2, 0, 0, N/2);
divide(width/2, width/2, 0, N/2);
divide(width/2, 0, width/2, N/2);
divide(width/2, width/2, width/2, N/2);
rect(width-s/2, 0, s/2, height);
rect(0, height-s/2, width, s/2);
function divide(size, x, y, n) {
if ((random() < 0.5) && (size > 2*s)) {
divide(size/2, x, y, n/2);
divide(size/2, x+size/2, y, n/2);
divide(size/2, x, y+size/2, n/2);
divide(size/2, x+size/2, y+size/2, n/2);
function makeSquare(n, x0, y0) {
for (let k = 0; k < n/2; k++) {
for (let i = k; i < n-k; i++) {
render(bit, i, k, x0, y0);
render(bit, i, n-k-1, x0, y0);
for (let j = k+1; j < n-k; j++) {
render(bit, k, j, x0, y0);
render(bit, n-k-1, j, x0, y0);
function render(bit, i, j, x0, y0) {
arc(x, y, s, s, 0, HALF_PI);
arc(x+s, y+s, s, s, PI, 3*HALF_PI);
arc(x+s, y, s, s, HALF_PI, PI);
arc(x, y+s, s, s, 3*HALF_PI, 0);
arc(x, y+s, s, s, 3*HALF_PI, 0);
arc(x+s, y, s, s, HALF_PI, PI);
arc(x, y, s, s, 0, HALF_PI);
arc(x+s, y+s, s, s, PI, 3*HALF_PI);