метод для вычисления смещений вдоль двух векторов (горизонтального и вертикального), основываясь на данных эксцентриситета и ориентации объектов

Задача такова - написать метод для вычисления смещений вдоль двух векторов (горизонтального и вертикального), основываясь на данных эксцентриситета и ориентации объектов. На входе - hor_vector, ver_vector и offset_vector. Сейчас я делаю это простейшим способом, просто сначала нормализую вектора горизонтали и вертикали, а потом для каждой из осей (x, y) делаю скалярное произведение вектора смещения и вектора оси. Но этот метод дает сбой, например при таких значениях:

hor_vector - 0.0, -1.0, 0.0.

ver_vector - 0.018057661227177894, 0.0, 0.999836947142385.

offset_vector - -0.014293568321676275, -7.75588430235275, -0.7914224070724902.

На выводе - x:7.755884 y:-0.791551 хотя значение x должно быть отрицательным(видно наглядно у объекта).

Также пробовал через систему уравнений и матрицу, не помогло.

Как можно рассчитать?


Ответы (1 шт):

Автор решения: MBo

Второй компонент оффсета сонаправлен со вторым компонентом hor_vector, так что положительное значение "х" - это нормально

→ Ссылка