Я знаю, что когда вы используете углы Эйлера и применяете повороты к объектам, вы должны придерживаться одной последовательности осей, например, XYZ, чтобы избежать блокировки карданного подвеса.
Этоне совсем верно.Вы не только должны придерживаться определенной последовательности осей, но также должны придерживаться определенной системы координат для поворотов.Как правило, вы слышали о вращениях с фиксированным телом и глобально-фиксированным (разница между ними главным образом заключается в порядке, в котором умножаются элементарные вращения). Кстати, та же проблема возникнет при использовании кватернионов.Углы Эйлера - это семейство представлений вращения, в основном существует 12 уникальных последовательностей элементарных вращений, которые вы можете сделать, чтобы получить конечную матрицу вращения.Плюс две возможные системы отсчета, которые дают вам 24 возможных представления, которые все называются «углами Эйлера» (хотя 12 являются избыточными).Наиболее часто встречающиеся версии: «3-2-1 body-fixed» и «1-2-3 global» (это одно и то же), «1-2-3 body-fixed» (обратная последовательность), «3-1-3 "с фиксированным корпусом" (очень часто используется в робототехнике) и, наконец, "Тайт-Брайан" ("1- (минус) 2-3 глобально-фиксированный" или "поворот-рыскание").Вы должны придерживаться одного соглашения.
Википедии нельзя доверять в этом вопросе (вместо этого попробуйте mathworld или настоящий учебник).На странице, на которую вы ссылаетесь, формула соответствует «1-2-3 с фиксированным телом» (по крайней мере, это то, что там сказано).
Наконец, «блокировки карданного подвеса» никогда не избежать,они присущи любой конвенции об углах Эйлера, они неизбежны.Если вы получите учебник по математике, вы можете прочитать о том, почему это так.
Если я буду следить за преобразованиями, подобными показанным на этой странице Википедии, получу ли я углы от -2PI до 2PI ввсе 3 оси?
Нет, вы получите два угла в диапазоне от -Pi до Pi и один угол от -Pi / 2 до Pi / 2 (опять же, это будетдело для всех конвенций).Для формулы вики вы получите Phi в [-Pi, Pi], Theta в [-Pi / 2, Pi / 2] и Psi в [-Pi, Pi].
сейчасУ меня есть углы, как мне узнать, какой порядок я должен применить к объекту?
Для «1-2-3 body-fixed» сначала это x, затем y, затем z.Поскольку он фиксирован по телу, порядок матриц вращений действительно Rx Ry Rz.Эта результирующая матрица может использоваться для предварительного умножения на вектор, компоненты которого выражены в системе координат повернутого объекта, и преобразования в компоненты, выраженные в «глобальной» системе координат.
Существует ли другая формула для разных последовательностей осей?
Да, конечно.У каждого соглашения есть своя формула.Вот почему в некоторых приложениях люди предпочитают разные соглашения, потому что они могут как бы не приближаться к особым точкам, которые соответствуют математическим особенностям в уравнениях преобразования.Соглашения имеют разные особенности, и иногда их можно использовать (и избегать), если в вашей системе есть определенная геометрия.
Моя математика немного ржавая, поэтому, пожалуйста, не делайте свой ответслишком математически экзотерически.
Надеюсь, я этого не сделал ... но вращение в 3D - не самая простая тема.Иногда они очень запутаны, и вы должны делать это осторожно.По моему опыту, вам всегда лучше придерживаться кватернионов полностью (за исключением случайного использования матриц вращения при необходимости).