SSブログ

Cornoid [見て楽しむ三角関数]

ScratchCornoidを描きます。

[Cornoid]

曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。

最初に変数です。いつもと同じものばかりです。

[変数]

次に本体です。角度を0度から360度まで変化させながら計算、移動を繰り返すとこの曲線が描けます。

[本体]

次に準備です。ペンの準備、変数の初期化、開始座標の計算を行い、開始座標に移動しています。

[準備]

式はこうなっています。aは倍率(大きさ)、θは角度です。
\[ x=a\cos(\theta)\left(1-2\sin^2(\theta)\right) \\
y=a\sin(\theta)\left(1+2\cos^2(\theta)\right) \] この式をプログラムにすると次のようになります。

[計算]

sinとcosの計算はなんども出てくるので、先に計算して別の変数に格納しておき、X座標とY座標の計算にはその変数を使ってもいいでしょう。

移動はいつも通りです。

[移動]

完成版はこちら
nice!(0)  コメント(0) 

蝶結び曲線 Bow Curve [見て楽しむ三角関数]

Scratch蝶結び曲線を描きます。

[蝶結び曲線]

曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。

最初に変数です。cos関数やsin関数はプログラムの中で何回か出てきますので、先に計算して変数に値を保持しておきます。その他の変数はいつもと同じです。

[変数]

次に本体です。角度を-49度から49度まで変化させながら計算、移動を繰り返すとこの曲線が描けます。

[本体]

次に準備です。ペンの設定、変数の初期化、開始座標の計算を行い、開始座標に移動します。

[準備]

式はこうなっています。rは半径、θは角度です。
\[ r=\frac{\sin(\theta)\times(1-2sin^2(\theta))}{cos^4(\theta)} \] この式をプログラムにすると次のようになります。

[計算]

半径の計算を一行に書くと画面からはみ出すので、式を複数に分けて順番に計算しています。式には倍率は特に書いていませんが、曲線を拡大するために半径の計算結果に倍率を掛けています。最後に半径と角度からX座標とY座標を計算しています。

移動はいつも通りです。

[移動]

完成版はこちら
nice!(0)  コメント(0) 

Talbot Curve [見て楽しむ三角関数]

ScratchTalbot Curveを描きます。

[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) \] この式をプログラムにすると次のようになります。

[計算]

移動はいつも通りです。

[移動]

完成版はこちら
nice!(0)  コメント(0) 

バラ曲線 Rose Curve [見て楽しむ三角関数]

Scratchバラ曲線を描きます。

[バラ曲線]

曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。

最初に式です。rは半径、θは角度です。
\[ r=\sin\left(\frac{n}{d}\theta\right) \] この式が面白いのは、dとnを変えると曲線の形が様々に変わるところです。





ではプログラムを見ていきましょう。まず変数です。dとnは式に出てくる変数です。そのほかはこれまでにも出て来た変数です。

[変数]

次に本体です。dとnを変化させながら複数の曲線を次々に描画していくので、二重の繰り返しにしています。

[本体]

次に準備です。曲線を一本描くために必要になる変数の設定、ペンの設定、開始座標の計算を行い、開始座標に移動しています。

[準備]

倍率の設定はここでやる必要はなく、プログラムの開始時に一度だけやればいいですが、いつものプログラムを流用しているのでここにあります。「隠す」も同様です。

次は曲線を一本を描くための繰り返しです。開始点に戻るまで角度を変化させて計算と移動を繰り返します。

[内側の繰り返し]

次は計算です。最初に書いた式をプログラムにすると次のようになります。

[計算]

移動はいつも通りです。

[移動]

完成版はこちら
nice!(0)  コメント(0) 

Bicorn [見て楽しむ三角関数]

ScratchBicornを描きます。海賊の帽子のようですね。

[Bicorn]

曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。

最初に変数です。今回も半径を計算する極座標方程式ではなく媒介変数方程式ですので、半径はなく、X座標とY座標を直接計算します。

[変数]

次に本体です。角度を0度から360度まで変化させながら計算と移動を繰り返すと、この曲線が描けます。

[本体]

次に準備です。ペンの準備、変数の初期設定、開始座標の計算を行い、開始座標に移動しています。

[準備]

式はこうなっています。aは倍率(大きさ)、θは角度です。
\[ x= a\sin(\theta) \\
y= \frac{a\cos^2(\theta)(2+\cos(\theta))}{3+\sin^2(\theta)} \] この式をプログラムにすると次のようになります。Yの計算を一行に書くと画面からはみ出すので、2行に分割しています。先に分子を計算し、そのあとで分母で割っています。

[計算]

最後にY座標を下に移動して、曲線が描画領域内に収まるようにしています。

移動はいつも通りです。

[移動]

完成版はこちら
nice!(0)  コメント(0) 

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。