xxxxxxxxxx
85
function setup() {
createCanvas(600, 400);
frameRate(1);
angleMode(DEGREES);
}
function draw() {
background(220);
let n = 10;
let w = width / n;
for (let y = 0; y < height; y += w) {
for (let x = 0; x < width; x += w) {
polukrug(x, y, w);
// grid(x, y, w);
}
}
}
function polukrug(x, y, w) {
strokeWeight(3);
stroke(0);
noFill();
let r = random(-1, 1);
let w2 = w / 2;
if (r < -0.5) {
arc(x, y, w, w, 0, 90);
arc(x + w, y + w, w, w, 180, 270);
} else if ((r >= -0.5) && (r < 0)) {
arc(x, y + w, w, w, 270, 360);
arc(x + w, y, w, w, 90, 180);
} else if ((r >= 0) && (r < 0.3)) {
arc(x, y, w, w, 0, 90);
arc(x + w, y + w, w, w, 180, 270);
arc(x, y + w, w, w, 270, 360);
arc(x + w, y, w, w, 90, 180);
} else if ((r >= 0.3) && (r < 0.4)) {
line(x, y + w2, x + w2, y);
line(x + w2, y + w, x + w, y + w2);
} else if ((r >= 0.4) && (r < 0.5)) {
line(x + w2, y, x + w, y + w2);
line(x, y + w2, x + w2, y + w);
} else if ((r >= 0.5) && (r < 0.6)) {
line(x, y, x + w, y + w);
} else if ((r >= 0.6) && (r < 0.7)) {
line(x + w, y, x, y + w);
} else if ((r >= 0.7) && (r < 0.8)) {
line(x + w2, y, x + w2, y + w);
} else if ((r >= 0.8) && (r < 0.9)) {
line(x, y + w2, x + w, y + w2);
} else if ((r >= 0.9) && (r <= 1)) {
line(x + w2, y, x + w2, y + w);
line(x, y + w2, x + w, y + w2);
}
}
function grid(x, y, w) {
stroke(0, 100, 255);
strokeWeight(1);
noFill();
square(x, y, w);
}