Углы эйлера из вектора

Ещё одна статья про кватернионы и углы Эйлера

По работе у меня возникла необходимость переводить координаты объекта из углов Эйлера в кватернионы и обратно.

В ходе разбирательства пришлось прочитать несколько статей на Хабре, посвященных кватернионам и углам Эйлера, Википедию и просто методички и статьи разных ВУЗов. Для удобства приведу ссылки на статьи, с Хабра:

Формулы для пересчёта углов Эйлера в кватеринионы и обратно найти можно, но

Опишу коротко суть проблемы:

  1. Тело в трёхмерном пространстве имеет 6 степеней свободы: 3 координаты и 3 угла поворота.
  2. С координатами всё хорошо, например, если они (4,5,2), то это означает, что тело нужно сдвинуть относительно начала координат на +4 единицы по оси X, на +5 единиц по оси Y и на +2 единицы по оси Z. При этом порядок сдвига не важен. Можно сначала сдвинуть по X, потом по Y, потом по Z, а можно в другой последовательности. От перемены мест слагаемых сумма не меняется.
  3. С поворотами всё гораздо хуже. Иногда может сложиться ощущение, что для них тоже просто достаточно задать углы поворота вокруг трёх осей и этого будет достаточно (например: перевернуть предмет на 180 градусов вокруг оси X, потом на 180 градусов вокруг оси Y, а затем на 90 градусов вокруг оси Z — в каком порядке не поворачивай — результат будет один и тот же). Эта ловушка возникает оттого, что нам легче всего оперировать углами типа 90 или 180 градусов, а они-то как раз и представляют из себя очень частный случай. В общем случае порядок поворотов имеет значение.

А как же быть с законом, говорящим, что от перестановки мест слагаемых сумма не меняется? Дело в том, что композиция нескольких поворотов соответствует уже не сумме векторов (как в случае с операциями параллельного переноса), а произведению. И произведению не просто чисел, а специальных объектов — матриц поворота, например — на которые коммутативность «обычного» умножения не распространяется. В зависимости от порядка выбора осей поворота и от того, будут ли поворачиваться оси вместе с объектом или поворачиваться будет только объект, можно выделить 24 типа описаний поворотов. Очень часто углы поворота вокруг осей называются углами Эйлера. Иногда, в некоторых источниках эти углы называются углами Тэйт-Брайана либо углами Эйлера в зависимости от того, все три оси, вокруг которых делается вращение разные (углы Тэйт-Брайана), либо же первая и последняя оси — одна и та же. Также эти углы называют angles of extrinsic rotation — если оси неподвижны или angles of intrinsic rotation — если оси вращаются вместе с объектом.
Чтоб не запутаться, приведу все типы вращений здесь:
Тейт-Брайана, внутренние:
ZYXr; YZXr; XZYr; ZXYr; YXZr; XYZr.
Эйлера, внутренние:
XYXr; XZXr; YZYr; YXYr; ZXZr; ZYZr.
Тейт-Брайана, внешние:
ZYXs; YZXs; XZYs; ZXYs; YXZs; XYZs.
Эйлера, внешние:
XYXs; XZXs; YZYs; YXYs; ZXZs; ZYZs.
Внешние углы комплементарны внутренним, прочитанным задом наперёд, например: внешние углы Эйлера 10, 20, 30 градусов в формате XYXs это то же самое, что и внутренние углы Эйлера 30, 20, 10 градусов в формате XYXr.

Собственно, об этом уже было сказано много раз. Зачем же писать новую статью? Дело в том, что информации о том, как переводить из углов Эйлера в кватернион и обратно — не так уж и много. И в большинстве случаев описывается только 1 или 2, 3, 6 систем углов Эйлера. Но не все 24. И по аналогии вывести остальные (и не ошибиться) не очень-то и просто. Во время «откапывания истины» мне удалось найти несколько онлайн-конвертеров из углов в кватернионы и по тому, в каком направлении увеличивается их возможность по конвертации можно понять, сколько ещё вариантов осталось не охвачено:
quat.zachbennett.com — один тип углов
energid.com — один тип углов
onlineconversion.com — один тип углов
quaternions.online — три типа углов
andre-gaschler.com — шесть типов углов

Единственное место, где я смог найти описание преобразований для всех 24 типов углов — это книга «Graphics Gems IV». Репозитарий с исходниками от этой книги находится здесь: Исходники к книге Graphics Gems IV. Если говорить про код преобразования из углов Эйлера в кватернионы и обратно, то эти исходники в репозитарии находятся здесь: . /GraphicsGems/gemsiv/euler_angle. Но у них есть один недостаток: с целью сделать максимально общую функцию расчёта углов и кватернионов, автор очень сильно усложнил код. Т.е. код получился очень компактным, но плохо подходящим для перевода на другие языки или для оптимизации под конкретные случаи. Так как мне очень нужно было разобраться со всеми 24-мя случаями, то пришлось этот код немного поисследовать и развернуть его в набор простых случаев. Также я написал небольшие юнит-тесты и проверил, что мой код работает корректно. Т.к. эти юнит-тесты используют код, скомпилированный из исходников от книги Graphics Gems, то выкладывать их (юнит-тесты) я не стал.

Не буду приводить в тексте статьи свои исходники (они написаны на языке Octave). Дам лишь ссылку на репозитарий и прокомментирую его содержимое:

