我想计算两个向量 a 和 b 之间的角度。让我们假设这些是在原点。这可以通过
theta = arccos(a . b / |a| * |b|)
然而,arccos 给你的角度是 [0, pi],即它永远不会给你一个大于 180 度的角度,这正是我想要的。那么如何找出向量何时超过 180 度标记?在 2D 中,我会简单地让其中一个向量上的 y 分量的符号确定向量所在的象限。但是在 3D 中最简单的方法是什么?
编辑:我想保持问题的一般性,但我们开始了。我在 c 中对此进行编程,而我用来获取角度的代码是theta = acos(dot(a, b)/mag(a)*mag(b))
,您将如何以编程方式确定方向?