xxxxxxxxxx
/***********************************
* dailycoding - 20250129 / graphic
* by E.C.H (Eiichi Ishii)
***********************************/
let w, g;
let cp = ["#313E4C", "#4E4D5E", "#E1DCB7", "#D4B933", "#EB442F"];
let num = 30;
function setup() {
w = min(windowWidth, windowHeight);
createCanvas(w, w);
angleMode(DEGREES);
rectMode(CENTER);
noLoop();
g = w / 4;
}
function draw() {
background(255);
for (let h = 0; h < num; h++) {
stroke(0);
strokeWeight(random(1, g / 40));
noFill();
bezier(
random(w),
random(w),
random(w),
random(w),
random(w),
random(w),
random(w),
random(w)
);
}
for (let x = g / 2; x <= w - g / 2; 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));
for (let i = 0; i < 20; i++) {
let er = random(g / 8, g / 2);
fill(random(cp));
noStroke();
rect(
random(-g / 2 + er / 2, g / 2 - er / 2),
random(-g / 2 + er / 2, -er / 2),
er,
er / 2
);
ellipse(
random(-g / 2 + er / 2, g / 2 - er / 2),
random(er / 2, g / 2 - er / 2),
er,
er
);
stroke(0);
noFill();
let z = random(g / 80, g / 10);
for (let i = 0; i < 4; i++) {
strokeWeight(random(g / 80));
stroke(random([0, 255]));
let rr = g / 2;
rect(random(-z, z), random(-z, z), rr, rr, random([0, rr / 2]));
}
}
pop();
}
}
let rw = w/10;
rakkan(rw/2.5, w-rw/1.25, rw, 0);
}
function rakkan(posx, posy, r, csw) {
push();
randomSeed(4247);
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();
}