まずはシンプルに ( 0, 0 ) に円を描いて回転させる。
t1 = Turtle ! create. t1 ! 50 circle. shape1 = t1 ! makefigure. // mark initial position shapeOrg = shape1 ! create (blue) paint. // rotate shape. [ shape1 ! create. shape1 ! 60 rightturn. ] ! 6 repeat. t1 ! penup movetocenter.
円の描き始め(円の上側)を中心に回転していることがわかる。
次は直線に続いて円を描いた後で回転させる。
直線部分の描き始めである ( 0, 0 ) を中心に回転している。
次は、最初の直線部はペン上げして移動するだけにする。
ペン上げして移動した部分は無視されて、ペン下げして円を描き始めた時の位置 ( 100, 0 ) が中心になっている。
次は、ペン下げしたまま移動し、ペン上げしてさらに移動してからペン下げして円を描く。
今度は最初の線の描き始めの位置 ( 0, 0 ) が中心になり、途中のペン上げ部分を含めて全体が回転している。
つまり、
- 最初にペン下げして描き始めたところが回転中心になる。
- 途中にペン上げ区間があっても描き始めから makeFigure するまでが1図形
ダメ押しで、ペン上げ移動→ペン下げ移動→ぺン上げ移動→円描画。
t1 = Turtle ! create. t1 ! penup 50 forward 50 pendown 50 forward penup 50 forward pendown 50 4 circle. ...
やはり最初にペン下げして描画した位置(今回は ( 50, 0 ) )を中心に回転していることがわかる。
0 件のコメント:
コメントを投稿