ポアンソーのらせん Poinsot's spiral (sech) [見て楽しむ三角関数]
Scratchでポアンソーのらせん(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\) はネイピア数です。この式をプログラムにすると次のようになります。
Scratchでは内蔵されている三角関数には角度を指定しますが、自分で定義する関数の角度にはラジアンを使いますので、ラジアンのブロックも定義しています。
移動はいつも通りです。
完成版はこちら。
曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。
最初に変数です。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\) はネイピア数です。この式をプログラムにすると次のようになります。
Scratchでは内蔵されている三角関数には角度を指定しますが、自分で定義する関数の角度にはラジアンを使いますので、ラジアンのブロックも定義しています。
移動はいつも通りです。
完成版はこちら。
コメント 0