正接式は次のとおりです。
tan(angle) = opposite/adjacent
この図面を参照してください。
a
隣接する辺はどこo
、反対側theta
は角である。同様に、サインとコサインはsin(ang)= o / hおよびcos(ang)= a / hです。ここh
で、長辺は次のとおりです。http://www.mathwords.com/s/sohcahtoa.htm
一方atan
(ショートアークタンジェントとしても知られ、逆正接)の逆であるtan
ようなので、:
atan(opposite/adjacent) = angle
したがって、反対側と隣接側の両方の値がわかっている場合(たとえば、マウスの座標からオブジェクトの座標を減算することによって)、角度の値を取得できますatan
。
ただし、ゲーム開発では、隣接する辺が0に等しいことがかなり頻繁に発生します(たとえば、ベクトルのx座標が0)。tan(angle) = opposite/adjacent
致命的なゼロ除算エラーの可能性は明らかであることを忘れないでください。だからライブラリの多くは、呼び出された関数を提供atan2
しますが、両方指定することができます、x
そしてy
あなたのためのゼロ除算を避けるために、右象限に角度を与えるために、パラメータを。
(ガレスの礼儀、彼の答えも投票してください)
ゲーム開発での三角法の使用は、特にベクトルではかなり一般的ですが、通常、ライブラリは三角法の作業を隠します。sin / cos / tanは、三角形から値を見つけるための幾何学的操作を伴う多くのタスクに使用できます。必要なのは、長方形の三角形の他の値を見つけるための3つの値(辺の長さ/角度の値)だけなので、非常に便利です。
ゲームの特別な動作には、サイン関数とコサイン関数の「サイクリング」の性質を使用することもできます。たとえば、cos / sinがオブジェクトを他のオブジェクトの向きを変えるのによく使用するのを見てきました。