boxの次はやっぱりcircleメソッド
boxコマンドのようなものがが使えれば、circleコマンドも欲しくなる。前にpsetコマンドを使って円を描いてみたのだが、これだと点の間がつながらない。そこでlineメソッドと同じ方法で点の間を線で結ぶという方法を考えてみた。
使い方はこうだ。
描画! (中心のx座標)(中心のy座標)(半径)(表示色)(線の太さ) circle
円の周りに円を描くスピログラフというのがある。circleメソッドのテストに、このスピログラフを作ってみる。
//circleメソッドテスト(SpiroGraph-1)
描画:circle=[|x y r color size|
f=6. d=0. [d<360]!の間[タートル! 作る (size)線の太さ 消える ペンなし (r*cos(d)+x)(r*sin(d)+y)位置 ペンあり (r*cos(d+f)+x)(r*sin(d+f)+y)位置 図形にする (color)塗る. d=d+f]実行
].
半径=100.
角度=0.
[角度<360]!の間[
x=半径*cos(角度).
y=半径*sin(角度).
描画! (x)(y)(半径*0.5)(青)(1) circle.
角度=角度+10
]実行.
//--------- ここまで ----------

//circleメソッドテスト(SpiroGraph-2)
描画:circle=[|x y r color size|
f=6. d=0. [d<360]!の間[タートル! 作る (size)線の太さ 消える ペンなし (r*cos(d)+x)(r*sin(d)+y)位置 ペンあり (r*cos(d+f)+x)(r*sin(d+f)+y)位置 図形にする (color)塗る. d=d+f]実行
].
半径=100.
角度=0.
[角度<360]!の間[
x=半径*cos(角度).
y=半径*sin(角度).
描画! (x)(y)(半径*random(10)/5)(赤)(1) circle.
角度=角度+60
]実行.
//--------- ここまで ----------

0 Comments:
コメントを投稿
<< Home