四つ葉 Quadrifolium (2) [見て楽しむ三角関数]
Scratchで四つ葉を描きます。前回とは違い、曲線も式も複雑です。
曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。
まず変数です。少ないですね。
次に本体です。85回繰り返して描画するために二重の繰り返しにしています。内側の繰り返しで四つ葉を一つ描きます。外側の繰り返しでは四つ葉を少しずつ大きくして85回処理しています。色も少しずつ薄くします。
次に準備です。葉っぱですので、始める時の色は濃い緑色に固定しています。
この四つ葉の式はこうなっています。rは半径、aは倍率(大きさ)、θは角度です。
\[ r=a\left(\sin^2(2\theta)+\frac{\sin^2(4\theta)}{2}\right) \]
この式をScratchで一行のプログラムに書くと画面からはみ出してしまうので、スクロールが不要なように半径の計算を3行に分けています。
1. かっこの中の+の左部分を半径に設定
2. かっこの中の+の右部分を半径に追加
3. かっこの外側の掛け算で半径の計算が終了
その後、半径と角度を使ってX座標とY座標を求めます。
移動はいつも同じです。
完成版はこちら。
さて、式が複雑だったので、分解するとどういう曲線になるのか試してみたのが以下の表です。
元の式は\[ r=a\left(\sin^2(2\theta)+\frac{\sin^2(4\theta)}{2}\right) \]ですので足し算の左辺と右辺に分けました。式からは倍率aは省いていますが、描画には使っています。
曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。
まず変数です。少ないですね。
次に本体です。85回繰り返して描画するために二重の繰り返しにしています。内側の繰り返しで四つ葉を一つ描きます。外側の繰り返しでは四つ葉を少しずつ大きくして85回処理しています。色も少しずつ薄くします。
次に準備です。葉っぱですので、始める時の色は濃い緑色に固定しています。
この四つ葉の式はこうなっています。rは半径、aは倍率(大きさ)、θは角度です。
\[ r=a\left(\sin^2(2\theta)+\frac{\sin^2(4\theta)}{2}\right) \]
この式をScratchで一行のプログラムに書くと画面からはみ出してしまうので、スクロールが不要なように半径の計算を3行に分けています。
1. かっこの中の+の左部分を半径に設定
2. かっこの中の+の右部分を半径に追加
3. かっこの外側の掛け算で半径の計算が終了
その後、半径と角度を使ってX座標とY座標を求めます。
移動はいつも同じです。
完成版はこちら。
さて、式が複雑だったので、分解するとどういう曲線になるのか試してみたのが以下の表です。
元の式は\[ r=a\left(\sin^2(2\theta)+\frac{\sin^2(4\theta)}{2}\right) \]ですので足し算の左辺と右辺に分けました。式からは倍率aは省いていますが、描画には使っています。
左辺の式 | 右辺の式 | 乗算 | 加算 |
---|---|---|---|
\[r=\sin(2\theta)\] | \[r=\sin(4\theta)\] | \[r=\sin(2\theta)\times\sin(4\theta)\] | \[r=\sin(2\theta)+\sin(4\theta)\] |
\[r=\frac{\sin(4\theta)}{2}\] | \[ r=\sin(2\theta)\times\frac{\sin(4\theta)}{2} \] | \[ r=\sin(2\theta)+\frac{\sin(4\theta)}{2} \] | |
\[r=\sin^2(2\theta)\] | \[r=\sin^2(4\theta)\] | \[r=\sin^2(2\theta)\times\sin^2(4\theta)\] | \[r=\sin^2(2\theta)+\sin^2(4\theta)\] |
\[r=\frac{\sin^2(4\theta)}{2}\] | \[ r=\sin^2(2\theta)\times\frac{\sin^2(4\theta)}{2} \] | \[ r=\sin^2(2\theta)+\frac{\sin^2(4\theta)}{2} \] | |