螺旋 と 広がる円
十進BASIC_グラフィックス に戻る
大学生のための数学 へ戻る
2013.02.17


       

 10 DEF x = (t/PI) * COS(t)
 20 DEF y = (t/PI) * SIN(t)
 30 SET WINDOW -5.2, 5.2, -4.2, 5.2
 40 DRAW grid
 50 WAIT DELAY 1
 60 FOR t = 0.0 TO 5*PI STEP 0.05
 70   PLOT LINES: x, y ;
 80   WAIT DELAY 1/100
 90 NEXT t
 100 END



  この十進BASIC のプログラムは、 次のような観察者が観察した 次のような移動をしている点P の軌道を描いています。 ただし、 時間を少し早回しにしています。

  観察者は、 原点で時計回りに角速度の大きさ  で回転しています。 時刻 秒 のとき、 観察者は 軸 と 軸 からなる直交座標系に正対しています。

  軸上の点P は等速直線運動をしていて、 時刻 秒 に次の座標に存在します。
     

  時計回りに回転している回転座標系への座標変換を用いると、 点P は次のように座標変換されます。
     
     
  この式は が定数の場合は 円のグラフ を表しますが、 は次第に大きくなりますので、 この式は 点から次第に広がっていく円のアニメーション を表します。

半径5 の円のグラフを描くプログラムは、 次のようになります。
     10 DEF x = 5 * COS(t)
     20 DEF y = 5 * SIN(t)
     30 SET WINDOW -5.2, 5.2, -5.2, 5.2
     40 DRAW grid
     50 FOR t = 0.0 TO 2*PI STEP 0.01
     60   PLOT LINES: x, y ;
     70 NEXT t
     80 END

また、 次第に広がる円のアニメーションのプログラムは、 次のようになります。
     10 SET WINDOW -5.2, 5.2, -5.2, 5.2
     20 DRAW grid
     30 WAIT DELAY 1
     40 FOR r = 0 TO 4.95 STEP 0.05
     50   SET LINE COLOR 1
     60   DRAW circle WITH SCALE(r)*SHIFT(0,0)
     70   WAIT DELAY 1/10
     80   SET LINE COLOR 0
     90   DRAW circle WITH SCALE(r)*SHIFT(0,0)
     100 NEXT r
     110 DRAW grid
     120 SET LINE COLOR 1
     130 DRAW circle WITH SCALE(5)*SHIFT(0,0)
     140 END


  < コピぺ用の小窓 >
JavaScript + html のプログラム:  

プログラムの内容 :