コクレオイド Cochleoid [見て楽しむ三角関数]
Scratchでコクレオイドを描きます。
曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。
最初に変数です。プログラムを変えずに曲線の大きさを変えられるように、大きさはスライダー表示にしています。
次に本体です。普通は開始角から終了角まで連続してX座標Y座標を計算しますが、今回は角度が0の場合、座標が原点(0,0)に戻って不要な直線が出てしまいます。そのため繰り返しを二つに分け、0度は避けて計算しています。繰り返しの終了条件が満たされると繰り返しの中の処理は実行せずに繰り返しの外に出ますので、最初の繰り返しでは「角度=0」の処理は行われません。
次に準備です。
今回の式はこうなっています。rは半径、aは倍率(大きさ)、θは角度です。
\[ r= \frac{a\sin(\theta)}{\theta} \] この式をプログラムにするとこうなります。
関数の外のシータ(式の分母の部分)はラジアンなので、ラジアンの計算も定義して呼び出します。
移動いつもと同じです。
完成版はこちら。
曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。
最初に変数です。プログラムを変えずに曲線の大きさを変えられるように、大きさはスライダー表示にしています。
次に本体です。普通は開始角から終了角まで連続してX座標Y座標を計算しますが、今回は角度が0の場合、座標が原点(0,0)に戻って不要な直線が出てしまいます。そのため繰り返しを二つに分け、0度は避けて計算しています。繰り返しの終了条件が満たされると繰り返しの中の処理は実行せずに繰り返しの外に出ますので、最初の繰り返しでは「角度=0」の処理は行われません。
次に準備です。
今回の式はこうなっています。rは半径、aは倍率(大きさ)、θは角度です。
\[ r= \frac{a\sin(\theta)}{\theta} \] この式をプログラムにするとこうなります。
関数の外のシータ(式の分母の部分)はラジアンなので、ラジアンの計算も定義して呼び出します。
移動いつもと同じです。
完成版はこちら。
コメント 0