SSブログ

ポアンソーのらせん Poinsot's spiral (sech) [見て楽しむ三角関数]

Scratchポアンソーのらせん(sech版)を描きます。

[ポアンソーのらせん (sech]

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

最初に変数です。sechは同名の関数の計算結果を保存しておくための変数です。大きさはスライダー表示にして画面上で値を変更できるようにしています。

[変数]

次に本体です。角度を-1080度から1080度まで変化させながら計算、描画を繰り返すと、この曲線が描画できます。

[本体]

次に準備です。ペンの設定、変数の初期設定、開始座標の計算、開始座標への移動を行なっています。

[準備]

式はこうなっています。rは半径、aは倍率(大きさ)、θは角度です。nも曲線の大きさに影響します。
\[ \newcommand{\sech}{\mathop{\rm sech}\nolimits} r=a\sech\left(n\theta\right) \] 今回は \(n=\frac{1}{3}\) としています。この式をプログラムにすると次のようになります。まずsechを計算し、その結果から半径を計算、さらに半径と角度からX座標とY座標を計算しています。

[計算]

sechは双曲正割関数です。Scratchにはこの関数は用意されていませんので、Wolfram Mathworldの定義を使って、自分でブロックを定義します。
\[ \sech(\theta)=\frac{2}{e^{\theta}+e^{-\theta}} \] \(e\) はネイピア数です。この式をプログラムにすると次のようになります。

[sech]

Scratchでは内蔵されている三角関数には角度を指定しますが、自分で定義する関数の角度にはラジアンを使いますので、ラジアンのブロックも定義しています。

[ラジアン]

移動はいつも通りです。

[移動]

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

nice! 1

コメント 0

コメントを書く

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

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

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