SSブログ

マルタ十字曲線 Maltese Cross Curve [見て楽しむ三角関数]

Scratchマルタ十字曲線を描きます。

MalteseCrossCurve.png

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

まず変数です。

Maltese-variables.png

とくに変わったものはありません。「大きさ」と「倍率」は曲線の大きさを決めます。描画中に倍率の値が変わると曲線が崩れてしまうので、画面上でスライダーを使って設定した「大きさ」を初期設定で「倍率」に設定して使っています。仮に描画中にスライダーで「大きさ」の値を変更したとしても、「倍率」の値は変わることがないので、滑らかな曲線が描画できます。

本体はこうなっています。

Maltese-main.png

今回は独立した曲線が4本あるので、1本の曲線を描くための「曲線」ブロックを4回呼び出しています。引数に指定しているのはsinやcosの計算に使う角度の初期値(開始角度)です。

次に準備です。スプライトを非表示にして、倍率とペンの属性を設定しています。

Maltese-prepare.png

次に曲線を1本描くための「曲線」ブロックです。これが本体から呼び出されます。描画を開始する座標に移動するために、ペンを持ち上げて座標を計算、移動し、ペンを下ろします。その後、角度を変えながら座標の計算と移動を繰り返して曲線を描画しています。

Maltese-curve.png

次に計算ブロックです。曲線のX座標とY座標を式から求めています。

Maltese-calc.png

この計算ブロックは次の式をScratchで実装したものです。
\[ r = \frac{2}{\sqrt{\sin(4\theta)}} \] rは半径です。英語のradiusの最初の一文字ですね。X座標Y座標は先に計算した半径と与えられた角度から求められます。

移動はいつも通りです。

move-generic.png

完成版はこちら
nice!(0)  コメント(0) 

nice! 0

コメント 0

コメントを書く

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

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

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