1

3 つの直交正規化ベクトル BASE、SEARCH、AXIS があります。

AXIS は軸ベクトルです

BASE は、プロシージャに対して変更されない参照ベクトルです。

SEARCH は、BASE の値に対して 0 ~ 2 pi の範囲で変化するベクトルです。

私が欲しいのは、BASEとSEARCHの間の角度を取得することです

0からpiの範囲で角度を取得する方法を知っています

これらが 2 次元座標の場合、値が負の場合は atan2() を使用して 2 pi を追加できますが、一般的な 3 次元の場合にそれを行う方法がわかりません。

これらのベクトルが 2 次元で、ベクトル BASE が X 軸である場合、SEARCH の象限を使用して正しい範囲を決定できます。

この機能が必要です

float AngleBetween(Vector3 Axis, Vector3 Base, Vector3 Search) {
    // use cross and dot to get 0 to pi angle
    // get quadrant of Search
    // adjust angle based on quadrant
}

ありがとうございました、

ジョン

4

1 に答える 1