うさこ的には三角関数を”理解できる”かどうかが、flashで作りたいものを作れるかどうかの分かれ道じゃないかと思ってます。
そのくらい三角関数って、大事!
そして、すごく、現実的に解りやすい。(複素数なんかにくらべて)
よくある動きにぴたっと当てはめることができるので、とっても気持ちよいです。

「中学以上の数学なんて生きていく上で必要ない」なんて人には喝!
FLASHやる上では、必須!!です。

という訳で、今回は三角関数をお勉強していきましょう。


算数、数学って、ずっとずっと繋がってて、三角関数の前に、ちょっとおさらい。
小学校、中学校の復習です。
数学が辛いのは、ずっと繋がってることだなぁと個人的に思います。
高校で頑張ろうと思っても、小学校や中学校での知識も必要になってきてしまう……。

【小学校の比の話】
小学校で習う、比。
sincos_01

小学校4年生くらいで習った記憶がほんのりとあります。

別の書き方すると、
1×8=2×4
です。比率は同じだけ倍にしても一緒。ですよね。
約分とかにも通じるものがありますよね。
sincos_02

割る数、割られる数に同じ数をかけても同じ、という。

【中学校の相似の話】
三角形の形を比べるのに、合同、と、相似、を習ったと思います。
合同はピッタリかさなりあわせられるやつ。
相似は、同じ形でサイズ違い。

たとえば、3辺が3cm、4cm、5cmの三角形と、6cm、8cm、10cmの三角形は相似です。
sincos_03

辺の長さが倍ずつですね。
ほら、辺の長さを比で表すと、
6:8:10=3:4:5
です。辺の比が同じだったら、相似です。
相似の条件は三つあって、
・三つの辺の比が等しい
・二つの辺の比と、その間の角度が等しい
・二つの角度が等しい
となります。この場合は一つ目ですが、三角関数を考える上では二つ目が重要です。

ではでは、ちょっと応用。
よくある、三角定規の三角形を思い出してみて下さい。
sincos_04

sincos_05


じゃぁ、三角形の一番長い辺が1になるようにするとしたら?
比は、全部に同じ数字をかけたり割ったりしても、変わりません。
一番長い辺を1にするような比にするなら

sincos_06

sincos_07

ここまで大丈夫でしょうか?

【高校の三角関数の話】
高校ではまずタンジェントから習ったと思いますが、flashの世界では基本サインとコサインだけでOKです。
直角三角形を思い浮かべます。
右下に直角部分が来るようにします。
sincos_08


三角定規の形でも考えてみましょう。
sincos_09

sincos_10



斜辺が1になるような、直角三角形を、xy座標上に並べてみます。
すると、右上に当たる頂点が、円周上に来るのはお分かりでしょうか?
斜辺を1とする、と決めてしまっているので、斜辺の片方を原点に置くと、右上の頂点は、原点から1の距離の円周にのってくるのです。

左下の角度は色々変化していくので、仮にθ(シータ)とします。
すると、三角形の右上の頂点になる座標は、x座標がcosθ、y座標がsinθになっていることが解りますか?

三角関数と言えば、頭に三角形を思い浮かべて、サインコサイン……と考える人が多いと思いますが、ここで、三角形から、脱出します。
サインというのは、
原点を中心とした半径1の円の、θの位置でのy座標の値、
コサインというのは、原点を中心とした半径1の円の、x座標の値、
としてしまうのです。

そしたら、円周上のポイントが、(cosθ,sinθ)で表すことができますね。
まぁステキ!!
sincos_11

じゃぁ、例えばflash上でsample_mcというムービークリップが円運動(円周上をぐるぐる動く)するような動きを考えてみましょう。

sample_mc.x = Math.cos(i);
sample_mc.y = Math.sin(i);
i++;

これをループさせるだけですね。
意外と簡単。


θをx座標、sinθをy座標としてグラフを書いてみます。
すると、以下のような波を描きます。
これがいわゆるサインカーブってヤツです。

コサインも位相がずれるだけで、同じ形のカーブになるのに、コサインカーブと言わないのはなんでだろう?と高校時代から悩んでいます(笑)誰か教えて。
sincos_12



三角関数は、円運動のときや、折り返しの動き、ある範囲内での滑らかな数値の変化(循環)なんかに便利です。
ラジアンという単位に関しても、そのうち書きたいと思います。

ブログランキング このエントリーをはてなブックマークに追加

カテゴリ:FLASH/FLEX/AIR