Обеих функций в Octave нет. В Matlab поддерживаются только 6 типов углов Эйлера на неподвижных осях. В моих реализациях поддерживаются все 24 типа. При этом типы с буквой r на конце (например, XYZr) означают, что оси вращаются вместе с объектом. Типы с буквой s на конце (например, XYZs) означают, что оси остаются неподвижными.

Видео:Вращение, углы Эйлера, Кватернионы в UnityСкачать

Вращение, углы Эйлера, Кватернионы в Unity

Матрицы поворота, углы Эйлера и кватернионы (Rotation matrices, Euler angles and quaternions)

Объект обычно определяется в удобной для его описания локальной системе координат (ЛСК), а его положение в пространстве — в глобальной системе координат (ГСК).

В трёхмерном пространстве переход из одной СК в другую описывается в общем случае системой линейных уравнений:

Углы эйлера из вектора

Уравнения могут быть записаны через матрицы аффинных преобразований в однородных координатах одним из 2-х способов:

Углы эйлера из вектора

В ортогональных СК оси X, Y и Z взаимно перпендикулярны и расположены по правилу правой руки:

Углы эйлера из вектора

На рисунке справа большой палец определяет направление оси, остальные пальцы — положительное направление вращения относительно этой оси.

Все три вектора направлений есть единичными.

Углы эйлера из вектора

Ниже приводится единичная матрица для 2-х способов записи уравнений геометрических преобразований. Такая матрица не описывает ни перемещения, ни вращения. Оси ЛСК и ГСК совпадают.

Углы эйлера из вектора

Далее рассматривается матрица для второго способа матричной записи уравнений (матрица справа). Этот способ встречается в статьях значительно чаще.

При использовании матрицы вы можете игнорировать нижнюю строку. В ней всегда хранятся одни и те же значения 0, 0, 0, 1. Она добавлена для того, чтобы мы могли перемножать матрицы (напомню правило перемножения матриц и отмечу, что всегда можно перемножать квадратные матрицы). Подробнее см. Композиция матриц. Однородные координаты.

Остальные 12 значений определяют координатную систему. Первый столбец описывает компоненты направления оси X(1,0,0). Второй столбец задает направление оси Y(0,1,0), третий – оси Z (0,0,1). Последний столбец определяет положение начала системы координат (0,0,0).

Как будет выглядеть матрица Евклидового преобразования (преобразование движения) для задания ЛСК , с началом в точке (10,5,0) и повёрнутой на 45° вокруг оси Z глобальной СК, показано на рисунке.

Углы эйлера из вектора

Рассмотрим сначала ось X. Если новая система координат повернута на 45° вокруг оси z, значит и ось x повернута относительно базовой оси X на 45° в положительном направлении отсчета углов. Таким образом, ось X направлена вдоль вектора (1, 1, 0), но поскольку вектор системы координат должен быть единичным, то результат должен выглядеть так (0.707, 0.707, 0). Соответственно, ось Y имеет отрицательную компоненту по X и положительную по Y и будет выглядеть следующим образом (-0.707, 0.707, 0). Ось Z направления не меняет (0, 0, 1). Наконец, в четвертом столбце вписываются координаты точки начала системы координат (10, 5, 0).

Частным случаем матриц геометрических преобразований есть матрицы поворота ЛСК относительно базовых осей ГСК. Вектора осей ЛСК здесь выражены через синусы и косинусы углов вращения относительно оси, перпендикулярной к плоскости вращения.

Углы эйлера из вектора

От матрицы преобразований размером 4*4 можно перейти непосредственно к матрице поворота 3*3, убрав нижний ряд и правый столбец. При этом, система линейных уравнений записывается без свободных элементов (лямда, мю, ню), которые определяют перемещение вдоль осей координат.

Путем перемножения базовых матриц можно получать комбинированные вращения. Ниже рассмотрены возможности комбинировать вращениями через матрицы поворота на примерах работы с углами Эйлера.

Видео:#225. КВАТЕРНИОНЫ и углы ЭйлераСкачать

#225. КВАТЕРНИОНЫ и углы Эйлера

Матрицы поворота и углы Эйлера

Углы эйлера из вектораУглы эйлера из вектора

От выбора осей и последовательности вращения зависит конечный результат. На рисунках отображена следующая последовательность вращения относительно осей ЛСК:

  • оси Z (угол alpha);
  • оси X (угол beta);
  • оси Z (угол gamma).

Углы эйлера из вектора

Получил от читателя этой статьи вопрос: «Как понять, из каких углов поворота вокруг осей X,Y,Z можно получить текущее положение объекта, когда в качестве задания мы уже имеем повернутый объект, а нужно вывести его в это положение, последовательно повернув его из какого-то начального положения до полного совмещения с заданным?»

Мой ответ: «Если я правильно понял вопрос, то Вас интересует, как от начального положения перейти к заданному положению объекта, используя для этого элементарные базовые аффинные преобразования.

Начну с аналогии. Это как в шахматах. Мы знаем как ходит конь. Необходимо переместить его в результате многоходовки в нужную клетку на доске — при условии, что это возможно.

Подробно эта проблематика рассмотрена в статье Преобразование координат при калибровке роботов.

Умение правильно выбирать последовательность элементарных геометрических преобразований помогает в решении множества других задач (см. Примеры геометрических преобразований).»

Можно получить результирующую матрицу, которая определяет положение ГСК относительно ЛСК. Для этого необходимо перемножить матрицы с отрицательными углами в последовательности выполнения поворотов:

Углы эйлера из вектора

Углы эйлера из вектора

