2008/8/23 土曜日

アークタンジェントとタンジェントの違い 関数 逆関数

Filed under: 開発メモ — admin @ 1:50:10

角度における移動距離計算など、FPS系のゲームを作成するときに多用することが多いアークタンジェント。

(移動ターゲット座標における当たり判定を求めるときに自機からの玉の発射角度を何度にするべきかといった場合などに用いることがある。)

なかなかピン!とないこのアークタンジェントですが、 ようはtanの逆関数であるということ。

関数自体はブラックボックス化されている数式にデータを入れることで結果が帰ってくる物だ。その処理の流れを逆にするのが逆関数である。 考え方としては以下の通り。

1.りんごからりんごジュースを出したいときに関数に入れるとりんごジュースが、オレンジを入れたらオレンジジュースが出てくる。これは「しぼる」という箱と見ることができる。

2.りんごジュースを入れると、もとのリンゴが出てくる箱(実際にはないですが・・・)が「しぼる」の逆関数である。これは「原料をだす」という関数と見ることができる。

3.つまり、

「果実を搾ってジュースを作る」関数と「果実のジュースから元の果物を出す」という関数がお互いに逆関数だといえる。(function 、機能などとも言える)

4.数学的に考えれば、f(x) と g(x)がお互いに逆関数ならばすべてのxに対して y =f(x)、x = g(y)となる関数を言います。

5.三角関数は直角三角形の一つの角度から2辺の比を出す関数だが、その逆関数は二辺の比から角度を出す関数になる。

6.計算式では、 tan60° = √3 のような感じで角度を入力すると値が出てきます。 逆にアークタンジェントでは数値に対する関数 arctan√3 = 60°

7.最後に

 45° → タンジェント → 1

1 →  アークタンジェント → 45°

HTML convert time: 0.116 sec. Powered by WordPress ME