xxxxxxxxxx
let kenarUzunlugu = 80;
function setup() {
createCanvas(600, 600);
background(0);
// Ortalığı şenlendirmek için loop'u kaldır ;) //
noLoop();
}
function draw() {
background(0);
angleMode(DEGREES);
// 10x10 matrixinde döngüler için:
for (let i = 0; i < 10; i++) {
for (let j = 0; j < 10; j++) {
// Her bir karenin pozisyon ayarlaması için:
let x = i * kenarUzunlugu;
let y = j * kenarUzunlugu;
push();
translate(x, y);
rotate(random(0, 360));
let renk = color(random(255), random(255), random(255));
ozelDesen(renk);
pop();
}
}
}
// Özel deseni çizmek için:
function ozelDesen(renk) {
noFill();
stroke(renk);
strokeWeight(3);
// Rastgele bir şekil seçmek için:
let secim = floor(random(4));
switch (secim) {
case 0:
// Kare için:
rectMode(CENTER);
rect(0, 0, kenarUzunlugu, kenarUzunlugu);
break;
case 1:
// Daire için:
ellipse(0, 0, kenarUzunlugu, kenarUzunlugu);
break;
case 2:
// Üçgen için:
beginShape();
vertex(-kenarUzunlugu / 2, -kenarUzunlugu / 2);
vertex(kenarUzunlugu / 2, -kenarUzunlugu / 2);
vertex(0, kenarUzunlugu / 2);
endShape(CLOSE);
break;
case 3:
// Çarpı için:
line(-kenarUzunlugu / 2, -kenarUzunlugu / 2, kenarUzunlugu / 2, kenarUzunlugu / 2);
line(kenarUzunlugu / 2, -kenarUzunlugu / 2, -kenarUzunlugu / 2, kenarUzunlugu / 2);
break;
default:
break;
}
}
// Fare tıklamasında tekrar çizdirmek için:
function mousePressed() {
redraw();
}
// Klavye tıklamasında mevcut deseni kaydetmek için:
function keyPressed() {
if (key == 's') {
save('tessellation.like.raveparty.jpg');
}
}