Почему знак угла поворота меняется на противоположный? Объяснение этому простое. Движение относительно. Абстрагируемся и представим, что ГСК меняет положение относительно неподвижной ЛСК. При этом направление вращения меняется на противоположное.

Перемножение матриц даст следующий результат:

Углы эйлера из вектора

Результирующую матрицу можно использовать для пересчета координат из ГСК в ЛСК:

Углы эйлера из вектора

Для пересчета координат из ЛСК в ГСК используется результирующая обратная матрица.

Углы эйлера из вектора

В обратной матрице последовательность поворота и знаки углов меняются на противоположные (в рассматриваемом примере снова на положительные) по сравнению с матрицей определения положения ГСК относительно ЛСК.

Углы эйлера из вектора

Углы эйлера из вектора

Перемножение матриц даст следующий результат:

Углы эйлера из вектора

Выше был рассмотрен случай определения углов Эйлера через вращение относительно осей ЛСК. То же взаимное положение СК можно получить, выполняя вращение относительно осей ГСК:

  • оси z (угол (gamma+pi/2));
  • оси y (угол угол beta);
  • оси z (угол (-alpha)).

Углы эйлера из вектора

Определение углов Эйлера через вращение относительно осей ГСК позволяет также просто получить зависимости для пересчета координат из ЛСК в ГСК через перемножение матриц поворота.

Углы эйлера из вектора

В рамках рассматриваемой задачи вместо угла gamma в матрицe Az используем угол gamma+pi/2.

Также легко можно перейти к зависимостям для пересчета координат из ГСК в ЛСК.

Углы эйлера из вектора

Обратная матрица получается перемножением обратных матриц в обратном порядке по сравнению с прямым преобразованием. При этом каждая из обратных матриц вращения может быть получена заменой знака угла на противоположный.

Детально с теоретическими основами аффинных преобразований (включая и вращение) можно ознакомиться в статье Геометрические преобразования в графических приложениях

Примеры преобразований рассмотрены в статьях:

Видео:ВРАЩЕНИЕ В КООРДИНАТАХ. КВАТЕРНИОНЫ И УГЛЫ ЭЙЛЕРА - С++ OpenGL ЧАСТЬ #3Скачать

ВРАЩЕНИЕ В КООРДИНАТАХ. КВАТЕРНИОНЫ И УГЛЫ ЭЙЛЕРА - С++ OpenGL ЧАСТЬ #3

Axis Angle представление вращения

Выбрав подходящую ось (англ. rotation axis) и угол (англ. rotation angle) можно задать любую ориентацию объекта.

Углы эйлера из вектора

Обычно хранят ось вращения в виде единичного вектора и угол поворота вокруг этой оси в радианах или градусах.

q = [ x, y, z, w ] = [ v, w ]

В некоторых случаях удобно хранить угол вращения и ось в одном векторе. Направление вектора при этом совпадает с направлением оси вращения, а его длина равна углу поворота:

q = [ x, y, z]; w=sqrt (x*x +y*y +z*z)

В физике, таким образом хранят угловую скорость. Направление вектора совпадает с направлением оси вращения, а длина вектора равна скорости (в радианах в секунду).

Можно описать рассмотренные выше углы Эйлера через Axis Angle представление в 3 этапа:

q1 = [ 0, 0, 1, alpha]; q2 = [ 1, 0, 0, beta]; q3 = [ 0, 0, 1, gamma ]

Здесь каждое вращение выполняется относительно осей текущего положения ЛСК. Такое преобразование равнозначно рассмотренному выше преобразованию через матрицы поворота:Углы эйлера из вектора

Возникает вопрос, а можно ли 3 этапа Axis Angle представления объединить в одно, подобно матрицам поворота? Попробуем решить геометрическую задачу по определению координат последнего вектора вращения в последовательности преобразований через Axis Angle представления:

q = [ x, y, z, gamma ]

Углы эйлера из вектора

Есть ли представление q= [x, y, z, gamma] композицией последовательности из 3-х этапов преобразований? Нет! Координаты x, y, z определяют всего лишь положение оси Z ЛСК после первого и второго этапов преобразований:

Углы эйлера из вектора

При этом ось Z, отнюдь, не есть вектор вращения для Axis Angle представления, которое могло бы заменить рассмотренные 3-х этапа преобразований.

Еще раз сформулирую задачу, которая математически пока не решена: «Необходимо найти значение угла (rotation angle) и положение оси (rotation axis), вращением относительно которой на этот угол можно заменить комбинацию из 3-х поворотов Эйлера вокруг осей координат».

К сожалению, никакие операции (типа объединения нескольких преобразований в одно) с Axis Angle представлениями нельзя выполнить. Не будем расстраиваться. Это можно сделать через кватернионы, которые также определяют вращение через параметры оси и угол.

Видео:3D Game Engine | 30 | Углы Эйлера, двигаем и вращаем камеруСкачать

3D Game Engine | 30 | Углы Эйлера, двигаем и вращаем камеру

Кватернионы

Кватернион (как это и видно по названию) представляет собой набор из четырёх параметров, которые определяют вектор и угол вращения вокруг этого вектора. По сути такое определение ничем не отличается от Axis Angle представления вращения. Отличия лишь в способе представления. Как же хранят вращение в кватернионе?

q = [ V*sin(alpha/2), cos(alpha/2) ]

В кватернионе параметры единичного вектора умножается на синус половины угла поворота. Четвертый компонент — косинус половины угла поворота.

Таблица с примерами значений кватернионов:

