let proportionOfWhite = 0.618;
let topLeftToBottomRight = true;
colorMode(HSB, 360, 100, 100, 100);
background(0, 0, 100, 100);
crossPoint = createVector(random(width), random(height));
delta = 5 * random(1) * random(1);
if (topLeftToBottomRight){
if (random(1) > proportionOfWhite){
fill(randomColor(proportionOfWhite));
rect(0, 0, crossPoint.x, crossPoint.y)
fill(randomColor(proportionOfWhite));
rect(crossPoint.x, crossPoint.y, width, height);
cross(crossPoint, delta);
topLeftToBottomRight = false;
fill(randomColor(proportionOfWhite));
rect(crossPoint.x, 0, width, crossPoint.y)
fill(randomColor(proportionOfWhite));
rect(0, crossPoint.y, crossPoint.x, height);
cross(crossPoint, delta);
topLeftToBottomRight = true;
function randomColor(proportionOfWhite){
let palette = [10, 50, 210];
if (random(1) > proportionOfWhite){
return color(palette[int(random(3))], 100, 100, random(1) * random(100));
return color(0, 0, 100, random(100));
function cross(crossPoint, thickness){
line(0, crossPoint.y, width, crossPoint.y);
line(crossPoint.x, 0, crossPoint.x, height);