Scratchで三角関数を使ってみる -01
sin を使ってみよう
sin をまずは使ってみる。
実験 1
Gif 画像なので動きがカクカクしていますが、実際には滑らかに動作しています。
これがコードです。変数「θ」を作り、θ を 1 ずつ変えて 360 回繰り返しています。しかしこれだと 360 回ちょうどになるとき、ピタッと X 座標が 0 になりません。
実験 2
今度はどうでしょうか?
360 回繰り返した後、X 座標を見てみるとピタッと 0 の位置になっています。
先ほどと同じように見えます。ただプログラムの順番を変えただけです。よく見ると、「θ を 1 ずつ変える」が 360 回繰り返すの中で一番最初に実行されるようにしました。
実験 3
sinθ に対し、θ を 2 ずつ変えるようにしてみました。
どうやら θ の数値を大きくすれば速く進むようになりそうです。
実験 4
sin を使って今度は Y 軸方向へ移動させてみました。
たった X 軸方向から Y 軸方向へ変えただけでもなんだかワクワクしてきました。
プログラムは実験 3 で行ったものを利用して、 Y 軸方向へ移動するようにしただけです。
cos を使ってみよう
cos を使っていこう。
実験 5
ここまでは実験 4 と変化なさそうに見えますね。
実験 4 のコードを sin から cos に変えただけです。これではなんだかわかりづらいので比較してみましょう。
実験 6
ちょうちょとこうもりを比較してみると、少しだけずれているように見えます。どちらも Y 座標は 0 からなのに、スタートする位置が違うようです。
こちらがちょうちょのコードで、 sin に設定し、X 座標はこうもりと重ならない位置に調整します。
こちらがこうもりのコードで、 cos に設定し、 X 座標はちょうちょと重ならない位置に調整します。
すこし面白くなってきましたね(^^)/
実験 7
今度は X 座標方向へ移動させてみましょう。動きを見てみると、実験 6 と同じになっています。
シューティングゲームに使えそうな気がしませんか?
ちょうちょのコードです。最初に表示される位置 ( X 座標を ~ 、Y 座標を ~ にする ) と、X 方向へ移動したい ( X 座標を ~ にする ) ので、実験 6 と少し違います。
こうもりのコードです。こちらもちょうちょのコードと同じく、最初に表示させる位置と、X 方向へ移動させていきましょう。
まとめ
sin を使って動きを行き来させたいときに便利です。ぜひトライしてみてください。