Углы эйлера из вектора

Представление вращения кватернионом кажется необычным по сравнению с Axis Angle представлением. Почему параметры вектора умножаются на синус половины угла вращения, четвертый параметр — косинус половины угла вращения, а не просто угол?

Откуда получено такое необычное представление кватерниона детально можно ознакомиться в статье Доступно о кватернионах и их преимуществах. Хотя программисту не обязательно знать эти детали, точно также как и знать, каким образом получены матрицы преобразования пространства. Достаточно лишь знать основные операции с кватернионами, их смысл и правила применения.

Видео:А.7.19 Поворот в трехмерном пространствеСкачать

А.7.19 Поворот в трехмерном пространстве

Основные операции над кватернионами

Кватернион удобно рассматривать как 4d вектор, и некоторые операции с ним выполняются как над векторами.

Видео:Поворот объекта через углы Эйлера и кватернионы в Unity 3DСкачать

Поворот объекта через углы Эйлера и кватернионы в Unity 3D

Сложение, вычитание и умножение на скаляр.

Смысл операции сложения можно описать как «смесь» вращений, т.е. мы получим вращение, которое находится между q и q’.

Что-то подобное сложению кватернионов выполнялось при неудачной попытке объединить 3 этапа Axis Angle представления.

Умножение на скаляр на вращении не отражается. Кватернион, умноженный на скаляр, представляет то же самое вращение, кроме случая умножения на 0. При умножении на 0 мы получим «неопределенное» вращение.

Пример сложения 2-х кватернионов:

Видео:Углы Эйлера и кватернионыСкачать

Углы Эйлера и кватернионы

Норма и модуль

Следует различать (а путают их часто) эти две операции:

Модуль (magnitude), или как иногда говорят «длина» кватерниона:

Через модуль кватернион можно нормализовать. Нормализация кватерниона — это приведение к длине = 1 (так же как и в векторах):

Видео:Матрица поворотаСкачать

Матрица поворота

Обратный кватернион или сопряжение ( conjugate )

Обратный кватернион задает вращение, обратное данному. Чтобы получить обратный кватернион достаточно развернуть вектор оси в другую сторону и при необходимости нормализовать кватернион.

Например, если разворот вокруг оси Y на 90 градусов = (w=0,707; x = 0; y = 0,707; z=0), то обратный = (w=0,707; x = 0; y = -0,707; z=0).

Казалось бы, можно инвертировать только компоненту W, но при поворотах на 180 кватернион представляется как (w=1; x = 0; y = 0; z=0), то есть, у него длина вектора оси = 0.

Фрагмент программной реализации:

Видео:Сферическое движениеСкачать

Сферическое движение

Инверсный (inverse) кватернион

Существует такой кватернион, при умножении на который произведение дает нулевое вращение и соответствующее тождественному кватерниону (identity quaternion), и определяется как:

Видео:Кватернионы | Вращение в 3D [Самая суть]Скачать

Кватернионы | Вращение в 3D [Самая суть]

Тождественный кватернион

Записывается как q[0, 0, 0, 1]. Он описывает нулевой поворот (по аналогии с единичной матрицей), и не изменяет другой кватернион при умножении.

Видео:Урок Houdini "Кватернионы для чайников" (RUS)Скачать

Урок Houdini "Кватернионы для чайников" (RUS)

Скалярное произведение

Скалярное произведение полезно тем, что дает косинус половины угла между двумя кватернионами, умноженный на их длину. Соответственно, скалярное произведение двух единичных кватернионов даст косинус половины угла между двумя ориентациями. Угол между кватернионами — это угол поворота из q в q’ (по кратчайшей дуге).

Видео:17. Введение в кватернионыСкачать

17. Введение в кватернионы

Вращение 3d вектора

Вращение 3d вектора v кватернионом q определяется как

причем вектор конвертируется в кватернион как

и кватернион обратно в вектор как

Видео:Угол между векторами. 9 класс.Скачать

Угол между векторами. 9 класс.

Умножение кватернионов

Одна из самых полезных операций, она аналогична умножению двух матриц поворота. Итоговый кватернион представляет собой комбинацию вращений — сначала объект повернули на q, а затем на q’ (если смотреть из глобальной системы координат).

Примеры векторного и скалярного перемножения 2-х векторов Углы эйлера из вектора Углы эйлера из векторавекторное произведение — вектор: Углы эйлера из вектораСкалярное произведение — число: Углы эйлера из вектора

Пример умножения 2-х кватернионов:

Видео:Трехмерные линейные трансформации | Сущность Линейной Алгебры, примечаниеСкачать

Трехмерные линейные трансформации | Сущность Линейной Алгебры, примечание

Конвертирование между кватернионом и Axis Angle представлением

Углы эйлера из вектора

В разделе Axis Angle представление вращения была сделана неудачная попытка объединить 3 Axis Angle представления в одно . Это можно сделать опосредовано. Сначала Axis Angle представления конвертируются в кватернионы, затем кватернионы перемножаются и результат конвертируется в Axis Angle представление.

Пример конвертирования произведения 2-х кватернионов в Axis Angle представление:

Фрагмент программы на C:

Видео:Кватернионы и октавы. 3. Повороты в пространстве. Углы Эйлера: крен, тангаж, рыскание.Скачать

Кватернионы и октавы. 3. Повороты в пространстве. Углы Эйлера: крен, тангаж, рыскание.

Конвертирование кватерниона в матрицу поворота

Матрица поворота выражается через компоненты кватерниона следующим способом:

