xxxxxxxxxx
var sz; // Size of each hexagon
var stCl; // Stroke color
var gap; // Gap between hexagons
function setup() {
createCanvas(600, 600);
sz = 80; // Altıgenin kenar uzunluğu
stCl = '#000000';
gap = 5;
noLoop();
}
function draw() {
background(240, 238, 235); // light beige background
push();
translate(50, 50);
for (var j = 0; j < 5; j++) {
for (var k = 0; k < 5; k++) {
push();
// Altıgenlerin kayarak dizilmesi için satır ve sütun yerleşimini düzenliyoruz
var xOffset = (j % 2) * sz * 0.87;
translate((sz * 1.5 + gap) * j + xOffset, (sz * 1.732 + gap) * k);
drawHexagons();
pop();
}
}
pop();
}
function drawHexagons() {
noFill();
stroke(stCl);
for (var i = 0; i < 8; i++) {
var chanceFac = random(0, 1);
if (chanceFac < 0.7) {
strokeWeight(random(1, 3));
drawHexagon(0, 0, sz - 8 * i);
} else {
fill(150, random(100, 200), random(100, 255), 100); // soft random color fill
drawHexagon(0, 0, sz - 8 * i);
noFill();
}
}
}
// Altıgen çizen fonksiyon
function drawHexagon(x, y, radius) {
beginShape();
for (var a = 0; a < TWO_PI; a += PI / 3) {
var sx = x + cos(a) * radius;
var sy = y + sin(a) * radius;
vertex(sx, sy);
}
endShape(CLOSE);
}
function keyPressed() {
if (key == 'r') {
draw();
}
if (key == 's') {
saveCanvas('test_hexagon.jpg');
}
}