xxxxxxxxxx
// make accessible for DPD 2025: Complexity I
// schien@mail.ncku.edu.tw
// recreation of demos in the book "Generative Design" (http://www.generative-gestaltung.de/1/)
// P.2.1.3
// Complex modules in a grid: lines
// based on P_2_1_3_02.pde
// interactions
// Mouse: click: regen
// Keys: s: save png
//
// For DPD 2023: Emergence in a grid
// schien@mail.ncku.edu.tw, 20230425
let tileCount = 6;
let lineCount = 6;
function setup() {
createCanvas(500, 500);
}
function draw() {
let tileWidth = width/tileCount;
background(255);
strokeWeight(0.5);
for (let gridY=0; gridY<tileCount; gridY++) {
for (let gridX=0; gridX<tileCount; gridX++) {
let x1 = tileWidth/2;
let y1 = tileWidth/2;
let x2 = 0;
let y2 = 0;
push();
translate(tileWidth*gridX, tileWidth*gridY);
for (let side=0; side<4; side++) {
for (let i=0; i<lineCount; i++) {
switch (side) {
case 0:
x2 += tileWidth/lineCount;
y2 = 0;
break;
case 1:
x2 = tileWidth;
y2 += tileWidth/lineCount;
break;
case 2:
x2 -= tileWidth/lineCount;
y2 = tileWidth;
break;
case 3:
x2 = 0;
y2 -= tileWidth/lineCount;
break;
}
line(x1, y1, x2, y2);
}
}
pop();
}
}
}
function keyPressed() {
if (key === 's' || key === 'S') {
save('tiles.png');
}
}