Вопрос вращения оси - PullRequest
       16

Вопрос вращения оси

0 голосов
/ 16 мая 2010

Используя левое правило, я поворачиваю один объект влево и вправо, используя ось y, и поворачиваю вверх / вниз, используя ось x. После того, как первый объект повернут вправо, вращение вверх / вниз должно осуществляться по оси z.

Однако, когда я пытаюсь вращаться с использованием оси z, после первого поворота это имеет тот же эффект, когда я вращаюсь с использованием оси y.

У кого-нибудь есть идеи?

Спасибо

Ответы [ 3 ]

0 голосов
/ 17 мая 2010

Не уверен, что ваш вопрос, но если вы спрашиваете, почему это происходит, ответ заключается в том, что вращения не являются коммутативными. То есть вращение тэты вокруг оси А, за которым следует поворот фи вокруг оси В, не совпадает с вращением фи вокруг оси В с последующим вращением тета вокруг оси А.

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

0 голосов
/ 18 мая 2010

Спасибо за все ответы:

Извините, я не четко сформулировал проблему. Это типичная проблема блокировки карданного подвеса. и мое решение состоит в том, чтобы использовать кватернионное вращение

0 голосов
/ 16 мая 2010

Правильный порядок поворотов, чтобы все было ровно, это крен, тангаж, рыскание. То есть вращение вокруг оси X, вращение вокруг оси Y, вращение вокруг оси Z.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...