2015-02-02 2 views
0

У меня есть 3D-объект в пространстве. Здесь это с точки зрения сверху вниз: enter image description hereПолучите двумерное направление, представляющее направление наклона 3D-объекта

Y находится к нам, поэтому мы не можем видеть эту ось. Это вовсе не наклон, так что это направление будет Vector2 (0,0).

enter image description here

Теперь объект наклоняется вперед. Он наклоняется к положительной оси X. Направление теперь будет Vector2 (0,1)

enter image description here

Теперь это наклоне влево, это направление будет вектор (-1,0)

enter image description here

Теперь, наконец, , он наклоняется вперед, а левое направление - вокруг Vector (-0.7071, 0.7071)

Я использую Unity, поэтому у меня есть доступ к объектам Quaternion и Euler Angles в качестве Vector3. Как бы я вычислил направление наклона объекта от вращения объекта?

ответ

1

Насколько я понимаю вашу идею, вы ищете ортогонально литые параметры нормального вектора (абстрактно привязанного к телу). Если он поворачивает этот вектор после того, как cast получает значения (0,1), как вы сказали.

Вы можете получить компоненты x и y этого вектора путем разложения - в виде суммы двух перпендикулярных векторов, каждая из которых представляет один компонент (x, 0) и (0, y).

Другим способом достижения этого результата было бы иметь точку в трехмерном пространстве P (0,0,1), которая представляет вершину такого вектора. Теперь просто применяя матрицу вращения, эта точка будет перемещена в новое положение, которое представляет собой P (x, y, z), и здесь вы можете получить x и y, которые вы ищете.

Надеюсь, я ничего не испортил.