So-net無料ブログ作成

歯車 Gear Curve [見て楽しむ三角関数]

Scratch歯車を描きます。

[歯車]

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

最初に変数です。今回は倍率は固定で、歯車の歯の数を可変にしています。tanhは関数の計算結果を保持しておくための変数です。また、bは式の中で出てくる定数で、準備処理の中で10に固定しています。

[変数]

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

[本体]

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

[準備]

式はこうなっています。rは半径、aは倍率(大きさ)、θは角度です。
\[ r=a+\frac{1}{b}\tanh(b\sin(n\theta)) \] tanhは双曲正接関数です。bを大きくすると歯の高さが小さくなります。今回は10に固定していますが、スライダ表示にして変化させてみるのも面白いですよ。

この式をプログラムにすると次のようになります。上の式の「a」は1に固定、いつも曲線の大きさの調整に使っている「倍率」変数は上の「準備」処理で160に固定しています。

[計算]

tanhはWikipediaで次のように定義されています。eはネイピア数です。
\[ \tanh(\theta)=\frac{1-e^{-2\theta}}{1+e^{-2\theta}} \] これはScratchでは提供されていないので、自分でブロックを作って定義します。

[tanh]

計算結果はtanh変数に保存しておき、計算で使っています。

移動はいつも通りです。

[移動]

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

nice! 1

コメント 0

コメントを書く

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

※ブログオーナーが承認したコメントのみ表示されます。