SSブログ

サイクロイド Cycloid [見て楽しむ三角関数]

Scratchサイクロイドを描きます。今回の曲線は単純でつまらないので、色を変化させ、太さと大きさを調節可能にします。カモメ?眉毛?

[サイクロイド]

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

最初に変数です。太さと大きさはスライダー表示にして、プログラムを変更しなくても値を変えられるようにしています。

[変数]

次に本体です。今回は繰り返しは一回です。角度を-360度から360度まで変化させるとこの曲線が描けます。

[本体]

準備は変数を初期化したり開始座標を計算して移動したりします。色は描画するごとに変化するように乱数を使います。

[準備]

式はこうなっています。
\[ x=r\left(\theta-\sin(\theta)\right) \\
y=r\left(1-\cos(\theta)\right)\] rは普通は半径(英語でradiusのr)です。ここではrに大きさ(倍率)を当てはめて、曲線の大きさを変化させています。

Scratchでは関数の外側のθはラジアン、関数の引数のθは角度ですので、X座標Y座標を求める前にラジアンも計算しておきます。

[計算]

上の式をScratchのプログラムにするとこうなります。

[計算]

移動するときにペンの色の濃さを変えています。

[移動]

Scratchではペンの色の濃さは数字で指定します。 0に近づくほど濃く、100に近づくほど薄くなります。ここでは濃さの計算にはX座標の絶対値を使っていて、画面の中心に近づくほどX座標の値が小さくなるので色が濃く、中心から離れるほどX座標の値が大きくなるので色が薄くなります。

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

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