So-net無料ブログ作成

ポアンソーのらせん 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:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

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