xxxxxxxxxx
60
function setup() {
createCanvas(500, 500);
background(22);
strokeWeight(3);
stroke(220);
angleMode(DEGREES);
const w = sqrt(sq(width) + sq(height));
// 三平方の定理で左端に寄せてる
push();
translate(width/2,height/2);
rotate(45);
translate(-w/2,-w/2);
test(w);
pop();
}
function draw() {
}
function test(w) {
let cells = int(random(6,8));
let d = w / cells;
for(let i =0;i<cells;i++){
for(let j = 0;j<cells;j++){
let x = i*d;
let y = j*d;
if(random() >0.5){
//line(x,y,x+d,y+d);
test2(x,y,x-d,y+d);
}else{
test2(x+d,y,x,y+d);
//line(x+d,y,x,y-d);
}
}
}
}
function test2(x,y,xx,yy){
const dis = dist(x,y,xx,yy);
let angle = atan2(yy-y,xx-x);
//yとxの差を計算
push();
translate(x,y);
//rotate(angle);
//line(0,0,dis,0);
// この距離間で作業できるから複数の絵が描けそう
let n = 0;
while(n<dis){
push();
translate(n/2,0);// なにこれ?
rotate(n); //なんでこうなった?
circle(n,0,n/2);
n+=10;
pop();
}
pop();
}