我有三个正交归一化向量 BASE、SEARCH 和 AXIS
AXIS 是一个轴向量
BASE 是一个参考向量,不会因过程而改变。
SEARCH 是一个向量,将在相对于 BASE 的值的 0 到 2 pi 范围内变化
我想要的是获得 BASE 和 SEARCH 之间的角度
我知道如何获得 0 到 pi 范围内的角度
如果这些是 2d 坐标,我可以使用 atan2() 并在值为负数时添加 2 pi,但我不知道如何在一般 3d 情况下执行此操作。
如果这些向量是 2d 并且向量 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
}
谢谢你,
约翰