Углы эйлера из векторагде

Углы эйлера из вектора

Проверим формулы конвертирования на примере конвертирования произведения 2-х кватернионов в матрицу поворотов:

Определяем элемент матрицы m[0][0] через параметры кватерниона:

Углы эйлера из вектора

Соответствующее произведению кватернионов (q1 и q2) произведение матриц поворотов было получено ранее (см. Матрицы поворота и углы Эйлера):

Углы эйлера из вектора

Как видим, результат m[0][0], полученный через конвертирование, совпал с значением в матрице поворота.

Фрагмент программного кода на С для конвертирования кватерниона в матрицу поворота:

При конвертировании используется только умножения и сложения, что является несомненным преимуществом на современных процессорах.

Часто для задания вращений используют только кватернионы единичной длины, но это не обязательно и иногда даже не эффективно. Разница между конвертированием единичного и неединичного кватернионов составляет около 6-ти умножений и 3-х сложений, зато избавит во многих случаях от необходимости нормировать (приводить длину к 1) кватернион. Если кусок кода критичен по скорости и вы пользуетесь только кватернионами единичной длины тогда можно воспользоваться фактом что норма его равна 1.

Видео:Кугушев Е. И. - Классическая механика - Относительное движение, углы ЭйлераСкачать

Кугушев Е. И. - Классическая механика - Относительное движение, углы Эйлера

Конвертирование матрицы поворота в кватернион

Углы эйлера из вектора

Конвертирование матрицы в кватернион выполняется не менее эффективно, чем кватерниона в матрицу, но в итоге мы получим кватернион неединичной длины. Его можно нормализовать.

Фрагмент программного кода конвертирования матрицы поворота в кватернион:

Видео:Урок 3. Произведение векторов и загадочный угол между векторами. Высшая математика | TutorOnlineСкачать

Урок 3. Произведение векторов и загадочный угол между векторами. Высшая математика | TutorOnline

Сферическое движение твердого тела в теоретической механике

Содержание:

Сферическое движение твердого тела:

Сферическим называют такое движение твердого тела, при котором точки тела описывают траектории, лежащие на сферах с одним и тем же неподвижным центром

Видео:13 Углы Эйлера и умножение матрицСкачать

13 Углы Эйлера и умножение матриц

Вращение тела вокруг точки

Пусть во время движения тела одна из его точек остается неподвижной. Тогда всякая другая точка тела может двигаться только по поверхности сферы, описанной вокруг неподвижной точки радиусом, равным расстоянию этой точки от неподвижной. Такое движение называют сферическим движением тела, или вращением вокруг неподвижной точки.

Положение тела, имеющего неподвижную точку, можно определить тремя независимыми углами

Углы Эйлера

Чтобы определить положение тела, имеющего неподвижную точку, построим две системы координатных осей с общим началом в этой точке О: основную xOyz и подвижную x’Oy’z’, неизменно связанную с движущимся телом (рис. 107). Три оси подвижной системы составляют 9 углов с тремя осями основной, но для определения положения тела, имеющего неподвижную точку, нет необходимости знать все 9 направляющих косинусов, так как они связаны известными из аналитической геометрии соотношениями, и независимых величин остается только три.

Положение тела, имеющего неподвижную точку, можно определить тремя независимыми углами. Эти углы обычно называют эйлеровыми.1 Ознакомимся с углами, предложенными Эйлером и применяемыми в астрономии, в гироскопии и во многих других науках.

Линией узлов называют линию ON пересечения плоскостей xОy и х’Оу’ основной и подвижной систем. Первый угол — угол прецессии ψ—лежит в плоскости хОу между неподвижной осью Ox и линией узлов. Его измеряют от оси Ox к оси ON против хода часов, если смотреть с оси Oz.

Второй—угол собственного вращения φ—лежит в плоскости х’Оу’ и его отмеривают от линии узлов до оси Ox’ против хода часовой стрелки, если смотреть с оси Oz’. Третий — уголУглы эйлера из вектора

Во время движения тела эти углы изменяются. Чтобы задать уравнение сферического движения, надо представить их как некоторые непрерывные однозначные функции времени:

Углы эйлера из вектора

Предельное положение такой оси, вокруг которой следует повернуть твердое тело на бесконечно малый угол, чтобы перевести его из одного положения в другое, бесконечно близкое первому, называют мгновенной осью вращения

Мгновенная ось вращения

Положение тела в пространстве можно определить различными способами. В частности, для этого можно задать положение трех его точек. Применим этот способ для изучения сферического движения тела. За одну из этих точек примем неподвижную точку О (рис. 108, а), а две другие, А и В, выберем произвольно, но с условием, чтобы их скорости не были параллельны между собой.

Рассмотрим сначала точку А. Проведем прямую через точку А и неподвижную точку О. Согласно основной теореме кинематики твердого тела (77) проекции скоростей точек А и Q на АО должны быть равны. Но скорость точки О, а потому и ее проекция равны нулю. Скорость точки А нулю не равна, но проекция ее на ЛО должна равняться нулю, следовательно, скорость точки А перпендикулярна к АО. Если мы проведем через точки А и О плоскость (рис. 108, б) перпендикулярно к скорости точки А, то по той же теореме скорости точек этой плоскости должны быть перпендикулярны к прямым, соединяющим эти точки с неподвижной точкой О, т. е. перпендикулярны плоскости.

Углы эйлера из вектора
Рис. 108

