Формализмы вращения в трех измерениях
В геометрии существуют различные формализмы , позволяющие выразить вращение в трех измерениях как математическое преобразование . В физике это понятие применяется к классической механике , где вращательная (или угловая) кинематика — это наука о количественном описании чисто вращательного движения . Ориентация . объекта в данный момент описывается с помощью тех же инструментов, поскольку она определяется как воображаемое вращение от исходного положения в пространстве, а не как фактически наблюдаемое вращение от предыдущего размещения в пространстве
Согласно теореме Эйлера о вращении , вращение твердого тела (или трехмерной системы координат с фиксированным началом координат ) описывается одним поворотом вокруг некоторой оси. Такое вращение можно однозначно описать минимум тремя действительными параметрами. Однако по разным причинам существует несколько способов его представления. Многие из этих представлений используют больше необходимых минимум трёх параметров, хотя каждое из них по-прежнему имеет только три степени свободы .
Примером использования представления вращения является компьютерное зрение , где автоматизированному наблюдателю необходимо отслеживать цель. Рассмотрим твердое тело с тремя ортогональными единичными векторами, объекта прикрепленными к его телу (представляющими три оси локальной системы координат ). Основная проблема состоит в том, чтобы указать ориентацию этих трех единичных векторов и, следовательно, твердого тела относительно системы координат наблюдателя, рассматриваемой как опорное положение в пространстве.
Вращения и движения
[ редактировать ]Формализмы вращения ориентированы на собственные ( сохраняющие ориентацию ) движения евклидова пространства с одной неподвижной точкой , вращение к которой относится . Хотя физические движения с фиксированной точкой являются важным случаем (например, описанные в системе центра масс или движения сустава ) , этот подход создает знания обо всех движениях. Любое собственное движение евклидова пространства распадается на вращение вокруг начала координат и перемещение . Какой бы порядок их композиции ни был, «чистая» составляющая вращения не изменится, однозначно определяемая полным движением.
«Чистые» вращения можно также понимать как линейные карты в векторном пространстве, снабженном евклидовой структурой, а не как карты точек соответствующего аффинного пространства . Другими словами, формализм вращения фиксирует только вращательную часть движения, содержащую три степени свободы, и игнорирует поступательную часть, содержащую еще три.
При представлении вращения в виде чисел на компьютере некоторые люди предпочитают представление кватернионов или представление ось+угол, поскольку они избегают блокировки карданного подвеса , которая может возникнуть при вращениях Эйлера. [1]
Альтернативы формализму
[ редактировать ]Матрица вращения
[ редактировать ]Упомянутую выше триаду единичных векторов еще называют базисом . Задание координат ( компонент ) векторов этого базиса в его текущем (повернутом) положении, в терминах опорных (неповернутых) координатных осей, позволит полностью описать вращение. Три единичных вектора, û , v̂ и ŵ , которые образуют повернутый базис, каждый состоит из 3 координат, что дает в общей сложности 9 параметров.
Эти параметры можно записать как элементы 3×3 матрицы A , называемой матрицей вращения . Обычно координаты каждого из этих векторов располагаются вдоль столбца матрицы (однако имейте в виду, что существует и широко используется альтернативное определение матрицы вращения, где координаты векторов, определенные выше, располагаются по строкам). [2] )
Не все элементы матрицы вращения независимы — как предписывает теорема Эйлера о вращении, матрица вращения имеет только три степени свободы.
Матрица вращения имеет следующие свойства:
- A — действительная ортогональная матрица , следовательно, каждая из ее строк или столбцов представляет собой единичный вектор .
- Собственные значения A равны где i — стандартная мнимая единица, обладающая свойством i 2 = −1
- Определитель A равен +1 , что эквивалентно произведению его собственных значений.
- След равен A θ что 1 + 2 cos , эквивалентно сумме его собственных значений.
Угол θ , который появляется в выражении собственного значения, соответствует углу оси Эйлера и представлению угла. соответствующий Собственный вектор, собственному значению 1, является сопутствующей осью Эйлера, поскольку ось является единственным (ненулевым) вектором, который остается неизменным при умножении (повороте) его влево на матрицу вращения.
Вышеуказанные свойства эквивалентны это еще один способ заявить, что ( û , v̂ , ŵ ) образуют трехмерный ортонормированный базис . Эти утверждения содержат в общей сложности 6 условий (в векторном произведении их 3), в результате чего матрица вращения остается всего с 3 степенями свободы, как и требуется.
Два последовательных вращения, представленные матрицами A 1 и A 2, легко объединяются как элементы группы, (Обратите внимание на порядок, поскольку вращаемый вектор умножается справа).
Легкость вращения векторов с помощью матрицы вращения, а также простота объединения последовательных вращений делают матрицу вращения полезным и популярным способом представления вращений, хотя она и менее лаконична, чем другие представления.
Ось и угол Эйлера (вектор вращения)
[ редактировать ]Из теоремы Эйлера о вращении мы знаем, что любое вращение можно выразить как одиночный поворот вокруг некоторой оси. Ось — это единичный вектор (уникальный, за исключением знака), который остается неизменным при вращении. Величина угла также уникальна: его знак определяется знаком оси вращения.
Ось можно представить как трехмерный единичный вектор. и угол скаляром θ .
Поскольку ось нормализована, она имеет всего две степени свободы . Угол добавляет третью степень свободы к этому представлению вращения.
Кто-то может пожелать выразить вращение как вектор вращения или вектор Эйлера , ненормализованный трехмерный вектор, направление которого определяет ось, а длина которого равна θ ,
Вектор вращения полезен в некоторых контекстах, поскольку он представляет собой трехмерное вращение только с тремя скалярными значениями (его компонентами), представляющими три степени свободы. Это справедливо и для представлений, основанных на последовательностях трех углов Эйлера (см. ниже).
Если угол поворота θ равен нулю, ось не определена однозначно. Объединение двух последовательных вращений, каждое из которых представлено осью и углом Эйлера, не является простым и фактически не удовлетворяет закону сложения векторов, который показывает, что конечные вращения вообще не являются векторами. Лучше всего использовать матрицу вращения или обозначение кватернионов, вычислить произведение, а затем преобразовать обратно в ось и угол Эйлера.
Эйлеровы вращения
[ редактировать ]Идея, лежащая в основе вращений Эйлера, состоит в том, чтобы разделить полное вращение системы координат на три более простых конститутивных вращения, называемых прецессией , нутацией и собственным вращением , каждое из которых является приращением одного из углов Эйлера . Обратите внимание, что внешняя матрица будет представлять вращение вокруг одной из осей системы отсчета, а внутренняя матрица представляет вращение вокруг одной из осей движущейся системы координат. Средняя матрица представляет собой вращение вокруг промежуточной оси, называемой линией узлов .
Однако определение углов Эйлера не является уникальным, и в литературе используется множество различных соглашений. Эти соглашения зависят от осей, вокруг которых осуществляются вращения, и их последовательности (поскольку вращения на сфере некоммутативны ) .
Используемое соглашение обычно указывается путем указания осей, вокруг которых происходят последовательные вращения (до составления), ссылаясь на них индексом (1, 2, 3) или буквой (X, Y, Z) . Сообщества инженеров и робототехников обычно используют углы Эйлера 3-1-3. Обратите внимание, что после составления независимых вращений они больше не вращаются вокруг своей оси. Самая внешняя матрица вращает две другие, оставляя вторую матрицу вращения над линией узлов, а третью в кадре, сопровождающем тело. Существует 3 × 3 × 3 = 27 возможных комбинаций трёх основных вращений, но только 3 × 2 × 2 = 12 из них можно использовать для представления произвольных трехмерных вращений в виде углов Эйлера. Эти 12 комбинаций позволяют избежать последовательных вращений вокруг одной и той же оси (например, XXY), что может уменьшить количество отображаемых степеней свободы.
Поэтому углы Эйлера никогда не выражаются через внешнюю систему отсчета или через сопутствующую систему вращающегося тела, а в смеси. другие соглашения (например, матрица вращения или кватернионы Чтобы избежать этой проблемы, используются ).
В авиации ориентация самолета обычно выражается как внутренние углы Тейта-Брайана , соответствующие соглашению z - y' - x ″ , которые называются курсом , возвышением и креном (или, синонимично, рысканьем , тангажем и креном ).
Кватернионы
[ редактировать ]Кватернионы , образующие четырехмерное векторное пространство , оказались очень полезными для представления вращений благодаря нескольким преимуществам перед другими представлениями, упомянутыми в этой статье.
Кватернионное представление вращения записывается как версор (нормализованный кватернион):
В приведенном выше определении кватернион хранится как массив в соответствии с соглашением, используемым в (Wertz 1980) и (Markley 2003). Альтернативное определение, используемое, например, в (Coutsias 1999) и (Schmidt 2001), определяет «скалярный» термин как первый элемент кватерниона, при этом другие элементы сдвинуты на одну позицию вниз.
По оси Эйлера
и угол θ компоненты этого версора выражаются следующим образом:
Проверка показывает, что параметризация кватернионов подчиняется следующему ограничению:
Последний термин (в нашем определении) часто называют скалярным термином, который берет свое начало от кватернионов, когда его понимают как математическое расширение комплексных чисел, записываемое как и где { i , j , k } — гиперкомплексные числа , удовлетворяющие
Умножение кватернионов, которое используется для задания составного вращения, выполняется так же, как и умножение комплексных чисел , за исключением того, что необходимо учитывать порядок элементов, поскольку умножение не является коммутативным. В матричной записи мы можем записать умножение кватернионов как
Таким образом, объединение двух последовательных вращений кватернионов так же просто, как использование матрицы вращения. Точно так же, как две последовательные матрицы вращения, A 1 и A 2 , объединяются как мы можем представить это с помощью параметров кватернионов таким же кратким способом:
Кватернионы являются очень популярной параметризацией благодаря следующим свойствам:
- Более компактно, чем матричное представление, и менее подвержено ошибкам округления.
- Элементы кватернионов непрерывно изменяются по единичной сфере в ℝ 4 , (обозначается S 3 ) при изменении ориентации, избегая прерывистых скачков (свойственных трехмерным параметризациям)
- Выражение матрицы вращения через параметры кватернионов не включает тригонометрических функций.
- Два отдельных вращения, представленных в виде кватернионов, легко объединить, используя произведение кватернионов.
Как и матрицы вращения, кватернионы иногда необходимо перенормировать из-за ошибок округления, чтобы убедиться, что они соответствуют действительным вращениям. Однако вычислительные затраты на перенормировку кватерниона намного меньше, чем на нормализацию матрицы 3 × 3 .
Кватернионы также отражают спинорный характер вращения в трех измерениях. Для трехмерного объекта, соединенного со своим (фиксированным) окружением слабыми веревками или лентами, веревки или ленты могут быть распутаны после двух полных оборотов вокруг некоторой фиксированной оси из исходного распутанного состояния. Алгебраически, кватернион, описывающий такое вращение, изменяется от скалярного значения +1 (изначально), через (скаляр + псевдовектор) до скалярного значения -1 (за один полный оборот), через (скаляр + псевдовектор) значения обратно к скаляру +1 (при два полных оборота). Этот цикл повторяется каждые 2 хода. После 2 n оборотов (целое n > 0 ), без каких-либо промежуточных попыток распутывания, нити/ленты можно частично распутать обратно в состояние 2 ( n − 1) оборотов при каждом применении той же процедуры, которая используется при распутывании от 2 оборотов к 0 поворотов. Применение той же процедуры n раз вернет 2 n -запутанный объект обратно в распутанное состояние или состояние нулевого поворота. Процесс распутывания также устраняет любое скручивание, вызванное вращением самих струн/лент. Для демонстрации этих фактов можно использовать простые трехмерные механические модели.
Вектор Родригеса
[ редактировать ]Вектор Родригеса (иногда называемый вектором Гиббса , с координатами, называемыми параметрами Родригеса ) [3] [4] можно выразить через ось и угол поворота следующим образом:
Это представление является многомерным аналогом гномонической проекции , отображающим единичные кватернионы из 3-сферы в 3-мерную чисто векторную гиперплоскость.
Он имеет разрыв при угле 180° ( π радиан): поскольку любой вектор вращения r стремится к углу в π радиан, его тангенс стремится к бесконечности.
Вращение g, за которым следует вращение f в представлении Родригеса, имеет простую форму композиции вращения.
Сегодня самый простой способ доказать эту формулу — это (точное) дублетное представление , где g = n̂ tan a и т. д.
Комбинаторные особенности только что упомянутого вывода матрицы Паули также идентичны эквивалентному выводу кватернионов , приведенному ниже. Постройте кватернион, связанный с пространственным вращением R как, композиция вращения RB с осью и с RA Тогда собой вращение RC представляет = RB R A углом вращения , определяемыми произведением кватернионов, то есть
Разверните это произведение кватернионов до
Разделим обе части этого уравнения на тождество, полученное из предыдущего: и оценить
Это формула Родригеса для оси составного вращения, определенной через оси двухкомпонентных вращений. Эту формулу он вывел в 1840 г. (см. стр. 408). [3] Три оси вращения A , B и C образуют сферический треугольник, а двугранные углы между плоскостями, образованными сторонами этого треугольника, определяются углами поворота.
Модифицированные параметры Родригеса (MRP) можно выразить через ось Эйлера и угол следующим образом: Его компоненты можно выразить через компоненты единичного кватерниона, представляющие то же вращение, что и
Модифицированный вектор Родригеса представляет собой стереографическую проекцию, отображающую единичные кватернионы из трехмерной сферы на трехмерную чисто векторную гиперплоскость. Проекция противоположного кватерниона — q приводит к другому модифицированному вектору Родригеса p. с чем проекция исходного кватерниона q . Сравнивая компоненты, получаем, что Примечательно, что если один из этих векторов лежит внутри единичной 3-сферы, другой будет лежать снаружи.
Параметры Кэли – Клейна
[ редактировать ]См. определение в Wolfram Mathworld .
Аналоги более высокой размерности
[ редактировать ]Закон векторного преобразования
[ редактировать ]Активные вращения трехмерного вектора p в евклидовом пространстве вокруг оси n на угол η можно легко записать в виде скалярного и векторного произведения следующим образом:
где — продольная составляющая p вдоль n , определяемая скалярным произведением , является поперечной компонентой p относительно n , и
является произведением p n на . векторным
Приведенная выше формула показывает, что продольная составляющая p остается неизменной, тогда как поперечная часть p поворачивается в плоскости, перпендикулярной n . Эта плоскость охватывает поперечную часть самого p и направление, перпендикулярное как p, так и n . Вращение непосредственно идентифицируется в уравнении как двумерное вращение на угол η .
Пассивные вращения можно описать той же формулой, но с обратным знаком либо η, либо n .
Формулы преобразования между формализмами
[ редактировать ]Матрица вращения ↔ углы Эйлера
[ редактировать ]Углы Эйлера ( φ , θ , ψ ) можно извлечь из матрицы вращения A путем проверки матрицы вращения в аналитической форме.
Матрица вращения → Углы Эйлера ( z - x - z внешние)
[ редактировать ]Используя соглашение x , внешние углы Эйлера 3-1-3 φ , θ и ψ (вокруг осей z , x и снова -ось) можно получить следующим образом:
Обратите внимание, что atan2( a , b ) эквивалентен arctan a / b где также учитывается квадрант точка ( b , a ) , в котором находится ; см . Атан2 .
При осуществлении преобразования приходится учитывать несколько ситуаций: [5]
- Обычно в интервале [− π , π ] существует два решения. 3 . Приведенная выше формула работает только тогда, когда θ находится в интервале [0, π ] .
- В частном случае A 33 = 0 φ и ψ будут получены из A 11 и A 12 .
- Существует бесконечно много, но счетно много решений вне интервала [− π , π ] 3 .
- Применимы ли все математические решения для данного приложения, зависит от ситуации.
Углы Эйлера ( z - y ′- x ″ внутренние) → матрица вращения
[ редактировать ]Матрица вращения A генерируется из внутренних углов Эйлера 3-2-1 путем умножения трех матриц, сгенерированных вращением вокруг осей.
Оси вращения зависят от конкретного используемого соглашения. В соответствии с соглашением x вращения происходят вокруг осей x , y и z с углами φ , θ и ψ , отдельные матрицы имеют следующий вид:
Это дает Примечание. Это справедливо для правосторонней системы, которая используется почти во всех инженерных и физических дисциплинах.
Интерпретация этих правосторонних матриц вращения заключается в том, что они выражают преобразования координат ( пассивные ), а не точечные преобразования ( активные ). Поскольку A выражает поворот от локального кадра 1 к глобальному кадру 0 (т. е. A кодирует оси кадра 1 относительно кадра 0 ), элементарные матрицы вращения составляются, как указано выше. Поскольку обратное вращение — это просто транспонированное вращение, если бы мы хотели выполнить глобальное вращение из кадра 0 в кадр 1 , мы бы написали
Матрица вращения ↔ ось/угол Эйлера
[ редактировать ]Если угол Эйлера θ не кратен π , ось Эйлера ê и угол θ можно вычислить из элементов матрицы вращения A следующим образом:
Альтернативно можно использовать следующий метод:
Собственное разложение матрицы вращения дает собственные значения 1 и cos θ ± i sin θ . Ось Эйлера — это собственный вектор, соответствующий собственному значению числа 1, а θ можно вычислить по остальным собственным значениям.
поскольку это нормализованный вектор, охватывающий нулевое пространство матрицы I - A. Ось Эйлера также можно найти с помощью разложения по сингулярным значениям ,
Чтобы преобразовать другим способом, матрицу вращения, соответствующую оси Эйлера ê и углу θ, можно вычислить в соответствии с формулой вращения Родригеса (с соответствующей модификацией) следующим образом:
где I 3 — 3 × 3 единичная матрица , и
– матрица перекрестного произведения .
Это распространяется на:
Матрица вращения ↔ кватернион
[ редактировать ]При вычислении кватерниона из матрицы вращения возникает неоднозначность знака, поскольку q и − q представляют одно и то же вращение.
Один из способов вычисления кватерниона из матрицы вращения A выглядит следующим образом:
Есть три других математически эквивалентных способа вычисления q . Числовую неточность можно уменьшить, избегая ситуаций, в которых знаменатель близок к нулю. Один из трех других методов выглядит следующим образом: [6] [7]
Матрица вращения, соответствующая кватерниону q, может быть вычислена следующим образом: где что дает
или эквивалентно
Это называется формулой Эйлера–Родригеса для матрицы преобразования
Углы Эйлера ↔ кватернион
[ редактировать ]Углы Эйлера ( z - x - z внешние) → кватернион
[ редактировать ]Мы рассмотрим x- конвенции 3-1-3 внешние углы Эйлера для следующего алгоритма. Условия алгоритма зависят от используемого соглашения.
Мы можем вычислить кватернион из углов Эйлера ( φ , θ , ψ ) следующим образом:
Углы Эйлера ( z - y ′- x ″ внутренние) → кватернион
[ редактировать ]Кватернион, эквивалентный углам рыскания ( ψ ), тангажа ( θ ) и крена ( φ ). или внутренние углы Тейта – Брайана, соответствующие соглашению z - y ′- x ″ , могут быть вычислены по формуле
Кватернион → Углы Эйлера ( z - x - z внешние)
[ редактировать ]Учитывая кватернион вращения конвенции по x- 3-1-3 внешние углы Эйлера ( φ , θ , ψ ) можно вычислить по формуле
Кватернион → Углы Эйлера ( z - y ′- x ″ внутренние)
[ редактировать ]Учитывая кватернион вращения рыскание , углы тангажа и крена или внутренние углы Тейта – Брайана , соответствующие соглашению z - y ′- x ″ , могут быть вычислены по формуле
Ось Эйлера – угол ↔ кватернион
[ редактировать ]Учитывая ось Эйлера ê и угол θ , кватернион
может быть вычислено с помощью
Учитывая кватернион вращения q , определите Тогда ось Эйлера ê и угол θ можно вычислить по формуле
Матрица вращения ↔ вектор Родригеса
[ редактировать ]Вектор Родригеса → Матрица вращения
[ редактировать ]Поскольку определение вектора Родригеса может быть связано с кватернионами вращения: Используя следующее свойство Формулу можно получить факторизацией q 2
r из окончательного выражения, полученного для кватернионов:
Приводим к окончательной формуле:
Формулы преобразования производных
[ редактировать ]Матрица вращения ↔ угловые скорости
[ редактировать ]Вектор угловой скорости можно извлечь из производной по времени матрицы вращения d A / d t по следующему соотношению:
Вывод адаптирован из Иоффе. [8] следующее:
Для любого вектора r 0 рассмотрим r ( t ) = A ( t ) r 0 и продифференцируем его:
Производная вектора — это линейная скорость его кончика. Поскольку A является матрицей вращения, по определению длина r ( t ) всегда равна длине r0 и , следовательно, не меняется со временем. Таким образом, когда r ( t ) вращается, его кончик движется по окружности, а линейная скорость его кончика касается окружности; т. е. всегда перпендикулярно r ( t ) . В этом конкретном случае связь между вектором линейной скорости и вектором угловой скорости равна (см. круговое движение и векторное произведение ).
Ввиду транзитивности приведенных выше уравнений
что подразумевает
Кватернион ↔ угловые скорости
[ редактировать ]Вектор угловой скорости можно получить из производной кватерниона d q / d t следующим образом: [9] где q̃ — сопряженное (обратное) число q .
И наоборот, производная кватерниона равна
Роторы в геометрической алгебре
[ редактировать ]Формализм геометрической алгебры (ГА) обеспечивает расширение и интерпретацию метода кватернионов. Центральным элементом ГА является геометрическое произведение векторов, расширение традиционных внутренних и перекрестных произведений , определяемое формулой
где символ ∧ обозначает внешнее произведение или клиновое произведение . Это произведение векторов a и b дает два члена: скалярную часть внутреннего произведения и бивекторную часть клинового произведения. Этот бивектор описывает плоскость, перпендикулярную тому, что вернуло бы векторное произведение векторов.
Бивекторы в GA обладают некоторыми необычными свойствами по сравнению с векторами. Под геометрическим произведением бивекторы имеют отрицательный квадрат: бивектор x̂ŷ описывает xy -плоскость. Его квадрат равен ( x̂ŷ ) 2 = x̂ŷx̂ŷ . Поскольку единичные базисные векторы ортогональны друг другу, геометрическое произведение сводится к антисимметричному внешнему произведению, поэтому x̂ и ŷ можно свободно менять местами за счет коэффициента -1. Квадрат уменьшается до − x̂x̂ŷŷ = −1, поскольку сами базисные векторы квадратичны до +1.
Этот результат справедлив вообще для всех бивекторов, и в результате бивектор играет роль, аналогичную мнимой единице . Геометрическая алгебра использует бивекторы в своем аналоге кватерниона, ротора , заданного формулой где B̂ — единичный бивектор, описывающий плоскость вращения . Поскольку B̂ приводит в квадрат к −1, в степенной ряд разложение R порождает тригонометрические функции . формула вращения, которая сопоставляет вектор a с повернутым вектором b, Тогда равна где является противоположностью (меняя порядок векторов в эквивалентно изменению его знака).
Пример. Вращение вокруг оси может быть достигнуто путем преобразования v̂ в его двойной бивектор, где i = x̂ŷẑ — элемент единичного объема, единственный тривектор (псевдоскаляр) в трехмерном пространстве. Результат
Однако в трехмерном пространстве зачастую проще оставить выражение для B̂ = iv̂ , используя тот факт, что я коммутирует со всеми объектами в 3D, а также возводит в квадрат -1. поворот вектора x̂ в этой плоскости на угол θ Тогда равен
Признавая, что и что — v̂x̂v̂ является отражением x̂ относительно плоскости, перпендикулярной v̂, даёт геометрическую интерпретацию операции вращения: вращение сохраняет компоненты, которые параллельны v̂, и изменяет только те, которые перпендикулярны. Затем вычисляются условия:
Тогда результат вращения
Простая проверка этого результата — угол θ = 2 / 3 π . Такое вращение должно отобразить x̂ в ŷ . Действительно, вращение сводится к
именно так, как ожидалось. Эта формула вращения справедлива не только для векторов, но и для любого мультивектора . Кроме того, при использовании углов Эйлера сложность операции значительно снижается. Сложные вращения возникают в результате умножения роторов, поэтому общий ротор по углам Эйлера равен но Эти роторы выходят из экспоненты следующим образом: где R β относится к вращению в исходных координатах. Аналогично для вращения γ : Учитывая, что R γ и R α коммутируют (вращения в одной плоскости должны коммутировать), и общий ротор становится
Таким образом, сложные повороты углов Эйлера становятся серией эквивалентных поворотов в исходной фиксированной системе отсчета.
Хотя роторы в геометрической алгебре работают почти идентично кватернионам в трех измерениях, сила этого формализма заключается в его общности: этот метод подходит и действителен в пространствах с любым количеством измерений. В 3D вращение имеет три степени свободы, степень для каждой линейно независимой плоскости (бивектора), в которой может происходить вращение. Известно, что пары кватернионов могут использоваться для создания вращений в 4D, что дает шесть степеней свободы. и подход геометрической алгебры подтверждает этот результат: в 4D существует шесть линейно независимых бивекторов, которые можно использовать в качестве генераторов вращений.
Угол-угол-угол
[ редактировать ]Вращение можно моделировать как по оси, так и по углу; как показано на примере гироскопа , ось которого проходит через ротор, и величины вращения вокруг этой оси, демонстрируемой вращением ротора; это вращение можно выразить как угол ∗ (ось) , где ось — это единичный вектор, задающий направление оси ротора. От начала координат в любом направлении идет одна и та же ось вращения, причем масштаб угла эквивалентен расстоянию от начала координат. Аналогично, из любой другой точки пространства тот же вектор направления, примененный относительно ориентации, представленной начальной точкой, а не началом координат, применяет то же изменение вокруг тех же осей, которые задает единичный вектор. Ось угла ∗ , масштабирующая каждую точку, дает уникальную координату в обозначении угол-угол-угол. Разница между двумя координатами немедленно дает единую ось вращения и угол между двумя ориентациями.
Натуральный логарифм кватерниона представляет собой искривление пространства на 3 угла вокруг 3 осей вращения и выражается в длине дуги; аналогичны углам Эйлера, но не зависят от порядка. [10] Существует определение сложения вращений по формуле произведения Ли , которое заключается в том, что они представляют собой сумму бесконечно малых шагов каждого вращения, применяемого последовательно; это будет означать, что вращения являются результатом всех вращений, примененных в один и тот же момент, а не серии вращений, примененных впоследствии.
Оси вращения выровнены по стандартным декартовым осям x , y , z . Эти повороты можно просто складывать и вычитать, особенно когда вращаемые кадры закреплены друг за другом, как в цепочках IK. Различия между двумя объектами, находящимися в одной системе отсчета, можно найти путем простого вычитания их ориентации. Вращения, которые применяются из внешних источников или происходят из источников относительно текущего вращения, по-прежнему требуют умножения, предусмотрено применение формулы Родригеса.
Вращение от каждой координаты оси представляет собой вращение плоскости, перпендикулярной указанной оси, одновременно со всеми остальными осями. Хотя меры можно рассматривать в углах, на самом деле их представлением является длина дуги кривой; угол подразумевает вращение вокруг точки, где кривизна — это дельта, приложенная к текущей точке в инерциальном направлении.
Просто наблюдательное примечание: логарифмические кватернионы имеют кольца или октавы вращения; то есть для вращений, превышающих 4 π, есть соответствующие кривые. Кривизны объектов, приближающихся к этой границе, кажутся хаотично прыгающими по орбитам.
Для «читабельных» углов можно использовать 1-норму для изменения масштаба углов, чтобы они выглядели более «подходящими»:
Другие связанные значения можно сразу вывести: Общий угол поворота: Ось вращения:
Представление кватернионов
[ редактировать ]Вычисление базовой матрицы
[ редактировать ]Это было построено путем вращения векторов (1,0,0) , (0,1,0) , (0,0,1) и уменьшения констант.
Учитывая ввод Q = [ X , Y , Z ] ,
Которые используются для вычисления результирующей матрицы
Альтернативный базисный расчет
[ редактировать ]Альтернативно это можно использовать. Учитывая A = [ X , Y , Z ] , преобразуйте в угловую ось θ = ‖ A ‖ и [ x , y , z ] = А / ‖ А ‖ .
Вычислите некоторые частичные выражения:
Вычислите полученную матрицу:
Расширено:
Векторное вращение
[ редактировать ]Вращайте вектор v = ( X , Y , Z ) вокруг вектора вращения Q = ( X , Y , Z ) .
Угол поворота будет θ = ‖ Q ‖ .
Вычислите косинус угла, умноженный на вектор, который необходимо повернуть, плюс синус угла, умноженный на ось вращения, плюс один минус косинус угла, умноженный на скалярное произведение вектора и оси вращения, умноженное на ось вращения.
Некоторые примечания: скалярное произведение включает в себя косинус угла между вращаемым вектором и осью вращения, умноженный на длину v ; векторное произведение включает синус угла между вращаемым вектором и осью вращения.
Поворот вектора вращения
[ редактировать ]Используя составную формулу вращения Родригеса , для данного вектора вращения Q = ( X , Y , Z ) и другого вектора вращения A = ( X ′, Y ′, Z ′) для вращения кадра вокруг.
Из начальных векторов вращения извлеките углы и оси: Нормализованная ось вращения для текущего кадра: Нормализованная ось вращения для вращения кадра вокруг:
Результирующий угол поворота равен или
Результирующая ненормализованная ось вращения: или
Формула вращения Родригеса приведет к тому, что грех полученного выше угла можно использовать для нормализации вектора, однако это не работает для больших диапазонов; поэтому нормализуйте ось результата как любой другой вектор.
И конечная координата поворота кадра:
Вращение вращения вокруг фиксированной оси
[ редактировать ]Вектор вращения Q представляет три оси; их можно использовать как сокращение для поворота вращения с использованием описанного выше метода для поворота вектора вращения. Эти выражения лучше всего представить в виде фрагментов кода.
Установите некоторые константы, используемые в других выражениях. используя приведенные выше значения: или или
Преобразование из базовой матрицы
[ редактировать ]Вычислите определитель матрицы: Преобразование в угол поворота: Вычислите нормальный коэффициент:
результирующий угол-угол-угол равен n ⋅ θ .
Преобразование из нормального вектора ( Y )
[ редактировать ]Представление нормали в виде вращения предполагает, что Y вектор оси (0,1,0) направлен вверх. Если какая-то другая ось считается основной, координаты можно просто поменять местами.
Это предполагает нормализованный входной вектор в направлении нормали. Угол представляет собой просто сумму координат x и z (или y и x , если Z вверху, или y и z, если X вверху): если угол равен 0, работа выполнена, результат будет (0,0,0) Некоторые временные значения; эти значения являются всего лишь частями, на которые ссылаются позже: Используйте проекцию нормали на оси Y в качестве угла поворота:
Выровнять нормально, используя основу
[ редактировать ]Тангенс и битангенс по умолчанию для вращений, для которых задан только нормальный набор, приводят к нерегулярным касательным и бикасательным. В качестве альтернативы создайте базовую матрицу и преобразуйте ее, используя вышеупомянутый метод.Вычислите нормаль вышеизложенного и матрицу для преобразования а затем используйте базу для регистрации преобразования кватернионов следующим образом.
Выровнять нормаль напрямую
[ редактировать ]Или Это прямое вычисление с получением логарифмического кватерниона; вычислите приведенный выше вектор результата, а затем... Это угол Эти частичные продукты используются ниже: Вычислите нормализованный вектор вращения (ось вращения):
и, наконец, вычислить полученный логарифмический кватернион.
Преобразование из угла оси
[ редактировать ]Предполагается, что входная ось a = [ X , Y , Z ] нормализована. Если вращение равно нулю, результат будет равен (0,0,0)
См. также
[ редактировать ]- фильтр Эйлера
- Ориентация (геометрия)
- Вращение вокруг фиксированной оси
- Оператор трехмерного вращения
Ссылки
[ редактировать ]- ^ «Отслеживание фидуциальных маркеров для дополненной реальности» .
- ^ Вайсштейн, Эрик В. «Матрица вращения» . Математический мир .
- ^ Jump up to: а б Родригес, Олинде (1840). «Геометрические законы, управляющие перемещениями твердой системы в пространстве, и изменение координат, возникающее в результате этих смещений, считаются независимыми от причин, которые могут их вызвать». Дж. Математика. Чистое приложение . 5 : 380–440. онлайн
- ^ см . Дж. Уиллард Гиббс (1884). Элементы векторного анализа , Нью-Хейвен, с. 67
- ^ по прямой и обратной кинематике , стр. 5. Конспекты лекций
- ^ Мебиус, Йохан (2007). «Вывод формулы Эйлера-Родригеса для трехмерных вращений из общей формулы для четырехмерных вращений». arXiv : math/0701759 .
- ^ Шустер, Малкольм Д. (1993). «Обзор представлений об отношениях» (PDF) . Журнал астронавтических наук . 41 (4): 439–517.
- ^ [1] Физика - Марк Иоффе - W ( t ) в терминах матриц
- ^ Конспекты лекций по кватернионам и вращению , с. 14-15
- ^ d3x0r. «Репозиторий STFRфизики» . Гитхаб .
{{cite web}}
: CS1 maint: числовые имена: список авторов ( ссылка )
Дальнейшее чтение
[ редактировать ]- Шустер, доктор медицинских наук (1993). «Обзор представлений об отношениях» (PDF) . Журнал астронавтических наук . 41 (4): 439–517. Бибкод : 1993JAnSc..41..439S .
- Таубин, Г. (2011). «3D-повороты» . IEEE Компьютерная графика и приложения . 31 (6): 84–89. дои : 10.1109/MCG.2011.92 . ПМИД 24808261 .
- Кусиас, Э.; Ромеро, Л. (2004). «Кватернионы в приложении к динамике твердого тела» . Технический отчет Сандии . Сандианские национальные лаборатории. ПЕСОК2004-0153.
- Маркли, Ф. Лэндис (2003). «Представления ошибок отношения для фильтрации Калмана». Журнал управления, контроля и динамики . 26 (2): 311–7. Бибкод : 2003JGCD...26..311M . дои : 10.2514/2.5048 . hdl : 2060/20020060647 .
- Гольдштейн, Х. (1980). Классическая механика (2-е изд.). Аддисон-Уэсли. ISBN 0-201-02918-9 .
- Вертц, Джеймс Р. (1980). Определение и управление ориентацией космического корабля . Д. Рейдель . ISBN 90-277-1204-2 .
- Шмидт, Дж.; Ниманн, Х. (2001). «Использование кватернионов для параметризации трехмерных вращений в неограниченной нелинейной оптимизации». Материалы конференции по моделированию и визуализации видения, 2001 г. стр. 399–406. ISBN 3898380289 .
- Ландау, Л.; Лифшиц, Э.М. (1976). Механика (3-е изд.). Пергамон Пресс . ISBN 0-08-021022-8 .
- Клампп, Арканзас (декабрь 1976 г.). «Извлечение кватерниона без особенностей из матрицы направляющего косинуса». Журнал космических кораблей и ракет . 13 (12): 754–5. Бибкод : 1976JSpRo..13..754K . дои : 10.2514/3.27947 .
- Доран, К.; Ласенби, А. (2003). Геометрическая алгебра для физиков . Издательство Кембриджского университета. ISBN 978-0-521-71595-9 .
- Терзакис, Г.; Луракис, М.; Айт-Будауд, Д. (2018). «Модифицированные параметры Родригеса: эффективное представление ориентации в 3D-видении и графике» . Журнал математического изображения и видения . 60 (3): 422–442. дои : 10.1007/s10851-017-0765-x .
- Ровенхорст, Д.; Роллетт, AD; Рорер, Г.С.; Гребер, М.; Джексон, М.; Конийненберг, П.Дж.; Де Граф, М. (2015). «Последовательное представление и преобразование трехмерных вращений». Моделирование и симуляция в материаловедении и инженерии . 23 (8): 083501. Бибкод : 2015MSMSE..23h3501R . дои : 10.1088/0965-0393/23/8/083501 . S2CID 16130878 .
Внешние ссылки
[ редактировать ]- EuclideanSpace содержит множество информации о представлении вращения.
- Вопрос 36. Как создать матрицу вращения из углов Эйлера? и Q37. Как преобразовать матрицу вращения в углы Эйлера? — Часто задаваемые вопросы по матрицам и кватернионам
- Мнимые числа недействительны - Геометрическая алгебра пространства-времени - Раздел «Вращение и геометрическая алгебра» выводит и применяет описание вращения ротора.
- Учебное пособие по DCM от Starlino - учебное пособие и приложения по теории матрицы направляющих косинусов. Алгоритм оценки пространственной ориентации с использованием устройств IMU акселерометра, гироскопа и магнитометра. Использование комплиментарного фильтра (популярной альтернативы фильтру Калмана) с матрицей DCM.