土曜日, 3月 31, 2007

circle1

pointメソッドで円を描く。
processingにはellipse(x,y,width,height)で円を描くメソッドが存在するが、点線の円が描けない。

radians(angle)で度数法から弧度法に変換。その値をxはcosメソッド、yはsinメソッドに渡す。iの値を1ずつ増やす(つまり1度ずつ増やしていく)ことで点が集まり円になる。

size(200, 200);
smooth();
for(int i=0; i<360; i++) {
point(cos(radians(i))*50 + width/2,
sin(radians(i))*50 + height/2);
}

変数などを利用して円を描く構造をよりわかりやすくしたもの。
for文の中のupdate(繰り返しの度に評価される式)の値を変えること(今回は5ずつ増やしている)で点線を実現。

size(200, 200);
int x_offset = width/2;
int y_offset = height/2;
int radius = 50;
smooth();
for(int i=0; i<360; i+=5) {
point(cos(radians(i))*radius + x_offset,
sin(radians(i))*radius + y_offset);
}

0 件のコメント: