Septic [見て楽しむ三角関数]
ScratchでSepticを描きます。Septicは「7次式」という一般的な言葉のようです。ネタ元のサイトにそう書いてあるのでそのまま使います。
曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。
最初に変数です。「cos角度」は何度も出てくるcosの計算結果を保存しておき、再利用するための変数です。その他はいつもと同じです。
次に本体です。角度を0度から127度まで変化させながら計算、移動を繰り返すと、この曲線が描画できます。
次に準備です。ペンの初期設定、変数の初期設定、開始座標の計算を行い、開始座標に移動しています。
式はこうなっています。
\[ x=\frac{\cos(\theta)(3\cos^2(\theta)-3\cos(\theta)+1)}{2\cos^3(\theta)-2\cos(\theta)+1} \\
y=\frac{\cos^2(\theta)\sin(\theta)}{2\cos^3(\theta)-2\cos(\theta)+1}\tan^2\left(\frac{\theta}{2}\right) \] よくこんなこと考えますよね。複雑すぎて訳がわかりませんが、プログラムにすることはできます。\(cos(\theta)\) は何度も出てきますので、先に計算しておいて値を使いまわします。
XとYの式をそのまま一行で書こうとすると長すぎるので、分割して複数行で計算しています。元の数式には倍率は出てきませんが、曲線の大きさを調整するために画面上のスライダーで指定した値を掛けています。
移動はいつも通りです。
完成版はこちら。
曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。
最初に変数です。「cos角度」は何度も出てくるcosの計算結果を保存しておき、再利用するための変数です。その他はいつもと同じです。
次に本体です。角度を0度から127度まで変化させながら計算、移動を繰り返すと、この曲線が描画できます。
次に準備です。ペンの初期設定、変数の初期設定、開始座標の計算を行い、開始座標に移動しています。
式はこうなっています。
\[ x=\frac{\cos(\theta)(3\cos^2(\theta)-3\cos(\theta)+1)}{2\cos^3(\theta)-2\cos(\theta)+1} \\
y=\frac{\cos^2(\theta)\sin(\theta)}{2\cos^3(\theta)-2\cos(\theta)+1}\tan^2\left(\frac{\theta}{2}\right) \] よくこんなこと考えますよね。複雑すぎて訳がわかりませんが、プログラムにすることはできます。\(cos(\theta)\) は何度も出てきますので、先に計算しておいて値を使いまわします。
XとYの式をそのまま一行で書こうとすると長すぎるので、分割して複数行で計算しています。元の数式には倍率は出てきませんが、曲線の大きさを調整するために画面上のスライダーで指定した値を掛けています。
移動はいつも通りです。
完成版はこちら。