レムニスケート Lemniscate [見て楽しむ三角関数]
Scratchでレムニスケートを描きます。8を横に倒したような曲線は色々ありますので、続けて紹介する予定です。
曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。
最初に変数です。「高さ」はその名の通り、曲線をY座標方向に拡大するための変数です。その他はいつもと同様です。
次に本体です。今回はペンの形をしたスプライトを表示して、ペンで曲線を描いているような効果を出しています。本体の最後の「隠す」は曲線が完成した後でペンを隠すための命令です。
次に準備です。いつもと同じで、変数を初期化、開始点を計算して移動しています。最後の「表示する」でペンのスプライトを表示しています。
描画中のペンはこのような表示になっています。
式はこうなっています。rは半径、aは倍率(大きさ)、θは角度です。
\[ r^2=2a^2\cos(2\theta) \] =の左側の半径が2乗されているのがいつもと違う点です。両辺の平方根を計算するといつものようにr=...の形式になります。
\[ r=\sqrt{2a^2\cos(2\theta)} \] プログラムではこちらを使って半径を計算し、さらに半径と角度からX座標とY座標を計算しています。
移動はいつも通りです。
完成版はこちら。
曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。
最初に変数です。「高さ」はその名の通り、曲線をY座標方向に拡大するための変数です。その他はいつもと同様です。
次に本体です。今回はペンの形をしたスプライトを表示して、ペンで曲線を描いているような効果を出しています。本体の最後の「隠す」は曲線が完成した後でペンを隠すための命令です。
次に準備です。いつもと同じで、変数を初期化、開始点を計算して移動しています。最後の「表示する」でペンのスプライトを表示しています。
描画中のペンはこのような表示になっています。
式はこうなっています。rは半径、aは倍率(大きさ)、θは角度です。
\[ r^2=2a^2\cos(2\theta) \] =の左側の半径が2乗されているのがいつもと違う点です。両辺の平方根を計算するといつものようにr=...の形式になります。
\[ r=\sqrt{2a^2\cos(2\theta)} \] プログラムではこちらを使って半径を計算し、さらに半径と角度からX座標とY座標を計算しています。
移動はいつも通りです。
完成版はこちら。
コメント 0