我正在研究一个问题,我在右手坐标系中工作,其中 y 轴是直线向上的。我提供了一个表示 3 维向量的结构,如下所示:
struct vec{float x; float y; float z; };
我需要编写一个函数,该函数接受一个表示北方的单位向量和一个表示玩家前进向量的单位向量,如果他们面向的北方多于南方,则返回。不幸的是,我不知道从这里去哪里,我相信我必须做类似的事情:
PlayerDirection = sqrt((PlayerVector.x *= PlayerVector.x)
+ (PlayerVector.y *= PlayerVector.y)
+ (PlayerVector.z *= PlayerVector.z));
但我不知道从这里去哪里。任何帮助/解释都会有所帮助,谢谢。
原文由 user9564128 发布,翻译遵循 CC BY-SA 4.0 许可协议
对两个向量应用点积。如果两个向量之间的角度小于 90 度,点积将为正,否则为负。