Умные вопросы
Войти
Регистрация
точка стояния
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
ответ
ЗАЧЕМ НУЖНА ФИЛЬТРАЦИЯ ВОД?
4 года
назад
от
Хоменко Максим Сергеевич
3
ответов
Про вторую мировую (2)
4 года
назад
от
IIIanS
2
ответов
Дожил ли хоть один участник Восстания декабристов до создания РСДРП (1898г) ? С. П. Трубецкой, непример, умер в 1860г
13 года
назад
от
gfg fgfg