Рассмотрим теперь точку В и повторим те же рассуждения. Если мы проведем через точки В и О плоскость В перпендикулярно к скорости точки В, то скорости точек этой плоскости должны быть перпендикулярны к плоскости В. Точки, лежащие на линии OO1 пересечения плоскостей А и В, должны иметь скорости, перпендикулярные сразу к обеим пересекающимся плоскостям, что невозможно. Следовательно, скорости точек этой прямой OO1 в данное мгновение равны нулю. Мы пришли к убеждению, что при движении тела с одной неподвижной точкой через эту точку всегда можно провести ось, скорости точек которой в данное мгновение равны нулю. Эту ось называют мгновенной осью вращения.

Если в движущемся теле существует ось, скорости точек которой в данное мгновение равны нулю, то скорости других его точек должны быть пропорциональны их расстояниям от оси. Таким образом, картина распределения скоростей в теле с одной неподвижной точкой оказалась на данное мгновение такой же, как и в теле, вращающемся вокруг неподвижной оси.

При изучении вращения тела вокруг неподвижной оси мы условились о направлении вектора угловой скорости. То же условие сохраняется на сферическое движение, где вектор угловой скорости ω направлен от неподвижной точки О по мгновенной оси вращения в такую сторону, чтобы вращение тела представлялось происходящим против хода часов, если смотреть с конца вектора ω, к точке О. Этот вектор можно переносить вдоль оси вращения, но нельзя перемещать параллельно оси. Глубокое отличие вектора угловой скорости при сферическом движении заключается в том, что он постоянно меняет свое направление.

В связи с этим другое толкование принимает и угловое ускорение. Изображая угловое ускорение тела при вращении вокруг оси вектором, мы направляли его в ту или иную сторону по вектору угловой скорости. При вращении тела относительно неподвижной точки дело обстоит иначе: направление угловой скорости меняется. Мы будем называть вектором углового ускорения тела вектор, характеризующий изменение в данное мгновение величины и направления угловой скорости тела

Углы эйлера из вектора(97)

Направление этого вектора, вообще говоря, не совпадает с мгновенной осью вращения. Пусть, например, угловая скорость тела, имеющего неподвижную точку О (рис. 109) и не показанного на чертеже, в данное мгновение равна Углы эйлера из вектора, а через малый промежуток времени Δt станет Углы эйлера из вектораРазделив Углы эйлера из векторана Δt, мы получим вектор среднего углового ускорения тела. Если мы будем уменьшать промежуток времени Δt, оставляя неизменным его начало, то вектор среднего углового ускорения тела будет стремиться к своему предельному значению — вектору углового ускорения тела. Этот вектор Углы эйлера из векторапроходит через неподвижную точку О и параллелен касательной к годографу вектораУглы эйлера из вектора.

Углы эйлера из вектора
Рис. 109

При сферическом движении тела подвижный аксоид катится без скольжения по неподвижному

Аксоиды при сферическом движении

Положение мгновенной оси в теле, имеющем одну неподвижную точку, непрерывно меняется. Но в каждое мгновение ось имеет вполне определенное положение и всегда проходит через неподвижную точку О. Геометрическое место мгновенных осей вращения, проведенных в теле, представляет собой некоторую коническую поверхность и называется подвижным аксои-дом. Положение мгновенной оси вращения можно отметить и относительно неподвижных координат. Их геометрическое место относительно неподвижных координат, называемое неподвижным аксоидом, также является конической поверхностью с вершиной в той же неподвижной точке О. Оба конуса соприкасаются по мгновенной оси вращения. Сферическое движение тела можно представить как качение без скольжения подвижного аксоида по неподвижному.

Зависимость между проекциями скоростей точек тела, их координатами и проекциями угловой скорости выражается формулами Эйлера

Формулы Эйлера

Как было только что показано, скорость каждой точки K тела, имеющего неподвижную точку О, перпендикулярна к прямой КО и пропорциональна расстоянию KО sin α точки К от мгновенной оси вращения (рис. 110), т. е.

Таким образом, при сферическом движении, как и при вращательном, скорость всякой точки тела можно рассматривать как момент вектора угловой скорости тела относительно этой точки. Проведем из какой-либо точки К тела вектор Углы эйлера из векторав неподвижную точку О, принятую нами за начало отсчета. Этот вектор равен по модулю, но направлен противоположно радиусу-вектору Углы эйлера из вектораточки K относительно начала отсчета О. Момент вектора угловой скорости относительно точки K представим векторным произведением и запишем в виде определителя третьего порядка, как это мы делали (см. 17 и 17′) в статике при определении момента силы:
Углы эйлера из вектора

Раскладывая этот определитель по элементам первой строки:

Углы эйлера из вектора

раскладывая скорость точки по осям координат:

Углы эйлера из вектора

и сравнивая оба равенства, мы можем выразить проекции скорости точки через проекции угловой скорости тела и координаты точки:

Углы эйлера из вектора(98)

Эти соотношения, очень напоминающие знакомые нам выражения (23) момента силы относительно оси, отличаются от них не только тем, что вектор силы заменен вектором угловой скорости, но и знаками. Круговой заменой букв в любой из трех формул (98) можно получить две остальные. Эти формулы имеют применение при определении проекций скоростей точек тела, совершающего сферическое движение или вращение вокруг неподвижной оси. В частном случае, если тело вращается вокруг оси Oz, то проекции угловой скорости ωx = ωy = 0, a ωz=ω, мы получаем формулы (89).

Задача №1

