SSブログ

対数らせん Logarithmic spiral [見て楽しむ三角関数]

Scratch対数らせんを描きます。

[対数らせん]

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

最初に変数です。XとYは曲線描く時に使う座標です。角度から半径を計算して、半径からX座標とY座標を計算します。aとbは式に出てくる係数です。bをスライダー表示にして実行時に値を見られるようにしています。

[変数]

次に本体です。今回は終了条件はなく、2秒の間隔をおいてらせんを描き続けます。bは準備の中で乱数を設定し、bが正か負かによって回転の向きを選んでいます。bが正の値なら反時計回転、bが負の値なら時計回転になります。

[本体]

次に準備です。ペンの準備、bの値の設定、開始座標の計算を行い、開始座標に移動しています。bの値は小さすぎても大きすぎても綺麗な曲線になりません。このため、絶対値が0.0005から0.009の間の値になるまで乱数を生成し続けます。bの符号によってaの値を決めています。

[準備]

次に反時計回転です。角度を変えながら計算と移動を繰り返しています。反時計回転の場合、画面の中心から外に向かって曲線が伸びていきますので、描画領域の端に達したらプログラムを停止します。

[反時計回転]

次は時計回転です。こちらも角度を変えながら計算と移動を繰り返します。時計回転の場合、画面の外側から中心に向かって曲線が伸びていきますので、X座標Y座標が共に2より小さくなったら終了しています。

[時計回転]

式はこうなっています。
\[ r=ae^{b\theta} \] rは半径、aとbは倍率(大きさ)、θは角度です。eはネイピア数と呼ばれ、その値はだいたい2.71828くらいです。この式をプログラムにすると次のようになります。

[計算]

移動はいつも通りです。

[移動]

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

nice! 0

コメント 0

コメントを書く

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

※ブログオーナーが承認したコメントのみ表示されます。
リチュース LituusBesace ブログトップ

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