xxxxxxxxxx
43
// grid with a shape in each cell
// shape consists of 8 vertices placed in random positions
// last (8th) vertex connects back to original
let w = 1000
let h = 1000
let scl = 20;
let gap = scl / 4;
let cols;
let rows;
let margin = 20;
function setup() {
createCanvas(800, 800);
cols = (w - margin * 2) / scl;
rows = (h - margin * 2) / scl;
}
function draw() {
background(255);
noLoop();
for (let y = 0; y < rows; y += gap) {
for (let x = 0; x < cols; x += gap) {
strokeWeight(1.5);
stroke(10);
noFill();
let startPointX = Math.floor(random(1, 20) + x * scl) + margin + gap;
let startPointY = Math.floor(random(1, 20) + y * scl) + margin + gap;
beginShape();
vertex(startPointX, startPointY);
for (i = 0; i < 8; i++) {
curveVertex(
(Math.floor(random(1, 10)) * 5) + x * scl + margin + gap,
(Math.floor(random(1, 10)) * 5) + y * scl + margin + gap
);
}
vertex(startPointX, startPointY);
endShape();
}
}
}