亀甲文様を描く【p5.jsで和柄】
亀甲文様をp5.jsを使って描きます。
亀甲文様
亀甲文様は亀の甲羅を模した文様です。 正六角形を基本として、それを繋ぎ合わせた文様です。
作例


ソースコード
const w=720;
const N=10;
const d=w/N;
const setcol=[]
setcol[0]=["#ff5c8a", "#ffcad4"];
setcol[1]=["#e2cfc4", "#354f52"];
function setup() {
createCanvas(w, w);
strokeWeight(d/16);
col = random(setcol);
noLoop();
}
function draw() {
background(col[0])
for(let i=0;i<N*6/5+1;i++){
const y = d*5/6*i;
const dx = (i%2==1) ? d/2 : 0 ;
for(let j=0;j<N+1;j++){
const x = d*j;
push();
translate(x+dx, y);
pattern(0, 0, d);
pop();
}
}
}
function pattern(x, y, size){
const point = [];
for(let i=0;i<6;i++){
point[i] = [size/2 * cos(TWO_PI/6*i + PI/2),
size/2 * sin(TWO_PI/6*i + PI/2)];
}
push();
translate(x, y);
stroke(col[1]);
for(let i=0;i<5;i++){
line(...point[i], ...point[i+1]);
}
line(...point[5], ...point[0]);
pop();
}
六角形は頂点を計算して、lineで描き表しています。