Я хочу вычислить угол между двумя 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 возвращает радианы, поэтому вам может потребоваться преобразовать его в градусы. Результирующее значение должно быть от 0 до 180 градусов. Вы также должны убедиться, что векторы имеют ненулевую длину.
Источник:
https://math.stackexchange.com/questions/974178/how-to-calculate-the-angle-between-2-vectors-in-3d-space-given-a-preset-function