SSブログ

ダンベル曲線(2) Dumbbell Curve [見て楽しむ三角関数]

Scratchダンベル曲線を描きます。8曲線の第6回です。結果として前回と同じ曲線になりますが、式はかなり違っていて、今回は平方根を使います。

[]

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

最初にステージです。緑の旗をクリックしたときに起動される処理は今回はステージに記述します。理由はダイポール曲線の時と同じで、正の式と負の式用に二つのスプライトが存在するからです。正の式は曲線の上半分、負の式は曲線の下半分の描画に使います。

[ステージ]

次は変数です。大きさと色は二つのスプライトで共用するので、ステージで「すべてのスプライト用」変数として作成します。その他の変数は二つのスプライトで個別に作成します。「大きさ」はスライダーで開始時の値を設定するために使い、実行中にスライダーをいじっても絵の大きさが変わらないように、開始時の「大きさ」を「倍率」に固定して計算に使います。今回は角度の代わりにラジアンを計算に使うのでその値を保持する変数も両方のスプライトに用意します。

[変数]

次はステージに記述する起動処理です。色を適当に選んで「開始」イベントを送っています。

[起動]

次に開始処理です。二つある黄色のスプライトは「開始」イベントを受け取ったら処理を始めるように同じプログラムを記述します。角度を-58度から58度まで変化させるとこの曲線が描画できます。滑らかな曲線になるように角度は0.5度ずつ変化させています。

[開始]

次に準備です。変数を初期化し、原点を計算して移動します。この処理も両方のスプライトに記述します。

[準備]

式はこうなっています。rは半径、aは倍率(大きさ)、θは角度から計算されるラジアンを使います。
\[ x=a\theta \\
y=a\theta^2\sqrt{1-\theta^2} \] θを二乗するので、角度がマイナスの時もY座標は正の値になってしまいます。このため、曲線の下半分を描くにはYの計算結果に-1を掛けて符号を反転する必要があります。

曲線の上半分を描画するプログラムは次のようになります。「上」と名付けたスプライトに記述します。

[計算1]

曲線の下半分の計算はこちらです。「下」スプライトに記述します。

[計算]2

ラジアンの計算は次のようなプログラムになります。

[ラジアン]

移動はいつも通りです。

[移動]

ラジアンと移動も上スプライトと下スプライトの両方に記述します。

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

nice! 0

コメント 0

コメントを書く

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

※ブログオーナーが承認したコメントのみ表示されます。
ダンベル曲線 (1) Dumbbell ..Hippopede ブログトップ

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