Тело движется вокруг неподвижной точки — начала координат. В некоторое мгновение угловая скорость его изображается вектором, проекции которого на координатные оси равны Углы эйлера из вектора, Углы эйлера из вектора, Углы эйлера из вектора. Найти скорость точки К тела, определяемой координатами Углы эйлера из вектора, Углы эйлера из вектора,Углы эйлера из вектора.

Решение. Подставляя данные в формулы Эйлера, получим

Ответ. υ = 0. В этот момент времени мгновенная ось проходит через точки О и К.

Задача №2

Ось OA мельничного бегуна (рис. 111) вращается равномерно вокруг вертикальной оси с угловой скоростью ω1. Длина оси OA=l, радиус бегуна равен r. Пренебрегая скольжением бегуна, определить вектор его угловой скорости.

Решение. Движение бегуна можно рассматривать как вращение около неподвижной точки О. Бегун катится без скольжения, поэтому скорость точки C соприкосновения его с горизонтальной плоскостью равна нулю, и, следовательно, в каждое мгновение ось, проходящая через точки О и С, есть мгновенная ось вращения. Центр бегуна (точка А) движется вокруг вертикальной оси, проходящей через О, с постоянной по величине скоростью

Но точка А принадлежит бегуну, а потому ее скорость в то же время является вращательной скоростью вокруг мгновенной оси вращения ОС. Опуская из А перпендикуляр на мгновенную ось, получаем

Углы эйлера из вектора

где ω—угловая скорость бегуна, а а — угол AОС. Из двух выражений υA находим ответ.

Ответ. Углы эйлера из вектора

Ускорение всякой точки тела, совершающего сферическое движение, состоит из вращательного и осестремительного ускорений

Чтобы получить ускорение какой-либо точки К тела, находящегося в сферическом движении, продифференцируем по времени вектор ее скорости Углы эйлера из вектора

Углы эйлера из вектора

Углы эйлера из вектора(99)

Таким образом, ускорение каждой точки К тела, имеющего одну неподвижную точку О, состоит из векторной суммы двух ускорений: вращательного ускорения Углы эйлера из вектораи осестремительного ускорения
Углы эйлера из вектора. В общем случае оба эти ускорения не перпендикулярны друг другу, что необходимо учесть при их суммировании (рис. 112, а).

Углы эйлера из вектора(99 / )

Эту формулу называют формулой Ривальса.

Чтобы лучше уяснить чему равны и как направлены эти ускорения, обратимся к чертежу.

Вращательное ускорение (рис. 112, б) выражается векторным произведением углового ускорения Углы эйлера из вектораи радиуса вектора Углы эйлера из вектораСледовательно, оно направлено перпендикулярно плоскости, образованной этими векторами, и по модулю равно

Углы эйлера из вектора

где h1—длина перпендикуляра, опущенного из точки К на прямую, по которой направлено угловое ускорение ε. Из формулы (100) в частности следует, что эта прямая обязательно должна проходить через неподвижную точку О, потому что в противном случае точка О имела бы неравное нулю вращательное ускорение, т. е. стала бы подвижной.

Осестремительное ускорение по модулю равно

Углы эйлера из вектора

но этот синус равен единице, так как векторы угловой и вращательной скорости взаимно перпендикулярны. Модуль же вектора вращательной скорости υ = ωh, где h—длина перпендикуляра, опущенного из точки К на мгновенную ось вращения, а потому

Направлено осестремительное ускорение перпендикулярно векторам угловой скорости тела и вращательной скорости точки К, т. е. по прямой h от точки К к мгновенной оси вращения.

Задача №3

Найти скорость и ускорение точки В конического катка, равномерно катящегося без скольжения по горизонтальной конической кольцевой опоре (рис. 113). Диаметр катка BC = 30 см, OA = 20 см, скорость центра катка υА = 40 см/ceκ и направлена перпендикулярно плоскости чертежа на читателя.

Углы эйлера из вектора
Рис. 113

Решение. Мгновенная ось проходит через неподвижную точку О и точку С, скорость которой в данное мгновение равна нулю, потому что каток катится без скольжения. Вектор угловой скорости ω направлен по мгновенной оси. Модуль его определим, разделив скорость точки А на расстояние АК от мгновенной оси. Из треугольника OAC находим OC 2 = OA 2 + АС 2 = 625. Тогда

Углы эйлера из вектора

Имея эти данные, находим угловую скорость:

Углы эйлера из вектора

Чтобы найти скорость точки В, надо угловую скорость помножить на расстояние точки В от мгновенной оси h = OB sin 2α =25 . 2 . 0,6 . 0,8 =24 см. Скорость точки В перпендикулярна плоскости чертежа, направлена на читателя и по модулю равна 79,2 см/сек.

Найдем теперь вектор углового ускорения. Каток катится равномерно, величина угловой скорости не изменяется, но меняется ее направление, и конец вектора угловой скорости описывает годограф—окружность радиуса ω sinУглы эйлера из вектора. Угловая скорость ω1, с которой поворачивается вектор угловой скорости ω, равна угловой скорости, с которой поворачивается ось OA во время движения катка:

Углы эйлера из вектора

Вектор углового ускорения равен скорости годографа вектора угловой скорости. Он направлен перпендикулярно плоскости чертежа на читателя, но приложен в неподвижной точке О:

Углы эйлера из вектора

Чтобы определить вращательное ускорение точки В, надо помножить угловое ускорение в на длину перпендикуляра h1 -BO = 25 см:

Углы эйлера из вектора

