w = min(windowWidth, windowHeight);
for (let i = 0; i < num; i++) {
translate(random(-w / 4, w + w / 4), random(-w / 4, w + w / 4));
let r = random(w / 4, w / 2);
let v = int(random(1, 5)) * 10;
for (let rr = r; rr >= 0; rr -= r / v) {
rect(rr, 0, r, rr, r / 3);
rakkan(rw/2.5, w-rw/1.25, rw, 0);
function rakkan(posx, posy, r, csw) {
rect(0, 0, r / 1.4, r * 1.5, r / 5);
for (let i = 0; i < 10; i++) {
let z = random(lr / 20, lr / 2);
vertex(nr / 2 + random(-z, z), -nr / 2 + random(-z, z));
vertex(random(-z, z), -nr / 2 + random(-z, z));
vertex(-nr / 2 + random(-z, z), random(-z, z));
vertex(random(-z, z), nr / 2 + random(-z, z));
vertex(nr / 2 + random(-z, z), nr / 2 + random(-z, z));
vertex(-nr / 2 + random(-z, z), random(-z, z));
vertex(nr / 2 + random(-z, z), random(-z, z));
vertex(nr / 2 + random(-z, z), -nr / 2 + random(-z, z));
vertex(random(-z, z), -nr / 2 + random(-z, z));
vertex(-nr / 2 + random(-z, z), random(-z, z));
vertex(random(-z, z), nr / 2 + random(-z, z));
vertex(nr / 2 + random(-z, z), nr / 2 + random(-z, z));
vertex(nr / 2 + random(-z, z), -nr / 2 + random(-z, z));
vertex(-nr / 2 + random(-z, z), nr / 2 + random(-z, z));
vertex(-nr / 2 + random(-z, z), -nr / 2 + random(-z, z));
vertex(-nr / 2 + random(-z, z), nr / 2 + random(-z, z));
vertex(nr / 2 + random(-z, z), -nr / 2 + random(-z, z));
vertex(nr / 2 + random(-z, z), nr / 2 + random(-z, z));
vertex(-nr / 2 + random(-z, z), random(-z, z));
vertex(nr / 2 + random(-z, z), random(-z, z));
vertex(nr / 2 + random(-z, z), -nr / 2 + random(-z, z));
vertex(-nr / 2 + random(-z, z), nr / 2 + random(-z, z));