Talbot Curve [見て楽しむ三角関数]
ScratchでTalbot Curveを描きます。
曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。
最初に変数です。XとYは曲線の座標、a, b, cは式に出てくる変数、倍率と大きさは曲線の大きさ、角度は三角関数に与えるための角度です。
大きさはスライダー表示にして、値を画面上で変更可能にしています。倍率と大きさは同じ値を持ちますが、描画中に値を変えると曲線が崩れるので、プログラムの最初でスライダーの「大きさ」の値を「倍率」に固定しています。
次に本体です。角度を0度から360度まで変化させながら計算、移動を繰り返すとこの曲線が描けます。
次に準備です。ペンの設定、変数の初期化、開始座標の計算を行い、開始座標に移動しています。
\(a^2-b^2\) は式の中に二度出てくるので事前に計算して変数 c に入れておきます。こうするとプログラムが少し短くなります。
式はこうなっています。aとbは倍率(大きさ)、θは角度です。
\[ x=a\cos(\theta)\left(1+\frac{a^2-b^2}{a^2}\sin^2(\theta)\right) \\
y=b\sin(\theta)\left(1-\frac{a^2-b^2}{b^2}\cos^2(\theta)\right) \] この式をプログラムにすると次のようになります。
移動はいつも通りです。
完成版はこちら。
曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。
最初に変数です。XとYは曲線の座標、a, b, cは式に出てくる変数、倍率と大きさは曲線の大きさ、角度は三角関数に与えるための角度です。
大きさはスライダー表示にして、値を画面上で変更可能にしています。倍率と大きさは同じ値を持ちますが、描画中に値を変えると曲線が崩れるので、プログラムの最初でスライダーの「大きさ」の値を「倍率」に固定しています。
次に本体です。角度を0度から360度まで変化させながら計算、移動を繰り返すとこの曲線が描けます。
次に準備です。ペンの設定、変数の初期化、開始座標の計算を行い、開始座標に移動しています。
\(a^2-b^2\) は式の中に二度出てくるので事前に計算して変数 c に入れておきます。こうするとプログラムが少し短くなります。
式はこうなっています。aとbは倍率(大きさ)、θは角度です。
\[ x=a\cos(\theta)\left(1+\frac{a^2-b^2}{a^2}\sin^2(\theta)\right) \\
y=b\sin(\theta)\left(1-\frac{a^2-b^2}{b^2}\cos^2(\theta)\right) \] この式をプログラムにすると次のようになります。
移動はいつも通りです。
完成版はこちら。