Направлен вектор вращательного ускорения перпендикулярно вектору углового ускорения и плечу ВО и в такую сторону, чтобы вектор е указывал против хода часовой стрелки, если смотреть с конца вектора авр . Следовательно, вектор авр лежит в плоскости BOC и перпендикулярен ВО.

Осестремительное ускорение по модулю равно произведению квадрата модуля угловой скорости на длину перпендикуляра h, опущенного из точки В на мгновенную ось, и направлено к оси:

αoc = 3,3 2 ∙24 = 261 см/сек.

Угол между векторами вращательного и осестремительного ускорений равен 2α. Полное ускорение точки В определим, применив теорему косинусов
Углы эйлера из вектора

Ответ: υB= 79 см/сек, ав = 257 см/сек 2 .

Скорость и ускорение точки тела

Постановка Задачи. Твердое тело совершает сферическое движение по закону, заданному в углах Эйлера Углы эйлера из вектора Найти скорость и ускорение точки, положение которой дано относительно подвижных осей координат.

1. Воспользуемся кинематическими уравнениями Эйлера для определения проекций угловой скорости на подвижные оси координат

Углы эйлера из вектора

2. Находим проекции скорости Углы эйлера из векторана подвижные оси относительно которых задан радиус-вектор точки Углы эйлера из вектора

3. Вычисляем модуль скорости Углы эйлера из вектора

4. Дифференцируя по времени t проекции угловой скорости, получаем компоненты углового ускорения Углы эйлера из векторав подвижных осях.

5. Ускорение точки представляем в виде векторной суммы

Углы эйлера из вектора

где Углы эйлера из вектора— вращательное, a Углы эйлера из вектора— осестремительное ускорение.

6. Находим модуль ускорения Углы эйлера из вектора

Пример. Твердое тело совершает сферическое движение по закону, заданному в углах Эйлера Углы эйлера из вектораПри t = 1 с найти скорость и ускорение точки, положение которой относительно подвижных координат задано координатамиУглы эйлера из вектора

Углы Углы эйлера из вектораданы в рад. Решение

1. Зная зависимости угла прецессии Углы эйлера из вектораугла нутации Углы эйлера из вектораи собственного вращения Углы эйлера из вектораот времени, воспользуемся кинематическими уравнениями Эйлера (1) для определения проекций угловой скорости на подвижные оси координат. Подставляя в (1) заданные функции, получаем

Углы эйлера из вектора

При t = 1 вычисляем

Углы эйлера из вектора

Модуль угловой скорости тела

Углы эйлера из вектора

2. Вычисляем проекции скорости точки на подвижные оси:

Углы эйлера из вектора

3. Модуль скорости точки Углы эйлера из вектора

4. Дифференцируя пo t проекции угловой скорости, получаем компоненты углового ускорения тела в подвижных осях:

Углы эйлера из вектора

При t = 1 получаем

Углы эйлера из вектора

Модуль углового ускорения Углы эйлера из вектора

5. Ускорение точки представляем в виде векторной суммы:

Углы эйлера из вектора

Гл. 10. Сферическое движение тела

где Углы эйлера из вектора— вращательное, a Углы эйлера из вектора— осестремительное ускорение. Вычисляем отдельно их проекции на оси Углы эйлера из вектора

Углы эйлера из вектора

Компоненты ускорения получаем, суммируя Углы эйлера из вектора

Углы эйлера из вектора

6. Модуль ускорения Углы эйлера из вектораОтветы занесем в таблицу. Скорости — в м/с, ускорения — в Углы эйлера из вектораУглы эйлера из вектора

Замечание 1. При сферическом движении тела векторы угловой скорости и углового ускорения не лежат на одной прямойУглы эйлера из вектораУглы эйлера из вектораа вектор осестремительного ускорения в общем случае не перпендикулярен вектору вращательного ускорения. В этом можно убедиться, вычислив скалярное произведение Углы эйлера из вектора

Замечание 2. Кинематические уравнения Эйлера для определения проекций угловой скорости на неподвижные оси координат имеют вид

Углы эйлера из вектора

Рекомендую подробно изучить предмет:
  • Теоретическая механика
Ещё лекции с примерами решения и объяснением:
  • Плоско-параллельное движение твердого тела
  • Движение твердого тела, имеющего неподвижную точку
  • Движение твердого тела
  • Сложение движений точки
  • Произвольная пространственная система сил
  • Центр параллельных сил и центр тяжести
  • Поступательное движение твердого тела
  • Вращение твердого тела вокруг неподвижной оси

При копировании любых материалов с сайта evkova.org обязательна активная ссылка на сайт www.evkova.org

Сайт создан коллективом преподавателей на некоммерческой основе для дополнительного образования молодежи

Сайт пишется, поддерживается и управляется коллективом преподавателей

Whatsapp и логотип whatsapp являются товарными знаками корпорации WhatsApp LLC.

Cайт носит информационный характер и ни при каких условиях не является публичной офертой, которая определяется положениями статьи 437 Гражданского кодекса РФ. Анна Евкова не оказывает никаких услуг.

🔍 Видео

Внутреннее пространство углов ЭйлераСкачать

Внутреннее пространство углов Эйлера

Халилов В. Р. - Теоретическая механика - Кинематика твёрдого тела. Углы Эйлера (Лекция 12)Скачать

Халилов В. Р.  -  Теоретическая механика  -  Кинематика твёрдого тела. Углы Эйлера  (Лекция 12)
Поделиться или сохранить к себе: