SSブログ

アーネシの曲線 Witch of Agnesi [見て楽しむ三角関数]

Scratchアーネシの曲線を描きます。

[曲線]

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

最初に変数です。cotは三角関数の一種cotangentの計算結果を保持します。

[変数]

次に本体です。パラメータを変えて曲線を16本描くため、二重ループになっています。内側の繰り返しでアーネシの曲線を一本描画します。曲線を一本描き終わったら変数aの値を1ずつ変更しますが、a=0の場合は角度を変えて計算しても常にX=0, Y=0になるため、原点(0, 0)に点が描かれるだけになります。これを避けるため、a=0の場合はa=1に設定して次の曲線を描画します。

[本体]

次に初期設定です。このブロックはプログラムを実行したときに一度だけ呼び出されます。ペンと変数を初期化しています。

[初期設定]

次に準備です。一本の曲線を描く前に毎回呼び出され、描画を開始する座標に移動します。

104-prep.png

式はこうなっています。aは倍率(大きさ)、θは角度です。
\[ x = 2a\cot(\theta) \\
y = a(1-\cos(2\theta)) \] この式をScratchで実装したのが次の計算ブロックです。

[計算]

上の式ではX座標の計算で2を掛けていますが、計算ブロックではこれを省略しています。2倍するとどうなるかは試してみてください。

計算の最初に呼び出しているcotは上にも書いた通り三角関数のcotangentです。cotangent関数はScratchには備わっていないため次のようなブロックを定義して計算しています。

[cotangent]

移動はいつも通りです。

[移動]

完成版はこちら
nice!(0)  コメント(0) 
共通テーマ:日記・雑感

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。
蛇状曲線 Serpentine Curv..二葉曲線 Bifolium ブログトップ

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