Кватернионы и вращение пространства

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

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

Содержание

Операции вращения

В этой секции даётся очень краткое описание из книги автора Altmann.[1]

Представление пространства вращения

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

Два вращения вокруг разных осей и на разные углы в пространстве вращений.

Любое вращение в трёхмерном пространстве — это вращение на определённый угол вокруг определённой оси. Если угол равен нулю, то выбор оси не имеет значения, таким образом вращения на угол ноль градусов — это точка в пространстве вращения (единичное вращение). Для крошечного, но ненулевого вращения, каждое возможное вращение — это маленькая сфера, окружающая единичное вращение, где каждая точка на этой сфере представляет собой ось, указывающую в определённом направлении (можно сравнить с небесной сферой). Чем больше угол вращения, тем дальше вращение от единичного вращения — о таких вращениях можно думать как о концентрических сферах с увеличивающимся радиусом. Таким образом, вблизи единичного вращения абстрактное пространство вращений выглядит как обычное трёхмерное пространство (которое также можно представить как центральную точку, окружённую концентрическими сферами). При увеличении угла до \scriptstyle 360^\circ вращения вокруг различных осей перестают расходиться и начинают становиться похожими друг на друга, становясь идентичными (и равными единичному вращению) когда угол достигает 360 градусов.

Гиперсфера вращений для вращений имеющих "горизонтальную" ось (в плоскости xy).

Мы можем увидеть похожее поведение на поверхности сферы. Если мы расположимся на северном полюсе и начнём чертить прямые линии, исходящие из него в различных направлениях (то есть линии долготы), то сначала они будут расходиться, но затем снова сойдутся на южном полюсе. Концентрические круги, получившиеся вокруг северного полюса (широты), стянутся в одну точку на южном полюсе — когда радиус сферы сравняется с расстоянием между полюсами. Если думать о разных направлениях из полюса (то есть разные долготы) как о разных осях вращения, а о разных расстояниях от полюса (то есть широтах) как о разных углах вращения, то мы получим пространство для вращений. Получившаяся сфера представляет вращение в трёхмерном пространстве, хотя является двухмерной поверхностью, что не позволяет смоделировать гиперсферу. Однако двухмерную поверхность сферы можно представлять как часть гиперсферы (как окружность является частью сферы). Мы можем взять часть, например, для представления вращения вокруг осей в плоскостях x и y. Важно отметить, что угол вращения до экватора равен 180° (а не 90°); до южного полюса (с северного) 360° (а не 180°).

Северный и южный полюс представляют одинаковые вращения. Это справедливо для двух любых диаметрально противоположных точек: если одна точка — это вращение на угол \alpha вокруг оси v, то диаметрально противоположной является точка с вращением на угол \scriptstyle 360^\circ - \alpha вокруг оси −v. Таким образом, пространство вращений является не самой гиперсферой, а гиперсферой радиуса \pi с отождествлёнными диаметрально противоположными точками. Однако для большинства целей можно думать о вращениях как о точках на сфере, несмотря на то что они обладают двойной избыточностью.

Определение пространства вращения

Поверхность сферы можно охарактеризовать двумя координатами, например широтой и долготой. Однако такие координаты как широта и долгота на северном и южном полюсах начинают вести себя неопределённо (проявляют вырожденность), хотя северный и южный полюса принципиально не отличаются от любой другой точки поверхности сферы. Это показывает, что ни одна координатная система не может двумя координатами охарактеризовать положение в пространстве (Теорема о причёсывании ежа). Этого можно избежать поместив сферу в трёхмерное пространство, охарактеризовав её декартовыми координатами (w, x, y), помещая северный полюс на (w, x, y) = (1, 0, 0), южный полюс на (w, x, y) = (-1, 0, 0), а экватор на w = 0, x² + y² = 1. Точки на сфере удовлетворяют отношению w² + x² + y² = 1. В итоге получаются две степени свободы, хотя имеется три координаты. Точка (w, x, y) представляет вращение вокруг осей (x, y, 0) на угол \alpha = 2 \arccos w = 2 \arcsin \sqrt{x^2+y^2}.

Таким же образом гиперсферическое пространство трёхмерных вращений может быть охарактеризовано тремя углами (углами Эйлера), однако любое такое представление начинает вырождаться на некоторых точках гиперсферы. Этой проблемы можно избежать, используя евклидовы координаты w, x, y, z, где w² + x² + y² + z² = 1. Точка (w, x, y, z) представляет вращение вокруг осей (x, y, z) на угол \alpha = 2 \arccos w = 2 \arcsin \sqrt{x^2+y^2+z^2}.

Коротко о кватернионах

