xxxxxxxxxx
function setup() {
createCanvas(800, 800);
noLoop();
angleMode(DEGREES);
}
function draw() {
background(255);
let tileSize = 100;
for (let x = 0; x < width; x += tileSize) {
for (let y = 0; y < height; y += tileSize) {
// random rotation angle
let angle = random(360);
// center the tile
let centerX = x + tileSize / 2;
let centerY = y + tileSize / 2;
// Random shape
let shapeType = floor(random(3));
// Fill random color
fill(random(255), random(255), random(255));
// random size shape
let shapeSize = random(tileSize * 0.5, tileSize * 0.8);
push();
translate(centerX, centerY); // Move the origin to the center of the tile
rotate(angle); // random angle
// Draw shape random size and rotation
switch (shapeType) {
case 0:
// Draw rectangle random size
rectMode(CENTER);
rect(0, 0, shapeSize, shapeSize);
break;
case 1:
// Draw ellipse random size
ellipseMode(CENTER);
ellipse(0, 0, shapeSize, shapeSize);
break;
case 2:
// Draw triangle random size
const triHeight = shapeSize * cos(60);
triangle(
0, -triHeight / 2,
-shapeSize / 2, triHeight / 2,
shapeSize / 2, triHeight / 2
);
break;
}
pop();
}
}
}