日本でハリウッドVFXを制作! 「経産省アイディアボックス」 結果:  
●まとめエントリはこちら ●FAQ ●お問い合わせは左のメールフォームから

2010年1月6日水曜日

sin, cosの用途

LearningMayaを読んでいて、Sin、Cosの項目に目がとまった。
決して理解できないほど難しいわけではないが、どうしても受け入れるには抵抗がある。
ずっとこの調子で、Sin,Cosについては、受け入れることができないできていた。

ずっと三角関数を勉強し直す習うしかないと思っていたが、それではいつになるかわからない。
ツールの一つとして少し使えればそれでいいのに、高校の勉強からやり直す必要はないだろう。
それに何のために、三角関数を勉強しているのかわからないままでは、どちらにしろ途中であきらめるのがいつものパターンだ。

そこで何で抵抗があるのかLearningMayaを長めながら、よーく考えてみた。
そして、そこにはsin,cosに関して以下の事を説明していないからだという結論に達した。
●なぜsin,cosを使うのか?
●これらを何故使うのか?
●何故そうなるのか?
●使用例が少ない。

「すごく便利なツールがあるよ。」と言っておきながら、陳腐な例を2~3紹介し、「どれだけ便利なのか?どうして便利なのか?は自分で考えてね」と言っているようなもの。

理数系の人、特にプログラミングを勉強してきた人には、ごく初歩の当たり前のことで説明するまでもないんだろうけど、高校の時に少しかじった程度の知識と経験しかないものには、ちんぷんかんぷんである。

そこで、三角関数とはどういうものか、数式ではなく、図解と簡単な文章で理解できないかさぐって、そこからなぜCGで三角関数をつかわれるのかを考えてみた。


【Flash】サイン・コサインを使った円運動のWonderfl
三角形と円の関係をアニメーションで表示

単位円と三角関数のグラフ
円とサイン、コサイン、タンジェントのグラフ

2-1-1-2 正弦波
「波」についての説明ですが、上記二つの関係をさらにわかりやすく説明してあります。
ちなみにこのページはホームページ「わかりやすい高校物理の部屋 」の一部です。
イラストやアニメーションが多用され、本当にわかりやすい。


Yahoo知恵袋「超簡単にサインカーブって何だか教えて頂けますか???
コサインカーブは位相がずれただけで
コサインカーブは、サインカーブを - 90゜ x 軸正の向きに平行移動したカーブです。
実はずっとそうではないかと思ってたんですが、サインとコサインを使い分けているケースがあるので、なにか大きな違いがあるのかとずっと考えていました。
ただ単にずれているだけなんですね。


波形がサイン、コサインを利用して作れることがわかってきました。
これを元に、なぜCGで、Melで、エクスプレッションで、三角関数が使われるのかをもう少し考えてみました。

●波形は、「一定の方向へ等速で移動しつつ、上下に往復運動する点によって作られている」。

●往復運動に着目すると「方向が変わるとき、速度が徐々に落ち、そして徐々に加速する(イーズイン、イーズアウト)」上下運動。

●円を描くことができる。
 運動を徐々にずらしてコイルのような形を作ることが出来る。
(横から見るとこれも波形)

●「波」の形状に還元できる事物は、動きであれ、形状あれ、音であれ、すべてこの三角関数を利用できる。

実際にどのようなものに使えるか考えてみた。
ブランコの動き、(周期運動)
エイのひれの動き(波のような形状、一点に着目すると上下運動)
海の波(そのまま)
スプリングの形状(円運動を徐々にずらしていったもの)
車の揺れ(上下運動を繰り返す周期運動)
周期性のあるシェーディング
消防ホースなどで、ノズルを左右に動かす動き。
船の揺れ
周期的なアニメーションカーブの作成

今はこの程度しか思いつかなかったが、後述のフーリエの定理が応用できれば、単純な周期だけでなく、一見周期性がないようにみえるようなものも創り出すことができると思う。
CGで多用されている理由が見えてきた。



波形はなぜ「サインコサイン」なのか
フーリエの定理というのがありまして、すべての周期関数は三角関数の重ね合わせで作ることができます。

「フーリエ」って聞いたことはあったんですが、そういうことだったんですね。
とりあえずフーリエでわかりやすそうなサイトを見つけましたが、まぁ自分にはこれでも敷居が高いです。

第1章 フーリエ変換?

  

0 件のコメント:

コメントを投稿