プラトーの曲線 Plateau Curves [見て楽しむ三角関数]
Scratchでプラトーの曲線を描きます。プラトーは人名で、ベルギーの物理学者だそうです。
今回も片側が交差しています。
曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。
最初に変数です。mとnは式に出てくる固定値です。
次に本体です。角度を-80度から80度まで変化させるとこの曲線が描けます。0.2度ずつ細かく角度を変えて座標を計算すると滑らかな曲線になります。
次に準備です。mとnはスライダー表示にして、プログラムを修正せずに値を変えられるようにしてもいいのですが、値を大きくすると曲線がすぐに描画領域からはみ出してしまうので、ここではスライダーにはせず、描画前に値を固定しています。
式はこうなっています。今回の曲線は半径を計算する極座標方程式ではなく、XとYを直接計算する媒介変数方程式です。aは倍率(大きさ)、θは角度です。
\[ x=\frac{a\sin((m+n)\theta)}{\sin((m-n)\theta)} \\
y=\frac{2a\sin(m\theta)sin(n\theta)}{\sin((m-n)\theta)} \] 複雑ですね。ここからあの曲線が出てくるのが不思議です。また、準備ブロックで設定しているmやnの値を変えると曲線の形も変わるので、プログラムをいじってみるとおもしろいですよ。
この式をプログラムにするとこうなります。
XもYも分母の式は同じなので、一旦計算して別の変数に入れておき再利用する手もあります。
移動はいつも通りです。
完成版はこちら。
今回も片側が交差しています。
曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。
最初に変数です。mとnは式に出てくる固定値です。
次に本体です。角度を-80度から80度まで変化させるとこの曲線が描けます。0.2度ずつ細かく角度を変えて座標を計算すると滑らかな曲線になります。
次に準備です。mとnはスライダー表示にして、プログラムを修正せずに値を変えられるようにしてもいいのですが、値を大きくすると曲線がすぐに描画領域からはみ出してしまうので、ここではスライダーにはせず、描画前に値を固定しています。
式はこうなっています。今回の曲線は半径を計算する極座標方程式ではなく、XとYを直接計算する媒介変数方程式です。aは倍率(大きさ)、θは角度です。
\[ x=\frac{a\sin((m+n)\theta)}{\sin((m-n)\theta)} \\
y=\frac{2a\sin(m\theta)sin(n\theta)}{\sin((m-n)\theta)} \] 複雑ですね。ここからあの曲線が出てくるのが不思議です。また、準備ブロックで設定しているmやnの値を変えると曲線の形も変わるので、プログラムをいじってみるとおもしろいですよ。
この式をプログラムにするとこうなります。
XもYも分母の式は同じなので、一旦計算して別の変数に入れておき再利用する手もあります。
移動はいつも通りです。
完成版はこちら。
コメント 0