忍者ブログ

Memeplexes

プログラミング、3DCGとその他いろいろについて

かんたん SinとCos入門

数学や物理学で使われる、sin関数とcos関数のかんたんな解説です。初心者向けで、デモプログラムで遊ぶこともできます。


sinとcosのかたちは同じ

数学や物理学では、sin(サインとよみます)やcos(コサイン)という名前の計算があちこちに出てきます。このページは、この重要な2つの計算のかんたんな解説です。この2つがどういう計算なのかということと、なんでこんな計算をしなければならないのかという現実世界とのつながりを説明します。

さてこれから解説をするのですが、まずcosだけを解説しsinは後回しにします。というのも、次の図のようにsinとcosはとても良くにているからです:

このとおり、sinとcosはちょっとずれただけの同じ曲線です。ですから、どちらか片方だけ身につけておけば、もう片方は「ああ、あれをずらしたやつだな」とすぐに理解することができます。

cosは真下にできた影

ではcosを解説します。cosは「真下にできた影」だと考えることができます。次のデモプログラムで遊んでみてください。ながさ1のえんぴつがあり、太陽光によって下にできる影がcosです。えんぴつの影が右に長くのびればのびるほど、cosは大きくなるのです。角度の入力欄の数字をかえるとえんぴつが回転します。えんぴつが右にたおれた状態だとcosは大きいですが、えんぴつをタテにするとcosは0になります。左に倒すと、マイナスになります。

角度:

これはcosの応用でもあります。ゲームでキャラクターの影の長さを計算したい時、cosが使えます。まあ、太陽が少しでも傾けばこのトリックは使えなくなってしまうのですが…。

影と波

cosは真下の影だということがわかりました。しかし疑問です。上の図によると、cosは波のような図形です。いったい影と波がどう関係あるのでしょう?

答えは、「えんぴつを回転させると、影がのびたりちぢんだりするが、それは波で海面が上がったり下がったりするのと同じ」です。大きくなったり小さくなったりを繰り返す自然現象を見たら、そこにcosがかくれていると見て間違いありません!月の満ち欠けだってcosなのです。

次のデモプログラムは、回転から波が作られる様子です。

回転速度:

sin

cosについては以上です。では、sinはどう考えればいいのでしょう?sinもある意味影です。ただし、真下にできる影ではなく、横から光を当てられて壁にできる影です。

回転速度:

このとおり、sinは真横にできる影です。cosが(赤道上で)真昼にできる影だとしたら、sinは夕焼けのとき建物にうつる影だと言えるでしょう。どちらもえんぴつを回転させると長くなったり短くなったりしますが、どういうときに長くなるかが違います。えんぴつを地面に垂直にたてたとき、真昼の影は長さ0ですが、夕焼けのときは長さ1です。これがsinとcosのグラフのズレの正体なのです。sinが1の時cosは0なのです。

ゲームのキャラクター移動

最後に、影よりもうちょっと実用的な応用について解説します。次のデモプログラムのように、sinとcosは、ゲームのキャラクターが動くとき位置座標を計算するのに使えるのです。

ロケットの進行方向:°

ロケットのアイコンはキャラクターの現在位置、黒い四角はキャラクターの次の瞬間の位置です。キャラクターのx座標y座標がどう変わるかが、cosとsinによって計算できるのです。sinとcosの必要性がご理解いただけたと思います!

拍手[5回]

PR