Умные вопросы
Войти
Регистрация
точка стояния
10 года
назад
от
Екатерина Круглова
1 ответ
▲
▼
0
голосов
С начало вам надо чётко определить, что такое "Углы поворота объекта по всем трём осям". Поскольку повороты не коммутируют, то задание поворота несколькими углами - это всегда последовательность поворотов относительно некоторых осей на определённый угол (или поворот вокруг одного вектора - но это уже кватернионное представление) . Например, углы Эйлера - последовательность поворотов относительно OZ, OX и снова OZ.
Если у вас объект получается из базового объекта последовательностью поворотов (OX, a) , (OY, b) , (OZ, c) (a, b, c - углы в радианах) , и есть вектор (dx, dy, dz) в локальной системе кординат повёрнутого объекта, то получить сдвиг объекта на этот вектор в глобальной системе кординат можно так:
dy1=cos (a) *dy+sin (a) *dz; dz1=-sin (a) *dy+cos (a) *dz; / поворот относительно OX
dx1=cos (b) *dx-sin (b) *dz1; dz2=sin (b) *dx+cos (b) *dz1; / поворот относительно OY
dx2=cos (c) *dx1+sin (c) *dy1; dy2=-sin (c) *dx1+cos (c) *dy1; / поворот относительно OZ
Тогда (dx2, dy2, dz2) - искомый вектор сдвига.
10 года
назад
от
Рустем Фатхетдинов
Связанные вопросы
5
ответов
Как появилась жизнь на Земле? Слышал из космоса завезли?
7 года
назад
от
Король Артур
1
ответ
Гудит Сабвуфер При включении в сеть гудит Сабвуфер не мой и проверить нет возможности, больше никакой инфы неизвестно
10 года
назад
от
антон макаров
3
ответа
как вы учили английский самостоятельно? чем пользовались? и за какое время выучили?
14 года
назад
от
Ренат