2016-05-28 3 views
2

У меня есть объект в 3D-пространстве, где все, что у меня есть, - положение и поворот эйлера. Как я могу рассчитать вперед и вверх векторы из информации, которую у меня есть?Вычислять вперед и вверх в векторе от положения и вращения эйлера?

Я знаю, что я могу вычислить вектор вперед таким образом:

Vector3 forward = (target.getPosition() - object.getPosition()).normalize(); 

.. где цель любой точки вдоль оси, которая ищет объект. Используя информацию, которую я имею, как я могу выбрать произвольную точку таким образом, чтобы нормализовать?

Я не уверен, как вообще решить проблему «вверх».

ответ

0

Сначала создайте матрицу преобразования из углов Эйлера (с тем же методом, что и при рендеринге). Затем извлеките векторы осей вперед и вверх от него. Например, в моих матрицах вида используется ось Z для направления вперед/назад и X оси слева и справа, поэтому я бы просто использовал эти два. Место расположения векторов:

Understanding 4x4 homogenous transform matrices

 Смежные вопросы

  • Нет связанных вопросов^_^