ダンベル曲線 (1) Dumbbell Curve [見て楽しむ三角関数]
Scratchでダンベル曲線を描きます。8曲線の第5回です。ダンベル曲線には二種類の式があり、今回は一つ目です。sin, cosを使います。
曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。
最初に変数です。X, Yは曲線を描くときの座標、大きさと倍率は曲線の拡大用、角度は座標の計算式に使います。今回の式では半径は使いません。
次に本体です。角度を0度から360度まで変化させて計算、移動するとこの曲線が描けます。
次に準備です。プログラムを実行すると最初に一回呼び出されます。変数を初期設定、開始点を計算して移動します。
式はこうなっています。aは倍率(大きさ)、θは角度です。
\[ x=a\cos(\theta) \\
y=a\cos^2(\theta)\sin(\theta) \] この式をプログラムにすると次のようになります。
移動はいつも通りです。
完成版はこちら。
ところで、参照先のWolfrum MathWorldにはsin, cosを使った式が書かれていません。何かを参考にプログラムを書いた気がするので、もし上のsin, cosを使った式が書かれているページをご存知の方はご一報ください。あるいは適当に操作していてできた式かもしれませんが。
曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。
最初に変数です。X, Yは曲線を描くときの座標、大きさと倍率は曲線の拡大用、角度は座標の計算式に使います。今回の式では半径は使いません。
次に本体です。角度を0度から360度まで変化させて計算、移動するとこの曲線が描けます。
次に準備です。プログラムを実行すると最初に一回呼び出されます。変数を初期設定、開始点を計算して移動します。
式はこうなっています。aは倍率(大きさ)、θは角度です。
\[ x=a\cos(\theta) \\
y=a\cos^2(\theta)\sin(\theta) \] この式をプログラムにすると次のようになります。
移動はいつも通りです。
完成版はこちら。
ところで、参照先のWolfrum MathWorldにはsin, cosを使った式が書かれていません。何かを参考にプログラムを書いた気がするので、もし上のsin, cosを使った式が書かれているページをご存知の方はご一報ください。あるいは適当に操作していてできた式かもしれませんが。