xxxxxxxxxx
let gSize = 90; //gridsize
let midLine =0; //middle of grid
let showRefLines = false; //toggle off or on the grid
//pattern color variables
let r = 0;
let g = 0;
let b = 0;
//background color variables
let rr = 255;
let gg = 255;
let bb = 255;
function setup() {
createCanvas(600,600);
noLoop();
}
function draw() {
background (rr, gg, bb);
angleMode(DEGREES);
for(let i =0; i<9; i++){
for (let j = 0; j<9; j++){
let dice = random(0,1);
let rot = 0;
if (dice >0 && dice < 0.25){
rot =0;
} else if (dice > 0.25 && dice < 0.5){
rot = 90;
} else if (dice > 0.5 && dice < 0.75){
rot = 180;
} else if (dice >0.75 && dice < 1){
rot = 270;
}
let x = i*gSize;
let y = j*gSize;
push();
translate(x,y); //traslate chnages the start position
rotate(rot); // rotate the angle based on the dice value
pattern(); //calling the pattern function
pop();
}
}
}
function pattern(){
push();
// this ensures the grid is full removing it will lead to spaces in the grid
translate(-gSize/2, -gSize/2);
midLine = gSize/2;
noFill();
//GRID LINES
if (showRefLines == true){
rect(0,0,gSize,gSize);
stroke(255,0,0);
//Middle Horizontal Line
line(0,midLine,gSize,midLine)
//Middle Vertical Line
line(midLine,0, midLine, gSize);
}
//UNIQUE PATTERN
strokeWeight(9);
stroke(r, g, b); //this sets it to black
noFill();
beginShape();
// vertex(0,midLine);
vertex(midLine/2, midLine/2);
vertex(midLine, 0);
vertex(midLine/2,0);
endShape();
beginShape();
vertex(midLine, 0);
vertex(midLine+midLine/2,midLine/2);
vertex(gSize,midLine);
vertex(midLine, gSize);
endShape();
beginShape();
vertex(0,midLine);
vertex(midLine/2, gSize);
vertex(midLine,gSize);
endShape();
pop();
}
function keyPressed() {
//redo
if(key == 'a') {
draw();
}
//save image
if(key == 'i') {
save('test.jpg');
}
//pattern color
if(key == 'c') {
r = random(0, 255);
g = random(0, 255);
b = random(0, 255);
draw();
}
//background color
if(key == 'b') {
rr = random(0, 255);
gg = random(0, 255);
bb = random(0, 255);
draw();
}
}