Умные вопросы
Войти
Регистрация
точка стояния
9 года
назад
от
Екатерина Круглова
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) - искомый вектор сдвига.
9 года
назад
от
Рустем Фатхетдинов
Связанные вопросы
1
ответ
Что будет если вколоть тренболон коту ?
8 месяцев
назад
от
Евгений Епифанов
1
ответ
Почему некоторые говорят, что все натуральное полезно? Ведь опиум и уран тоже натуральные
4 года
назад
от
JulianaCorli
4
ответов
Что значит "Ваш уровень IQ=144"? Похвастаться можно?
13 года
назад
от
Володя Воробьёв массажист