Как можно доказать, что любое вращение твердого объекта в трехмерном (3D) пространстве может быть представлено последовательностью трех вращений вокруг предварительно фиксированных осей на 3 угла Эйлера? Я вижу это утверждение во многих учебниках, но пока не нашел доказательства утверждения.
Я понимаю, что обычно требуется 3 параметра для представления вращения трехмерного объекта (например, из Goldstein, Poole, and Safko, Classical Mechanics, 3rd Ed. Ch. 4). Однако я не могу быть уверен, что 3 угла Эйлера могут быть такими 3 параметрами.
На данный момент я принимаю, что для любого трехмерного поворота в группе SO(3) существует уникальная матрица, которая преобразует координаты точки в повернутом объекте. Я также принимаю, что такая матрица для вращения вокруг -ось по углу выражается как
Существует ли простое доказательство без долгих алгебраических манипуляций?
Алгоритм, который решает , , и для любой заданной правильной матрицы вращения 3 × 3 представляет собой конструктивное доказательство.
Умножение этого дает
Обратите внимание, что последний элемент последней строки . Учитывая некоторую правильную матрицу вращения , можно найти взяв арккосинус этого элемента:
Есть одна проблема с этим решением, и это когда . Это происходит, когда составляет ±1. Остальные элементы в последнем столбце и последней строке в этом случае тождественно равны нулю. Это называется "карданный замок". В этом случае мой «горячий беспорядок» становится намного проще:
Ваша последовательность zyz довольно странная в двух отношениях. Каноническая последовательность вращения Эйлера - это вращение вокруг z , за которым следует второе вращение вокруг оси x , повернутой один раз, за которым следует третье вращение вокруг оси z , повернутой дважды . У вас есть вращение вокруг начальной оси z , за которым следует второе вращение вокруг начальной оси y , а затем третье вращение вокруг начальной оси z . Это лишь две из двадцати четырех различных последовательностей вращения, которые часто называют углами Эйлера. Во всех двадцати четырех случаях вы обнаружите, что
Есть конструктивное доказательство, которое можно понять интуитивно. Я предполагаю, что z вертикально, а y вперед/назад. Вы вращаете объект вокруг оси z, пока вершина не окажется где-то на плоскости xz, т.е. y=0. Это делает верхнюю часть объекта перпендикулярной оси Y, поэтому вы можете вращать вокруг оси Y, пока она не будет направлена вверх. И теперь вам просто нужно повернуть его по оси Z, пока вперед не укажет правильное направление.
Если вы хотите узнать, каково было первоначальное вращение, просто выполните противоположные каждому из этих шагов и расположите их в обратном порядке. Например, если вы повернули на 10°, -30°, 50°, то для получения исходного поворота от правильного поворота это всего лишь -50°, 30°, -10°.
Эту последовательность операций всегда можно выполнить независимо от того, как ориентирован объект. Это не обязательно уникально. Если вверх уже указывает вверх, то он будет находиться в правильной плоскости, независимо от того, насколько сильно вы вращаете вокруг оси Z. Но дело в том, что есть некоторый поворот вокруг оси Z, который оставляет ее в правильной плоскости, которая есть.
Редактировать:
Если вам нужно нечто более математическое, предположим, что у вас есть ортогональная система векторов, и .
является вершиной объекта, поэтому сначала мы поворачиваем его так, . Мы просто поворачиваем его на , и в итоге он указывает на . И поверните его еще раз если это получило отрицательный, а не положительный, так что это . действительно не определено только в случае , и в этом случае не поворачивайте его вообще.
Теперь вращаемся на -ось по и мы получаем что должно быть так как это единичный вектор. Опять же, если он не определен, нам не нужно его вращать.
С и мы только вращаемся, .
Оттуда мы знаем , так что у нас есть .
Просто поверните его на -ось по плюс дополнительный если он обращен не в ту сторону, и мы получаем . И это только , так как это единичный вектор.
В таком случае и оба не могут быть равны нулю, поэтому нам не нужно беспокоиться о быть неопределенным вообще.
Так как мы вращались на -ось, и был уже на -ось, .
Все, что у нас осталось, это . С , а мы только вращаемся, .
Для удобства я сначала хотел бы изменить соглашение о знаках. То есть,
Далее вспомним, что трехмерная матрица вращения однозначно определяется путем указания, где три единичных вектора , , и сопоставляются с. [Это на самом деле три столбца .]
Это просто проверить сопоставляется с
Далее предположим, что мы фиксируем и , и установите . У нас есть , и два единичных вектора и (определяется аналогично ) удовлетворяют следующим условиям:
(1) Оба лежат в плоскости, перпендикулярной и содержит происхождение.
(2) Они имеют фиксированную ориентацию [потому что ].
(3) .
Дальнейшим вращением вокруг под произвольным углом , мы можем настроить и быть любыми двумя единичными векторами, удовлетворяющими указанным выше ограничениям. Следовательно, произвольная трехмерная матрица вращения может быть представлен
Теперь обратите внимание, что отображает единичный вектор (т.е. ) к . Следовательно,
Ян Лалински
Джон Алексиу
Дэвид Хаммен
Дэвид Хаммен