SSブログ

レムニスケート Lemniscate [見て楽しむ三角関数]

Scratchレムニスケートを描きます。8を横に倒したような曲線は色々ありますので、続けて紹介する予定です。

[レムニスケート]

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

最初に変数です。「高さ」はその名の通り、曲線をY座標方向に拡大するための変数です。その他はいつもと同様です。

[変数]

次に本体です。今回はペンの形をしたスプライトを表示して、ペンで曲線を描いているような効果を出しています。本体の最後の「隠す」は曲線が完成した後でペンを隠すための命令です。

[本体]

次に準備です。いつもと同じで、変数を初期化、開始点を計算して移動しています。最後の「表示する」でペンのスプライトを表示しています。

[準備]

描画中のペンはこのような表示になっています。

[レムニスケート描画中]


式はこうなっています。rは半径、aは倍率(大きさ)、θは角度です。
\[ r^2=2a^2\cos(2\theta) \] =の左側の半径が2乗されているのがいつもと違う点です。両辺の平方根を計算するといつものようにr=...の形式になります。
\[ r=\sqrt{2a^2\cos(2\theta)} \] プログラムではこちらを使って半径を計算し、さらに半径と角度からX座標とY座標を計算しています。

[計算]

移動はいつも通りです。

[移動]

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

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