私はゲームに取り組んでおり、Entity
基本クラスを書いています。エンティティの多くはパーティクル (2D) のように動作するため、回転度の代わりに法線を使用したいと考えています。ただし、OpenGL を使用しているため、回転する法線の角度が必要です。法線から度に、またはその逆に変換する最速の方法は何ですか。などの三角関数を使用できることは知っていますatan2
sin
cos
が、より高速な方法があると確信しています。どんな助けや指示もいただければ幸いです。
3523 次
1 に答える
10
2 次元に制約されていて、方向ベクトル (x, y) を x 軸からの角度に変換しようとしてatan2(y, x)
いる場合、可能な値を制約しない限り、ほぼ間違いなく最速の方法になります。 x と y のいくつかの非常に些細なケースに。y 軸から度数を取得するatan2(x, y)
には、もちろん を使用します。この角度はラジアンになります。度に変換するには、180/pi を掛けます。これには、わずかな時間が必要です。
あなたが描いている図は、それatan2(x, y) * 180 / Math.PI
があなたが望む結果をもたらすことを示唆しています。
コードのプロファイリングを行って、この計算にボトルネックがあると判断した場合を除き (これはありそうもないことです)、速度を気にする必要はありません。
于 2012-01-05T00:43:54.933 に答える