Комплексное число может быть определено введением абстрактного символа i, который удовлетворяет обычным правилам алгебры, а также правила i^2 = -1. Этого достаточно для воспроизведения всех правил арифметики комплексных чисел. Например:

(a+b\mathbf{i})(c+d\mathbf{i}) = ac + ad\mathbf{i} + b\mathbf{i}c + b\mathbf{i}d\mathbf{i} = ac + ad\mathbf{i} + bc\mathbf{i} + bd\mathbf{i}^2 = (ac - bd) + (bc + ad) \mathbf{i}.

Таким же образом кватернионы могут быть определены введением абстрактных символов i, j, k, умножение которых задаются по правилу

\mathbf{i}^2 = \mathbf{j}^2 = \mathbf{k}^2 = -1
\mathbf{i}\mathbf{j} = \mathbf{k}
\mathbf{j}\mathbf{k} = \mathbf{i}
\mathbf{k}\mathbf{i} = \mathbf{j}

а умножение на вещественные числа определяются обычным образом, причём умножение полагается ассоциативным, но не коммутативным (примером некоммутативного умножения является также умножение матриц). Из этого следуют все правила кватернионной арифметики, например

(a + b\mathbf{i}) (e + h\mathbf{k}) = ae + be\mathbf{i} - bh\mathbf{j} + ah\mathbf{k}.

Мнимая часть b\mathbf{i} + c\mathbf{j} + d\mathbf{k} кватерниона ведёт себя так же, как и вектор (b, c, d) \in \R^3, а вещественная часть a ведёт себя так же, как и скаляр в \R. При использовании кватернионов удобнее описывать их как скаляр и вектор и использовать векторное и скалярное произведения \times и \cdot (идея которых была подсказана кватернионами). При этом они связаны с обычным кватернионным умножением следующей формулой:

\mathbf{v} \times \mathbf{w} = \mathbf{vw} + \mathbf{v} \cdot \mathbf{w}.

Векторное произведение некоммутативно, а произведения скаляр-скаляр и скаляр-вектор коммутативны. Из этих правил следует:

(s + \mathbf{v}) (t + \mathbf{w}) = (st - \mathbf{v} \cdot \mathbf{w}) + (s\mathbf{w} + t\mathbf{v} + \mathbf{v} \times \mathbf{w}).

Обратным (слева и справа) для ненулевого кватерниона s + \mathbf{v} является

(s + \mathbf{v})^{-1} = \frac{s - \mathbf{v}}{s^2 + |\mathbf{v}|^2},

что может быть проверено прямым вычислением.

Определение пространства вращения через кватернионы

Допустим (w, x, y, z) — координаты вращения, согласно прежнему описанию. Тогда кватернион q можно определить как

q = w + x\mathbf{i} + y\mathbf{j} + z\mathbf{k} = w + (x,y,z) = \cos (\alpha/2) + \mathbf{u} \sin (\alpha/2),

где \mathbf{u} — единичный вектор. Таким образом, произведение

q \mathbf{v} q^{-1}

вращает вектор \mathbf{v} на угол \alpha вокруг оси \mathbf{u}. Вращение происходит по часовой стрелке, если рассматривать вращение по направлению вектора \mathbf{u}.

Вращение на кватернионы можно объединить, перемножив их (от порядка умножения зависит порядок вращения). Таким образом, вращения на кватернионы p и q равно

p q \mathbf{v} (p q)^{-1} = p q \mathbf{v} q^{-1} p^{-1}

что то же самое, что и вращение на q, а затем на p.

Инверсия кватерниона — это то же, что и вращение в противоположном направлении, таким образом q^{-1} (q \mathbf{v} q^{-1}) q = \mathbf{v}. Квадрат кватерниона — это вращение на двойной угол вокруг той же оси. В общем смысле, q^n — это вращение вокруг оси q на угол в n раз больший первоначального. Вместо n может быть любое вещественное число, позволяя использовать кватернионы для плавной интерполяции между двумя положениями в пространстве.

Вращение на единичный кватернион

Пусть u — это единичный вектор (ось вращения), а q = \cos \frac{\alpha}{2} + \mathbf{u} \sin \frac{\alpha}{2} кватернион. Наша цель показать, что

\mathbf{v}' = q \mathbf{v} q^{-1} = \left( \cos \frac{\alpha}{2} + \mathbf{u} \sin \frac{\alpha}{2} \right) \, \mathbf{v} \, \left( \cos \frac{\alpha}{2} - \mathbf{u} \sin \frac{\alpha}{2} \right)

вращает вектор v на угол α вокруг оси u. Раскрыв скобки, получаем

