0x237047f8…29b1sent to0xdb9b1e94…7db3·#25,863,546·view on Etherscan
#954 Click to evolvedata:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyOC4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCA0IDQiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQgNDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6I0EwRTZERjt9DQo8L3N0eWxlPg0KPHJlY3Qgd2lkdGg9IjQiIGhlaWdodD0iNCIvPg0KPGcgaWQ9IkxheWVyXzEtMiI+DQoJPGc+DQoJCTxyZWN0IHg9IjEiIHk9IjEiIGNsYXNzPSJzdDAiIHdpZHRoPSIyIiBoZWlnaHQ9IjAuNCIvPg0KCQk8cmVjdCB4PSIxIiB5PSIxLjgiIGNsYXNzPSJzdDAiIHdpZHRoPSIyIiBoZWlnaHQ9IjAuNCIvPg0KCQk8cmVjdCB4PSIxIiB5PSIyLjYiIGNsYXNzPSJzdDAiIHdpZHRoPSIyIiBoZWlnaHQ9IjAuNCIvPg0KCTwvZz4NCjwvZz4NCjwvc3ZnPg0Kconst SIZE = 1000;
const ART = 500;
const OFFSET = 250;
const COLS = 5;
const ROWS = 5;
const CELL = ART / COLS;
const FORMS = 120;
let viewScale;
function setup() {
viewScale = min(min(windowWidth, windowHeight), SIZE) / SIZE;
createCanvas(SIZE * viewScale, SIZE * viewScale);
noLoop();
generate();
}
function draw() {}
function generate() {
background(0);
push();
scale(viewScale);
const points = [];
for (let y = 0; y <= ROWS; y++) {
points[y] = [];
for (let x = 0; x <= COLS; x++) {
const edge = x === 0 || x === COLS || y === 0 || y === ROWS;
points[y][x] = {
x: OFFSET + x * CELL + (edge ? 0 : random(-CELL * 0.25, CELL * 0.25)),
y: OFFSET + y * CELL + (edge ? 0 : random(-CELL * 0.25, CELL * 0.25)),
};
}
}
for (let i = 0; i < FORMS; i++) {
const x = floor(random(COLS));
const y = floor(random(ROWS));
const w = floor(random(1, 4));
const h = floor(random(1, 4));
if (x + w > COLS || y + h > ROWS) continue;
const a = points[y][x];
const b = points[y][x + w];
const c = points[y + h][x + w];
const d = points[y + h][x];
fill(random(155, 255), random(155, 255), random(155, 255));
stroke(0);
strokeWeight(2);
beginShape();
vertex(a.x, a.y);
vertex(b.x, b.y);
vertex(c.x, c.y);
vertex(d.x, d.y);
endShape(CLOSE);
}
pop();
}
function mousePressed() {
generate();
}