我想计算两个System.Numerics.Vector3之间的角度,但是我找不到任何函数。 Google仅找到2d点的结果。 我想在C#中实现。
答案 0 :(得分:3)
var v = new Vector3(1, 2, 3);
var u = new Vector3(4, 5, 6);
var angleInRadians = Math.Acos(Vector3.Dot(v, u) / (v.Length() * u.Length()));
请记住,ACos返回弧度,因此您可能需要将其转换为度。结果值应介于0到180度之间。您还应该确保向量的长度不为零。
来源: