xxxxxxxxxx
let colors = ['#32525b', '#0087b1', '#0770e3', '#01abf4', '#e93933', '#f97cab', '#fedaeb', '#fafbf9', '#FDD631'];
let seg = 9;
function setup() {
createCanvas(2000, 1100);
rectMode(CENTER);
imageMode(CENTER);
background(0);
noStroke();
let w = width / seg;
for (let i = 0; i < seg; i++) {
for (let j = 0; j < seg; j++) {
let x = i * w + w / 2;
let y = j * w + w / 2;
drawGrfx(x, y, w, 1);
drawGrfx(x, y, w, 0);
}
}
}
function draw() {
}
function drawGrfx(x, y, w, t) {
let pg = createGraphics(w, w);
let hw = w/2;
pg.shuffle(colors, true);
pg.background(colors[0]);
pg.push();
pg.translate(hw, hw);
pg.noStroke();
for (let i = 0; i < 4; i++) {
pg.rotate(PI * 0.5);
pg.fill(colors[1 + i]);
pg.triangle(0, 0, w * 0.25, w * 0.5, -w * 0.25, w * 0.5);
}
pg.stroke(0);
if (t == 0) {
let r = random(0.2, 0.8)*hw;
pg.erase();
pg.beginShape();
pg.vertex(-hw, -hw);
pg.vertex(-hw, hw);
pg.vertex(hw, hw);
pg.vertex(hw, -hw);
pg.beginContour();
for (let a = 0; a < TAU; a += TAU / 360) {
pg.vertex(r * cos(a), r * sin(a));
}
pg.endContour();
pg.endShape();
}
pg.pop();
image(pg, x, y);
}