xxxxxxxxxx
94
let hue;
let scl = 60;
let distFact = scl / 20;
let canvSize = 1150;
let drawSize = 900;
function setup() {
createCanvas(canvSize, canvSize, P2D);
background(40);
rectMode(CENTER);
colorMode(HSL);
noFill();
hue = 60;
let grid = drawSize / scl;
let r1 = 950;
let r2 = 950 + random(100, 150);
push();
translate(width / 2, height / 2);
stroke(hue + random(-20, 20), random(30, 80), random(35, 60));
strokeWeight(random(canvSize / 200, canvSize / 100));
square(0, 0, r1, 50);
stroke(hue + random(-20, 20), random(30, 80), random(35, 60));
strokeWeight(random(canvSize / 200, canvSize / 100));
square(0, 0, r2, 50);
let n = r2 - r1;
strokeWeight(random(2,4));
let r = 955;
for (let i = 40; i < n-40; i += 40) {
stroke(hue + random(-20, 20), random(30, 80), random(35, 60));
square(0, 0, r + i, 50);
}
pop();
translate(
(canvSize - drawSize) / 2 + scl / 2,
(canvSize - drawSize) / 2 + scl / 2
);
for (let i = 0; i < grid; i++) {
for (let j = 0; j < grid; j++) {
push();
translate(i * scl, j * scl);
distortedRects();
pop();
}
}
save("squares");
noLoop();
}
function draw() {}
function rects() {
let r = random(scl / 8, scl / 6);
for (let i = 0; i < 4; i++) {
stroke(hue + random(-20, 20), random(30, 100), random(35, 80));
strokeWeight(random(scl / 60, scl / 15));
rect(0, 0, r);
r += random(scl / 8, scl / 3);
}
}
function distortedRects() {
let r = random(scl / 8, scl / 6);
for (let i = 0; i < 4; i++) {
stroke(hue + random(-20, 20), random(30, 100), random(35, 80));
strokeWeight(random(scl / 60, scl / 15));
let a = createVector(-0.5 * r, -0.5 * r);
let b = createVector(0.5 * r, -0.5 * r);
let c = createVector(0.5 * r, 0.5 * r);
let d = createVector(-0.5 * r, 0.5 * r);
a.x += random(-distFact, distFact);
a.y += random(-distFact, distFact);
b.x += random(-distFact, distFact);
b.y += random(-distFact, distFact);
c.x += random(-distFact, distFact);
c.y += random(-distFact, distFact);
d.x += random(-distFact, distFact);
d.y += random(-distFact, distFact);
beginShape();
vertex(a.x, a.y);
vertex(b.x, b.y);
vertex(c.x, c.y);
vertex(d.x, d.y);
endShape(CLOSE);
r += random(scl / 8, scl / 3);
}
}