\begin{array}{lll}
\mathbf{v}' &=& \mathbf{v} \cos^2 \frac{\alpha}{2} + (\mathbf{uv} - \mathbf{vu}) \sin \frac{\alpha}{2} \cos \frac{\alpha}{2} - \mathbf{uvu} \sin^2 \frac{\alpha}{2} \\
&=& \mathbf{v} \cos^2 \frac{\alpha}{2} + 2 (\mathbf{u} \times \mathbf{v}) \sin \frac{\alpha}{2} \cos \frac{\alpha}{2} - (\mathbf{v} (\mathbf{u} \cdot \mathbf{u}) - 2 \mathbf{u} (\mathbf{u} \cdot \mathbf{v})) \sin^2 \frac{\alpha}{2} \\
&=& \mathbf{v} (\cos^2 \frac{\alpha}{2} - \sin^2 \frac{\alpha}{2}) + (\mathbf{u} \times \mathbf{v}) (2 \sin \frac{\alpha}{2} \cos \frac{\alpha}{2}) + \mathbf{u} (\mathbf{u} \cdot \mathbf{v}) (2 \sin^2 \frac{\alpha}{2}) \\
&=& \mathbf{v} \cos \alpha + (\mathbf{u} \times \mathbf{v}) \sin \alpha + \mathbf{u} (\mathbf{u} \cdot \mathbf{v}) (1 - \cos \alpha) \\
&=& (\mathbf{v} - \mathbf{u} (\mathbf{u} \cdot \mathbf{v})) \cos \alpha + (\mathbf{u} \times \mathbf{v}) \sin \alpha + \mathbf{u} (\mathbf{u} \cdot \mathbf{v}) \\
&=& \mathbf{v}_{\bot} \cos \alpha + (\mathbf{u} \times \mathbf{v}_{\bot}) \sin \alpha + \mathbf{v}_{\|}
\end{array}

где \mathbf{v}_{\bot} и \mathbf{v}_{\|} — это компоненты вектора v, которые перпендикулярны и параллельны оси u соответственно. Получившийся результат является формулой вращения на угол α вокруг оси u.

См. также

Литература

Ссылки

  1. Rotations, Quaternions, and Double Groups / Altmann, Simon L. — Mineola: Dover Publications, 1986. — 317 p.

Внешние ссылки и ресурсы


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Полезное


Смотреть что такое "Кватернионы и вращение пространства" в других словарях:

  • Кватернионы — (англ. quaternion)  это система гиперкомплексных чисел, предложенная У. Р. Гамильтоном в 1843 году. Умножение кватернионов некоммутативно; они образуют тело, которое обычно обозначается . Кватернионы очень удобны для описания изометрий… …   Википедия

  • Целые кватернионы — Кватернионы (англ. quaternion)  это система гиперкомплексных чисел, предложенная У. Р. Гамильтоном в 1843 году. Умножение кватернионов некоммутативно; они образуют тело, которое обычно обозначается . Кватернионы очень удобны для описания… …   Википедия

  • КВАТЕРНИОНЫ — элементы множества И, представимые в виде . Здесь веществ, числа, а (1, г, /, k) образующие базиса в Н, удовлетворяющие соотношениям: Обозначения принадлежат У. Гамильтону (W. R. Hamilton), открывшему К. в 1843. В его честь для обозначения… …   Физическая энциклопедия

  • Кватернион — Кватернионы (от лат. quaterni, по четыре)  система гиперкомплексных чисел, образующая векторное пространство размерностью четыре над полем вещественных чисел. Кватернионы  минимальное расширение комплексных чисел, образующее тело,… …   Википедия

  • Углы Эйлера — Углы Эйлера. Углы Эйлера  углы, описывающие поворот абсолютно твердого тела в трёхмерном евклидовом пространстве. В сравнении с углами Эйлера, кватернионы позволяют проще комбинировать вращения, а также избежать проблемы, связанной с… …   Википедия

  • Векторное произведение — в трёхмерном пространстве. Векторное произведение  это псевдовектор, перпендикулярный плоскости, построенной по двум …   Википедия

  • Математика Древнего Востока — История науки По тематике Математика Естественные науки …   Википедия

  • Максвелл, Джеймс Клерк — В Википедии есть статьи о других людях с такой фамилией, см. Максвелл. Джеймс Клерк Максвелл James Clerk Maxwell …   Википедия

  • КЭЛИ - КЛЕЙНА ПАРАМЕТРЫ — комплексные величины, с помощью к рых можно определить положение твёрдого тела, имеющего неподвижную точку. К. К. п. а, Ь связаны с углами Эйлера , , зависимостями (* означает комплексное сопряжение), при этом + …   Физическая энциклопедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»