SSブログ

蛇状曲線 Serpentine Curve [見て楽しむ三角関数]

Scratch蛇状曲線を描きます。

103-SerpentineCurve.png

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

まず変数です。これらの変数を使って座標を繰り返し計算して、曲線を描画します。

103-vars.png

cotは三角関数の一種cotangentの計算結果を保存しておくための変数です。

本体はこうなっています。6本の曲線を描くため二重ループになっていて、内側の繰り返しで曲線を一本描画します。

103-main.png

曲線を一本描くごとにbの値を増やしています。bはY座標の計算に使い、bの値を増やすと曲線が上下方向に広がります。

次に初期設定です。プログラムを実行するときに一度だけ呼び出され、変数とペンを初期化しています。

103-init.png

次に準備です。曲線一本を描く前に呼び出され、曲線の開始座標を計算し、その座標に移動しています。

103-prep.png

次に計算ブロックです。三角関数と角度を使って曲線のX座標とY座標を計算します。

103-calc.png

この計算ブロックは次の式をScratchで実装したものです。今回は極座標方程式ではないので半径(r)は使いません。
\[ x = a\cot(\theta) \\
y = b\sin(\theta)\cos(\theta) \] 最初に呼び出しているcotの計算式は次のとおりです。
\[ \cot(\theta) = \frac{\cos(\theta)}{\sin(\theta)} \] Scratchで実装するとこうなります。

cotangent-generic.png

移動はいつも通りです。

move-generic.png

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

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

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