xxxxxxxxxx
let gSize = 80;
let midLine = 0;
let showRefLines = false;
let sr = 0;
let sg = 0;
let sb = 0;
function setup() {
createCanvas(600, 600);
background(255);
noLoop();
}
function draw() {
background(255);
angleMode(DEGREES);
for (let i = 0; i < 8; i++) {
for (let j = 0; j < 8; j++) {
let dice = random(0, 1);
let rot = floor(random(4)) * 90;
let x = i * gSize;
let y = j * gSize;
push();
translate(x, y);
rotate(rot);
pattern();
pop();
}
}
}
function pattern() {
push();
translate(-gSize / 2, -gSize / 2);
// Draw a mini canvas for pattern
if (showRefLines) {
rect(0, 0, gSize, gSize);
}
strokeWeight(3);
stroke(sr, sg, sb);
noFill();
// Draw a different tessellation pattern
for (let i = 0; i < 2; i++) {
beginShape();
for (let angle = 0; angle < 360; angle += 60) {
let x = cos(angle) * (gSize / 2);
let y = sin(angle) * (gSize / 2);
vertex(x, y);
}
endShape(CLOSE);
rotate(30);
}
pop();
}
function keyPressed() {
if (key == 'r') {
draw();
}r
if (key == 's') {
save('test.jpg');
}
if (key == 't') {
sr = random(0, 255);
sg = random(0, 255);
sb = random(0, 255);
draw();
}
}