SSブログ

外サイクロイド Epicycloid [見て楽しむ三角関数]

Scratch外サイクロイドを描きます。

[外サイクロイド]

曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。

最初に変数です。上のWikipediaのリンクを見るとわかりますが、外サイクロイドは中心に大きな円があり、その外周を小さな円が回転する軌跡になっています。このため、中心の円の「半径大」と回転する円の「半径小」の二つの半径を変数として持っています。この二つの変数はスライダー表示にして画面上で変更できるようにしています。角度は三角関数に与える値です。XとYは曲線の座標に使います。

[変数]

次に本体です。角度を0.5度ずつ変化させながら描画し続けます。終了条件がないのは、開始座標に戻ってくる条件(=終了条件)が半径大と半径小の値によって異なるからです。

[本体]

次に準備です。変数の初期設定、ペンの設定、開始座標の計算、開始座標への移動を行なっています。

[準備]

式はこうなっています。Rは「半径大」、rは「半径小」、θは角度です。
\[ x=(R+r)\cos(\theta)-r\cos\left(\frac{R+r}{r}\theta\right) \\
y=(R+r)\sin(\theta)-r\sin\left(\frac{R+r}{r}\theta\right) \] この式はスピログラフによく似ています。見比べてみてください。

外サイクロイドの式をプログラムにすると次のようになります。X座標の計算とY座標の計算はそれぞれ一行に書くこともできますが、画面からはみ出すので分割しています。

[計算]

移動はいつも通りです。

[移動]

完成版はこちら
nice!(0)  コメント(0) 
共通テーマ:日記・雑感

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。