ブースの楕円 Oval of Booth [見て楽しむ三角関数]
Scratchでブースの楕円を描きます。8曲線の第9回です。
曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。
最初に式です。rは半径、aとbは倍率(大きさ)、θは角度です。
\[ r^2=a^2\cos^2(\theta)+b^2\sin^2(\theta) \]次に変数です。aとbは式に出てくるaとbに対応しています。
次に本体です。二重の繰り返しで複数の曲線を描いています。角度を0度から360度まで変化させると曲線が一本描けます。
次に初期設定です。プログラムを実行すると最初に一度だけ呼び出されます。aとbは両方とも180に設定していますが、一本の曲線を描くごとに上の本体でbだけ値を減らしていきます。これにより形が少しずつ変化します。
次に準備です。曲線を一本描くために開始点を計算して移動しています。
計算は上で紹介した式をプログラムにしたブロックです。
元の式は左辺がrの二乗なので、r=...の形式にします。
\[ r=\sqrt{a^2\cos^2(\theta)+b^2\sin^2(\theta)} \] 式は長いので、画面からはみ出さないように分割しています。計算した半径 r と角度からX座標とY座標を計算します。
移動はいつも通りです。
完成版はこちら。
曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。
最初に式です。rは半径、aとbは倍率(大きさ)、θは角度です。
\[ r^2=a^2\cos^2(\theta)+b^2\sin^2(\theta) \]次に変数です。aとbは式に出てくるaとbに対応しています。
次に本体です。二重の繰り返しで複数の曲線を描いています。角度を0度から360度まで変化させると曲線が一本描けます。
次に初期設定です。プログラムを実行すると最初に一度だけ呼び出されます。aとbは両方とも180に設定していますが、一本の曲線を描くごとに上の本体でbだけ値を減らしていきます。これにより形が少しずつ変化します。
次に準備です。曲線を一本描くために開始点を計算して移動しています。
計算は上で紹介した式をプログラムにしたブロックです。
元の式は左辺がrの二乗なので、r=...の形式にします。
\[ r=\sqrt{a^2\cos^2(\theta)+b^2\sin^2(\theta)} \] 式は長いので、画面からはみ出さないように分割しています。計算した半径 r と角度からX座標とY座標を計算します。
移動はいつも通りです。
完成版はこちら。
コメント 0