xxxxxxxxxx
/***********************************
* dailycoding - 20250413 / graphic
* by E.C.H (Eiichi Ishii)
***********************************/
let w, g;
let cp = ["#EA276C", "#537E98", "#35B2B0", "#96C84C", "#FE6F17"];
function setup() {
w = min(windowWidth, windowHeight);
createCanvas(w, w);
angleMode(DEGREES);
rectMode(CENTER);
strokeCap(SQUARE);
strokeJoin(ROUND);
noLoop();
g = w / 4;
}
function draw() {
background(255);
for (let x = g / 2; x <= w; x += g) {
let ady = random(-g, g);
for (let y = -g * 2; y <= w + g * 2; y += g) {
push();
translate(x, y + ady);
rotate(random(360));
let v = random([1, 2]);
let sg = g / v;
for (let sx = -g / 2 + sg / 2; sx <= g / 2; sx += sg) {
for (let sy = -g / 2 + sg / 2; sy <= g / 2; sy += sg) {
push();
translate(sx, sy);
let cr = sg / 3;
let mc = random(cp);
noStroke();
for (let i = 0; i < 200; i++) {
let a = random(360);
let pm = random([-1, 1]);
let mr = pm + random(random(random(1)));
let pr = random(sg / 10);
fill(random([0, mc, random(cp)]));
rect(
mr * cr * cos(a),
mr * cr * sin(a),
random([pr / 2, pr, pr * 2]),
random([pr / 2, pr, pr * 2])
);
}
noFill();
for (let j = 0; j < 2; j++) {
push();
rotate(int(random(4)) * 90);
stroke(random([0, random(cp)]));
strokeWeight(random(sg / 60, sg / 30));
/*
line(
-sg / 2,
random(-sg / 2, sg / 2),
sg / 2,
random(-sg / 2, sg / 2)
);
*/
bezier(
-sg / 2,
random(-sg / 2, sg / 2),
-sg / 4,
random(-sg / 2, sg / 2),
sg / 4,
random(-sg / 2, sg / 2),
sg / 2,
random(-sg / 2, sg / 2)
);
pop();
}
pop();
}
}
pop();
}
}
let rw = w/10;
rakkan(rw/2.5, w-rw/1.25, rw, 0);
}
function rakkan(posx, posy, r, csw) {
push();
randomSeed(9949);
translate(posx, posy);
rectMode(CENTER);
let nr = r / 2.5;
let lr = r / 20;
if (csw == 0) {
fill("#e2041b");
noStroke();
} else if (csw == 1) {
noFill();
stroke("#e2041b");
strokeWeight(lr / 4);
}
rect(0, 0, r / 1.4, r * 1.5, r / 5);
if (csw == 0) {
stroke(255);
} else if (csw == 1) {
fill(255);
stroke("#e2041b");
}
strokeWeight(lr / 1.5);
noFill();
for (let i = 0; i < 10; i++) {
let z = random(lr / 20, lr / 2);
push();
push();
translate(0, -nr);
beginShape();
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));
endShape();
beginShape();
vertex(-nr / 2 + random(-z, z), random(-z, z));
vertex(nr / 2 + random(-z, z), random(-z, z));
endShape();
pop();
push();
translate(0, 0);
beginShape();
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));
endShape();
strokeWeight(lr / 3);
beginShape();
vertex(nr / 2 + random(-z, z), -nr / 2 + random(-z, z));
vertex(-nr / 2 + random(-z, z), nr / 2 + random(-z, z));
endShape();
pop();
push();
translate(0, nr);
beginShape();
vertex(-nr / 2 + random(-z, z), -nr / 2 + random(-z, z));
vertex(-nr / 2 + random(-z, z), nr / 2 + random(-z, z));
endShape();
beginShape();
vertex(nr / 2 + random(-z, z), -nr / 2 + random(-z, z));
vertex(nr / 2 + random(-z, z), nr / 2 + random(-z, z));
endShape();
beginShape();
vertex(-nr / 2 + random(-z, z), random(-z, z));
vertex(nr / 2 + random(-z, z), random(-z, z));
endShape();
strokeWeight(lr / 3);
beginShape();
vertex(nr / 2 + random(-z, z), -nr / 2 + random(-z, z));
vertex(-nr / 2 + random(-z, z), nr / 2 + random(-z, z));
endShape();
pop();
pop();
}
pop();
}
function keyPressed() {
redraw();
}