计算两个向量之间的角度

Calculating angle between two vectors

我想计算两个 System.Numerics.Vector3 之间的角度,但我找不到任何函数。 Google 仅查找 2d 点的结果。 我想在 c# 中实现它。

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 returns 弧度,因此您可能需要将其转换为度数。结果值应介于 0 到 180 度之间。您还应该确保向量的长度不为零。

来源:

https://math.stackexchange.com/questions/974178/how-to-calculate-the-angle-between-2-vectors-in-3d-space-given-a-preset-function