В линейной алгебре матрица вращения — это матрица преобразования , которая используется для выполнения вращения в евклидовом пространстве . Например, используя соглашение ниже, матрица
вращает точки в плоскости xy против часовой стрелки на угол θ вокруг начала двумерной декартовой системы координат . Чтобы выполнить вращение в точке плоскости со стандартными координатами v = ( x , y ) , его следует записать как вектор-столбец и умножить на матрицу R :
Если x и y — конечные координаты вектора, где x — косинус, а y — синус, то приведенные выше уравнения становятся формулами угла тригонометрического суммирования . Действительно, матрицу вращения можно рассматривать как формулы угла тригонометрического суммирования в матричной форме. Один из способов понять это — сказать, что у нас есть вектор под углом 30° к оси x , и мы хотим повернуть этот угол еще на 45°. Нам просто нужно вычислить координаты конечной точки вектора под углом 75°.
Примеры в этой статье применяются к активным вращениям векторов против часовой стрелки в правой системе координат ( y против часовой стрелки от x ) путем предварительного умножения ( R слева). Если какой-либо из них изменяется (например, вращаются оси вместо векторов, пассивное преобразование ), то следует использовать обратную матрицу примера, которая совпадает с ее транспонированием .
Поскольку умножение матриц не влияет на нулевой вектор (координаты начала координат), матрицы вращения описывают вращения вокруг начала координат. Матрицы вращения обеспечивают алгебраическое описание таких вращений и широко используются для вычислений в геометрии , физике и компьютерной графике . В некоторой литературе термин вращение обобщается, включая несобственные вращения , характеризуемые ортогональными матрицами с определителем −1 (вместо +1). Они объединяют собственные вращения с отражениями (которые инвертируют ориентацию ). В других случаях, когда отражения не рассматриваются, метка «собственный» может быть опущена. Последнее соглашение соблюдается в этой статье.
Матрицы вращения являются квадратными матрицами с действительными элементами. Более конкретно, их можно охарактеризовать как ортогональные матрицы с определителем 1; то есть квадратная матрица R является матрицей вращения тогда и только тогда, когда R T = R −1 и det R = 1 . Множество всех ортогональных матриц размера n с определителем +1 является представлением группы , известной как специальная ортогональная группа SO( n ) , одним из примеров которой является группа вращения SO(3) . Множество всех ортогональных матриц размера n с определителем +1 или −1 является представлением (общей) ортогональной группы O( n ) .
В двух измерениях стандартная матрица вращения имеет следующий вид:
Это вращает векторы столбцов посредством следующего умножения матриц :
Таким образом, новые координаты ( x ′, y ′) точки ( x , y ) после поворота равны
Например, когда вектор
поворачивается на угол θ , его новые координаты
и когда вектор
поворачивается на угол θ , его новые координаты
Направление вращения вектора против часовой стрелки, если θ положительно (например, 90°), и по часовой стрелке, если θ отрицательно (например, −90°) для . Таким образом, матрица вращения по часовой стрелке находится как
Двумерный случай является единственным нетривиальным (т.е. не одномерным) случаем, где группа матриц вращения коммутативна, так что не имеет значения, в каком порядке выполняются множественные вращения. Альтернативное соглашение использует вращающиеся оси, [1] и приведенные выше матрицы также представляют собой поворот осей по часовой стрелке на угол θ .
Если используется стандартная правосторонняя декартова система координат с осью x , направленной вправо, и осью y , направленной вверх, вращение R ( θ ) происходит против часовой стрелки. Если используется левосторонняя декартова система координат с осью x , направленной вправо, и осью y, направленной вниз, то R ( θ ) происходит по часовой стрелке. Такие нестандартные ориентации редко используются в математике, но распространены в 2D компьютерной графике , которая часто имеет начало в верхнем левом углу и ось y , направленную вниз по экрану или странице. [2]
Ниже приведены другие альтернативные соглашения, которые могут изменить направление вращения, создаваемого матрицей вращения.
Особенно полезны матрицы
для поворотов на 90°, 180° и 270° против часовой стрелки.
С
матрицы формы
образуют кольцо , изоморфное полю комплексных чисел . При этом изоморфизме матрицы вращения соответствуют окружности единичных комплексных чисел , комплексных чисел модуля 1 .
Если отождествить с посредством линейного изоморфизма, то действие матрицы вышеуказанного вида на векторы соответствует умножению на комплексное число x + iy , а вращения соответствуют умножению на комплексные числа по модулю 1 .
Так как любая матрица вращения может быть записана
указанное выше соответствие связывает такую матрицу с комплексным числом
(последнее равенство — формула Эйлера ).
Базовое 3D-вращение (также называемое элементарным вращением) — это вращение вокруг одной из осей системы координат. Следующие три базовые матрицы вращения вращают векторы на угол θ вокруг осей x , y или z в трех измерениях, используя правило правой руки , которое кодирует их чередующиеся знаки. Обратите внимание, что правило правой руки работает только при умножении . (Те же матрицы могут также представлять вращение осей по часовой стрелке. [nb 1] )
Для векторов-столбцов каждое из этих основных вращений векторов происходит против часовой стрелки, когда ось, вокруг которой они происходят, указывает на наблюдателя, система координат правая, а угол θ положительный. Например, R z будет вращать вектор, выровненный с осью x , к оси y , что можно легко проверить, работая с R z на векторе (1,0,0) :
Это похоже на вращение, произведенное вышеупомянутой двумерной матрицей вращения. Ниже приведены альтернативные соглашения, которые могут, по-видимому или фактически, инвертировать смысл вращения, произведенного этими матрицами.
Другие 3D-матрицы вращения могут быть получены из этих трех с помощью умножения матриц . Например, произведение
представляет собой вращение , углы рыскания, тангажа и крена которого равны α , β и γ , соответственно. Более формально, это внутреннее вращение , углы Тейта–Брайана которого равны α , β , γ , вокруг осей z , y , x , соответственно. Аналогично, произведение
представляет собой внешнее вращение, чьи (несобственные) углы Эйлера равны α , β , γ вокруг осей x , y , z .
Эти матрицы производят желаемый эффект только в том случае, если они используются для предварительного умножения векторов-столбцов , и (поскольку в общем случае умножение матриц не является коммутативным ) только в том случае, если они применяются в указанном порядке (см. Неоднозначности для получения более подробной информации). Порядок операций вращения — справа налево; матрица, смежная с вектором-столбцом, применяется первой, а затем — матрица слева. [3]
Каждое вращение в трех измерениях определяется своей осью (вектор вдоль этой оси не изменяется при вращении) и своим углом — величиной вращения вокруг этой оси ( теорема о вращении Эйлера ).
Существует несколько методов вычисления оси и угла из матрицы вращения (см. также представление оси–угла ). Здесь мы описываем только метод, основанный на вычислении собственных векторов и собственных значений матрицы вращения. Также можно использовать след матрицы вращения.
При наличии матрицы вращения R размером 3 × 3 вектор u , параллельный оси вращения, должен удовлетворять условию
поскольку вращение u вокруг оси вращения должно приводить к u . Уравнение выше можно решить относительно u , которое является уникальным с точностью до скалярного множителя, если только R = I.
Далее уравнение можно переписать
что показывает, что u лежит в нулевом пространстве R − I.
С другой стороны, u — собственный вектор R , соответствующий собственному значению λ = 1. Каждая матрица вращения должна иметь это собственное значение, а два других собственных значения являются комплексно сопряженными друг другу. Из этого следует, что общая матрица вращения в трех измерениях имеет, с точностью до мультипликативной константы, только один действительный собственный вектор.
Один из способов определения оси вращения — показать, что:
Поскольку ( R − R T ) является кососимметричной матрицей , мы можем выбрать u таким образом, что
Произведение матрицы на вектор становится векторным произведением вектора на самого себя, гарантируя, что результат равен нулю:
Поэтому, если
затем
Величина u , вычисленная таким образом, равна ‖ u ‖ = 2 sin θ , где θ — угол поворота.
Это не работает, если R симметрично. Выше, если R − R T равно нулю, то все последующие шаги недействительны. В этом случае необходимо диагонализировать R и найти собственный вектор, соответствующий собственному значению 1.
Чтобы найти угол поворота, после того как ось поворота известна, выберите вектор v, перпендикулярный оси. Тогда угол поворота — это угол между v и R v .
Однако более прямой метод заключается в простом вычислении следа : суммы диагональных элементов матрицы вращения. Следует позаботиться о выборе правильного знака для угла θ, чтобы он соответствовал выбранной оси:
откуда следует, что абсолютная величина угла равна
Для оси вращения правильный угол [4] можно получить из
где
Матрица собственного вращения R на угол θ вокруг оси u = ( ux , u y , uz ) , единичный вектор с u2
х+ ты2
года+ ты2
з= 1 , определяется по формуле: [5] [6] [7] [8]
Вывод этой матрицы из первых принципов можно найти в разделе 9.2 здесь. [9] Основная идея вывода этой матрицы заключается в разделении проблемы на несколько известных простых шагов.
Более кратко это можно записать как [10]
где [ u ] × — матрица перекрестного произведения u ; выражение u ⊗ u — внешнее произведение , а I — единичная матрица . В качестве альтернативы, записи матрицы следующие :
где ε jkl — символ Леви-Чивиты с ε 123 = 1. Это матричная форма формулы вращения Родригеса (или эквивалентной, по-другому параметризованной формулы Эйлера–Родригеса ) с [nb 2]
При повороте вектора x вокруг оси u на угол θ можно записать:
или эквивалентно:
Это также можно записать в тензорной нотации как: [11]
Если трехмерное пространство правостороннее и θ > 0 , это вращение будет против часовой стрелки, когда u направлено к наблюдателю ( правило правой руки ). Явно, с правосторонним ортонормированным базисом,
Обратите внимание на поразительные , хотя и кажущиеся, отличия от эквивалентной формулировки алгебры Ли, приведенной ниже.
Для любой n -мерной матрицы вращения R, действующей на
Из этого следует, что:
Вращение называется правильным, если det R = 1 , и неправильным (или поворотно-отражением), если det R = –1. Для четных размерностей n = 2 k собственные значения λ собственного вращения возникают как пары комплексно сопряженных чисел , которые являются корнями из единицы: λ = e ± iθ j для j = 1, ..., k , что является действительным только для λ = ±1 . Следовательно, может не быть векторов, фиксированных вращением ( λ = 1 ), и, следовательно, оси вращения. Любые фиксированные собственные векторы возникают парами, а ось вращения является четномерным подпространством.
Для нечетных размерностей n = 2 k + 1 собственное вращение R будет иметь нечетное число собственных значений, по крайней мере с одним λ = 1 , а ось вращения будет нечетномерным подпространством. Доказательство:
Здесь I — единичная матрица, и мы используем det( R T ) = det( R ) = 1 , а также (−1) n = −1 , поскольку n нечетно. Следовательно, det( R – I ) = 0 , что означает, что существует ненулевой вектор v с ( R – I ) v = 0 , то есть R v = v , фиксированный собственный вектор. Также могут быть пары фиксированных собственных векторов в четномерном подпространстве, ортогональном v , поэтому общая размерность фиксированных собственных векторов нечетна.
Например, в 2-пространстве n = 2 поворот на угол θ имеет собственные значения λ = e iθ и λ = e − iθ , поэтому нет оси вращения, за исключением случая θ = 0 , случая нулевого поворота. В 3-пространстве n = 3 ось ненулевого собственного поворота всегда является единственной прямой, а поворот вокруг этой оси на угол θ имеет собственные значения λ = 1, e iθ , e − iθ . В 4-пространстве n = 4 четыре собственных значения имеют вид e ± iθ , e ± iφ . Нулевой поворот имеет θ = φ = 0 . Случай θ = 0, φ ≠ 0 называется простым вращением , с двумя единичными собственными значениями, образующими плоскость оси , и двумерным вращением, ортогональным плоскости оси. В противном случае плоскость оси отсутствует. Случай θ = φ называется изоклиническим вращением , имеющим собственные значения e ± iθ, повторяющиеся дважды, поэтому каждый вектор поворачивается на угол θ .
След матрицы вращения равен сумме ее собственных значений. При n = 2 поворот на угол θ имеет след 2 cos θ . При n = 3 поворот вокруг любой оси на угол θ имеет след 1 + 2 cos θ . При n = 4 след равен 2(cos θ + cos φ ) , что становится 4 cos θ для изоклинного поворота.
В евклидовой геометрии вращение является примером изометрии , преобразования, которое перемещает точки, не изменяя расстояния между ними. Вращения отличаются от других изометрий двумя дополнительными свойствами: они оставляют (по крайней мере) одну точку неподвижной, и они оставляют « рукопожатие » неизменным. Напротив, перенос перемещает каждую точку, отражение меняет местами лево- и праворукопожатие, скользящее отражение делает и то, и другое, а неправильное вращение сочетает изменение рукопожатия с обычным вращением.
Если фиксированная точка взята в качестве начала декартовой системы координат , то каждой точке можно задать координаты как смещение от начала координат. Таким образом, можно работать с векторным пространством смещений вместо самих точек. Теперь предположим, что ( p 1 , ..., p n ) — это координаты вектора p из начала координат O в точку P . Выберем ортонормальный базис для наших координат; тогда квадрат расстояния до P , по Пифагору , равен
который можно вычислить с помощью умножения матриц
Геометрическое вращение преобразует линии в линии и сохраняет соотношения расстояний между точками. Из этих свойств можно показать, что вращение является линейным преобразованием векторов, и, таким образом, может быть записано в матричной форме Q p . Тот факт, что вращение сохраняет не только соотношения, но и сами расстояния, формулируется как
или
Поскольку это уравнение справедливо для всех векторов p , можно сделать вывод, что каждая матрица вращения Q удовлетворяет условию ортогональности ,
Повороты сохраняют левосторонность, поскольку они не могут изменить порядок осей, что подразумевает особое матричное условие,
Не менее важно то, что можно показать, что любая матрица, удовлетворяющая этим двум условиям, действует как поворот.
Обратная матрица поворота — это ее транспонированная матрица, которая также является матрицей поворота:
Произведение двух матриц вращения представляет собой матрицу вращения:
При n > 2 умножение матриц вращения n × n , как правило, не является коммутативным .
Отмечая, что любая единичная матрица является матрицей поворота, и что матричное умножение ассоциативно , мы можем суммировать все эти свойства, сказав, что матрицы поворота n × n образуют группу , которая для n > 2 является неабелевой , называемую специальной ортогональной группой и обозначаемую как SO( n ) , SO( n , R ) , SO n , или SO n ( R ) , группа матриц поворота n × n изоморфна группе поворотов в n -мерном пространстве. Это означает, что умножение матриц поворота соответствует композиции поворотов, применяемых в порядке слева направо их соответствующих матриц.
Интерпретация матрицы вращения может быть сопряжена со многими двусмысленностями.
В большинстве случаев эффект неоднозначности эквивалентен эффекту обращения матрицы вращения (для этих ортогональных матриц эквивалентно транспонированию матрицы ).
Рассмотрим матрицу вращения 3 × 3
Если Q действует в определенном направлении v просто как масштабирование с коэффициентом λ , то мы имеем
так что
Таким образом, λ является корнем характеристического полинома для Q ,
Следует отметить две особенности. Во-первых, один из корней (или собственных значений ) равен 1, что говорит нам, что некоторое направление не затронуто матрицей. Для вращений в трех измерениях это ось вращения (понятие, которое не имеет смысла ни в одном другом измерении). Во-вторых, другие два корня являются парой комплексно сопряженных чисел, произведение которых равно 1 (постоянный член квадратичной функции), а сумма равна 2 cos θ (отрицательный линейный член). Эта факторизация представляет интерес для матриц вращения 3 × 3 , поскольку для всех них происходит одно и то же. (В качестве особых случаев, для нулевого вращения «комплексно сопряженные числа» оба равны 1, а для вращения на 180° они оба равны −1.) Более того, подобная факторизация справедлива для любой матрицы вращения n × n . Если измерение n нечетное, то будет «висячее» собственное значение 1; и для любого измерения остальная часть многочлена раскладывается на квадратичные члены, как здесь (с двумя отмеченными особыми случаями). Нам гарантировано, что характеристический многочлен будет иметь степень n и, таким образом, n собственных значений. И поскольку матрица вращения коммутирует со своей транспонированной, она является нормальной матрицей , поэтому может быть диагонализирована. Мы приходим к выводу, что каждая матрица вращения, выраженная в подходящей системе координат, разбивается на независимые вращения двумерных подпространств, самое большее н/2 из них.
Сумма элементов на главной диагонали матрицы называется следом ; она не меняется, если мы переориентируем систему координат, и всегда равна сумме собственных значений. Это имеет удобное следствие для матриц вращения 2 × 2 и 3 × 3 , что след показывает угол поворота , θ , в двумерном пространстве (или подпространстве). Для матрицы 2 × 2 след равен 2 cos θ , а для матрицы 3 × 3 он равен 1 + 2 cos θ . В трехмерном случае подпространство состоит из всех векторов, перпендикулярных оси вращения (инвариантное направление с собственным значением 1). Таким образом, мы можем извлечь из любой матрицы вращения 3 × 3 ось вращения и угол, и они полностью определяют вращение.
Ограничения на матрицу вращения 2 × 2 подразумевают, что она должна иметь вид
с a 2 + b 2 = 1. Следовательно, мы можем установить a = cos θ и b = sin θ для некоторого угла θ . Чтобы решить для θ, недостаточно рассматривать только a или b ; мы должны рассматривать оба вместе, чтобы поместить угол в правильный квадрант , используя функцию арктангенса с двумя аргументами .
Теперь рассмотрим первый столбец матрицы вращения 3 × 3 ,
Хотя a 2 + b 2 , вероятно, не будет равно 1, а некоторому значению r 2 < 1 , мы можем использовать небольшое изменение предыдущего вычисления, чтобы найти так называемый поворот Гивенса , который преобразует столбец в
обнуление b . Это действует на подпространство, охватываемое осями x и y . Затем мы можем повторить процесс для подпространства xz до нуля c . Действуя на полную матрицу, эти два вращения производят схематическую форму
Переключая внимание на второй столбец, вращение Гивенса подпространства yz теперь может обнулить значение z . Это приводит полную матрицу к виду
которая является единичной матрицей. Таким образом, мы разложили Q как
Матрица вращения n × n будет иметь ( n − 1) + ( n − 2) + ⋯ + 2 + 1 , или
Элементы ниже диагонали равны нулю. Мы можем обнулить их, расширив ту же идею прохождения по столбцам с серией поворотов в фиксированной последовательности плоскостей. Мы приходим к выводу, что набор матриц поворота n × n , каждая из которых имеет n 2 элементов, может быть параметризован с помощью 1/2 n ( n − 1) углов.
В трех измерениях это переформулирует в матричной форме наблюдение, сделанное Эйлером , поэтому математики называют упорядоченную последовательность трех углов углами Эйлера . Однако ситуация несколько сложнее, чем мы до сих пор указывали. Несмотря на малую размерность, у нас на самом деле есть значительная свобода в последовательности пар осей, которые мы используем; и у нас также есть некоторая свобода в выборе углов. Таким образом, мы находим много различных соглашений, используемых при параметризации трехмерных вращений для физики, или медицины, или химии, или других дисциплин. Когда мы включаем опцию мировых осей или осей тела, возможны 24 различные последовательности. И в то время как некоторые дисциплины называют любую последовательность углами Эйлера, другие дают разные названия (Кардано, Тейта–Брайана, крен-тангаж-рыскание ) различным последовательностям.
Одной из причин большого количества вариантов является то, что, как было отмечено ранее, вращения в трех измерениях (и выше) не коммутируют. Если мы обратим заданную последовательность вращений, мы получим другой результат. Это также подразумевает, что мы не можем составить два вращения, сложив их соответствующие углы. Таким образом, углы Эйлера не являются векторами , несмотря на внешнее сходство в виде тройки чисел.
Матрица вращения 3 × 3, такая как
предполагает матрицу вращения 2 × 2 ,
встроен в верхний левый угол:
Это не иллюзия; не просто одна, а множество копий n -мерных вращений находятся внутри ( n + 1) -мерных вращений, как подгруппы . Каждое вложение оставляет одно направление фиксированным, которое в случае матриц 3 × 3 является осью вращения. Например, мы имеем
фиксируя ось x , ось y и ось z соответственно. Ось вращения не обязательно должна быть осью координат; если u = ( x , y , z ) — единичный вектор в желаемом направлении, то
где c θ = cos θ , s θ = sin θ , представляет собой поворот на угол θ, оставляющий ось u неподвижной.
Направление в ( n + 1) -мерном пространстве будет вектором единичной величины, который мы можем рассматривать как точку на обобщенной сфере, S n . Таким образом, естественно описать группу вращения SO( n + 1) как объединение SO( n ) и S n . Подходящим формализмом является расслоение волокон ,
где для каждого направления в базовом пространстве S n волокно над ним в общем пространстве SO( n + 1) является копией пространства волокон SO( n ) , а именно поворотов, которые сохраняют это направление фиксированным.
Таким образом, мы можем построить матрицу вращения n × n , начав с матрицы 2 × 2 , нацелив ее фиксированную ось на S 2 (обычную сферу в трехмерном пространстве), нацелив полученное вращение на S 3 , и так далее до S n −1 . Точку на S n можно выбрать с помощью n чисел, поэтому мы снова имеем 1/2 n ( n − 1) чисел для описания любой матрицы вращения n × n .
Фактически, мы можем рассматривать последовательное угловое разложение, обсуждавшееся ранее, как обращение этого процесса. Композиция из n − 1 поворотов Гивенса приводит первый столбец (и строку) к (1, 0, ..., 0) , так что остаток матрицы представляет собой матрицу поворота размерности на единицу меньше, встроенную так, чтобы оставить (1, 0, ..., 0) фиксированным.
Когда матрица вращения n × n Q , не включает в себя собственное значение −1, таким образом, ни одно из плоских вращений, которые она содержит, не является вращением на 180°, то Q + I является обратимой матрицей . Большинство матриц вращения соответствуют этому описанию, и для них можно показать, что ( Q − I )( Q + I ) −1 является кососимметричной матрицей , A . Таким образом, A T = − A ; и поскольку диагональ обязательно равна нулю, и поскольку верхний треугольник определяет нижний, A содержит 1/2 n ( n − 1) независимых чисел.
Удобно, что I − A обратимо, если A кососимметрична; таким образом, мы можем восстановить исходную матрицу, используя преобразование Кэли ,
которая отображает любую кососимметричную матрицу A в матрицу вращения. Фактически, за исключением отмеченных исключений, мы можем создать любую матрицу вращения таким образом. Хотя в практических приложениях мы вряд ли можем позволить себе игнорировать повороты на 180°, преобразование Кэли все еще является потенциально полезным инструментом, давая параметризацию большинства матриц вращения без тригонометрических функций.
В трех измерениях, например, мы имеем (Кейли, 1846)
Если мы сжимаем элементы перекоса в вектор ( x , y , z ) , то мы получаем поворот на 90° вокруг оси x для (1, 0, 0), вокруг оси y для (0, 1, 0) и вокруг оси z для (0, 0, 1). Повороты на 180° просто недостижимы; поскольку в пределе при x → ∞ ( x , 0, 0) приближается к повороту на 180° вокруг оси x , и аналогично для других направлений.
Для двумерного случая матрицу вращения можно разложить на три матрицы сдвига (Paeth 1986):
Это полезно, например, в компьютерной графике, поскольку сдвиги можно реализовать с меньшим количеством инструкций умножения, чем вращение битовой карты напрямую. На современных компьютерах это может не иметь значения, но может быть актуально для очень старых или низкопроизводительных микропроцессоров.
Вращение также можно записать в виде двух сдвигов и масштабирования (Daubechies & Sweldens 1998):
Ниже приведены некоторые основные факты о роли совокупности всех матриц вращения фиксированной размерности (здесь в основном 3) в математике и, в частности, в физике, где симметрия вращения является требованием каждого действительно фундаментального закона (из-за предположения об изотропности пространства ), и где та же самая симметрия, когда она присутствует, является упрощающим свойством многих проблем менее фундаментальной природы. Примеров предостаточно в классической механике и квантовой механике . Знание части решений, относящихся к этой симметрии, применяется (с оговорками) ко всем таким проблемам, и ее можно вынести за скобки из конкретной рассматриваемой проблемы, тем самым уменьшив ее сложность. Ярким примером — в математике и физике — может служить теория сферических гармоник . Их роль в групповой теории групп вращения заключается в том, что они являются пространством представления для всего набора конечномерных неприводимых представлений группы вращения SO(3). По этой теме см. Группа вращения SO(3) § Сферические гармоники .
Для получения более подробной информации обратитесь к основным статьям, перечисленным в каждом подразделе.
Матрицы вращения n × n для каждого n образуют группу , специальную ортогональную группу , SO( n ) . Эта алгебраическая структура связана с топологической структурой, унаследованной от таким образом, что операции умножения и взятия обратного являются аналитическими функциями элементов матрицы. Таким образом, SO( n ) для каждого n является группой Ли . Она компактна и связна , но не односвязна . Это также полупростая группа , фактически простая группа , за исключением SO(4). [12] Актуальность этого заключается в том, что все теоремы и весь аппарат из теории аналитических многообразий (аналитические многообразия являются, в частности, гладкими многообразиями ) применимы, и хорошо развитая теория представлений компактных полупростых групп готова к использованию.
Алгебра Ли so ( n ) группы SO( n ) задается формулой
и есть пространство кососимметричных матриц размерности n , см. классическая группа , где o ( n ) есть алгебра Ли O( n ) , ортогональная группа . Для справки, наиболее распространенным базисом для so (3) является
Связь алгебры Ли с группой Ли осуществляется экспоненциальным отображением , которое определяется с помощью стандартного матричного экспоненциального ряда для e A [13] Для любой кососимметричной матрицы A , exp( A ) всегда является матрицей вращения. [примечание 3]
Важным практическим примером является случай 3 × 3. В группе вращений SO(3) показано, что можно отождествить каждый A ∈ so (3) с вектором Эйлера ω = θ u , где u = ( x , y , z ) — единичный вектор величины.
По свойствам идентификации u находится в нулевом пространстве A. Таким образом, u остается инвариантным под действием exp( A ) и , следовательно, является осью вращения.
Согласно формуле вращения Родригеса в матричной форме , получаем,
где
Это матрица для поворота вокруг оси u на угол θ . Для получения полной информации см. экспоненциальную карту SO(3) .
Формула BCH дает явное выражение для Z = log( e X e Y ) в терминах разложения в ряд вложенных коммутаторов X и Y . [14] Это общее разложение разворачивается как [nb 4]
В случае 3 × 3 общее бесконечное расширение имеет компактную форму, [15]
для подходящих коэффициентов тригонометрической функции, подробно описанных в формуле Бейкера–Кэмпбелла–Хаусдорфа для SO(3) .
Как групповая идентичность, вышесказанное справедливо для всех верных представлений , включая дублет (спинорное представление), которое проще. Та же явная формула, таким образом, следует непосредственно через матрицы Паули; см. вывод 2 × 2 для SU(2) . Для общего случая n × n можно использовать Ref. [16]
Группа Ли матриц вращения n × n , SO( n ) , не является просто связной , поэтому теория Ли говорит нам, что она является гомоморфным образом универсальной покрывающей группы . Часто покрывающая группа, которая в этом случае называется спиновой группой, обозначаемой Spin( n ) , проще и естественнее для работы. [17]
В случае плоских вращений SO(2) топологически является окружностью , S 1 . Ее универсальная накрывающая группа, Spin(2), изоморфна действительной прямой , R , при сложении. Всякий раз, когда используются углы произвольной величины, мы пользуемся удобством универсального покрытия. Каждая матрица вращения 2 × 2 получается счетной бесконечностью углов, разделенных целыми кратными 2 π . Соответственно, фундаментальная группа SO (2) изоморфна целым числам, Z .
В случае пространственных вращений SO(3) топологически эквивалентно трехмерному действительному проективному пространству RP 3 . Его универсальная накрывающая группа Spin(3) изоморфна 3-сфере S 3 . Каждая матрица вращения 3 × 3 производится двумя противоположными точками на сфере. Соответственно, фундаментальная группа SO(3) изоморфна двухэлементной группе Z 2 .
Мы также можем описать Spin(3) как изоморфный кватернионам единичной нормы при умножении, или некоторым действительным матрицам 4 × 4 , или комплексным специальным унитарным матрицам 2 × 2 , а именно SU(2). Покрывающие карты для первого и последнего случая задаются как
и
Подробное описание SU (2)-покрытия и кватернионного покрытия см. в спиновой группе SO(3) .
Многие особенности этих случаев одинаковы для более высоких размерностей. Все покрытия являются покрытиями типа «два к одному», причем SO( n ) , n > 2 , имеют фундаментальную группу Z 2 . Естественная обстановка для этих групп находится внутри алгебры Клиффорда . Один тип действия вращений создается своего рода «сэндвичем», обозначаемым как qvq ∗ . Что еще более важно в приложениях к физике, соответствующее спиновое представление алгебры Ли находится внутри алгебры Клиффорда. Его можно возвести в степень обычным способом, чтобы получить 2-значное представление, также известное как проективное представление группы вращений. Это касается SO(3) и SU(2), где 2-значное представление можно рассматривать как «обратное» покрывающему отображению. По свойствам покрывающих отображений обратное можно выбрать одно-одно как локальное сечение, но не глобально.
Матрицы в алгебре Ли сами по себе не являются вращениями; кососимметричные матрицы являются производными, пропорциональными разностями вращений. Фактическое «дифференциальное вращение» или матрица бесконечно малого вращения имеет вид
где dθ исчезающе мало и A ∈ so (n) , например, при A = L x ,
Правила вычисления такие же, как обычно, за исключением того, что бесконечно малые второго порядка обычно отбрасываются. С этими правилами эти матрицы не удовлетворяют всем тем же свойствам, что и обычные матрицы конечного вращения при обычной обработке бесконечно малых. [18] Оказывается, что порядок, в котором применяются бесконечно малые вращения, не имеет значения . Чтобы увидеть это на примере, обратитесь к бесконечно малым вращениям SO(3) .
Мы увидели существование нескольких разложений, которые применимы в любом измерении, а именно независимые плоскости, последовательные углы и вложенные измерения. Во всех этих случаях мы можем либо разложить матрицу, либо построить ее. Мы также уделили особое внимание матрицам вращения 3 × 3 , и они заслуживают дальнейшего внимания в обоих направлениях (Stuelpnagel 1964).
Учитывая единичный кватернион q = w + x i + y j + z k , эквивалентная предварительно умноженная (для использования с векторами-столбцами) матрица вращения 3 × 3 равна [19]
Теперь каждый компонент кватерниона появляется умноженным на два в члене степени два, и если все такие члены равны нулю, то остается единичная матрица. Это приводит к эффективному, надежному преобразованию любого кватерниона — будь то единичный или не единичный — в матрицу вращения 3 × 3. Дано:
мы можем рассчитать
Освободившись от требования единичного кватерниона, мы обнаруживаем, что ненулевые кватернионы действуют как однородные координаты для матриц вращения 3 × 3. Преобразование Кэли, обсуждавшееся ранее, получается путем масштабирования кватерниона таким образом, чтобы его компонент w был равен 1. Для поворота на 180° вокруг любой оси w будет равен нулю, что объясняет ограничение Кэли.
Сумма элементов по главной диагонали ( след ), плюс один, равна 4 − 4( x 2 + y 2 + z 2 ) , что равно 4 w 2 . Таким образом, мы можем записать сам след как 2 w 2 + 2 w 2 − 1 ; и из предыдущей версии матрицы мы видим, что сами диагональные элементы имеют одинаковую форму: 2 x 2 + 2 w 2 − 1 , 2 y 2 + 2 w 2 − 1 и 2 z 2 + 2 w 2 − 1 . Таким образом, мы можем легко сравнить величины всех четырех компонентов кватерниона, используя диагональ матрицы. Фактически, мы можем получить все четыре величины, используя суммы и квадратные корни, и выбрать согласованные знаки, используя кососимметричную часть недиагональных элементов:
В качестве альтернативы используйте один квадратный корень и деление
Это численно стабильно, пока след, t , не отрицателен; в противном случае мы рискуем разделить на (почти) ноль. В этом случае предположим, что Q xx — это наибольший диагональный элемент, поэтому x будет иметь наибольшую величину (другие случаи выводятся циклической перестановкой); тогда следующее безопасно.
Если матрица содержит значительную ошибку, например, накопленную числовую ошибку, мы можем построить симметричную матрицу 4 × 4 ,
и найдите собственный вектор ( x , y , z , w ) с его наибольшим собственным значением. (Если Q действительно является матрицей вращения, это значение будет равно 1.) Полученный таким образом кватернион будет соответствовать матрице вращения, наиболее близкой к заданной матрице (Bar-Itzhack 2000) (Примечание: формулировка цитируемой статьи является пост-умноженной, работает с векторами-строками).
Если матрица M размера n × n невырождена, ее столбцы являются линейно независимыми векторами; таким образом, процесс Грама–Шмидта может настроить их так, чтобы они были ортонормированным базисом. Выражаясь языком числовой линейной алгебры , мы преобразуем M в ортогональную матрицу Q , используя QR-разложение . Однако мы часто предпочитаем Q , наиболее близкую к M , чего этот метод не позволяет достичь. Для этого нам нужен инструмент полярного разложения (Fan & Hoffman 1955; Higham 1989).
Для измерения близости мы можем использовать любую матричную норму , инвариантную относительно ортогональных преобразований. Удобным выбором является норма Фробениуса , ‖ Q − M ‖ F , в квадрате, которая является суммой квадратов разностей элементов. Записывая это в терминах следа , Tr , наша цель есть,
Хотя целевая функция записана в терминах матрицы, она представляет собой просто квадратичный полином. Мы можем минимизировать ее обычным способом, найдя, где ее производная равна нулю. Для матрицы 3 × 3 ограничение ортогональности подразумевает шесть скалярных равенств, которым должны удовлетворять элементы Q. Чтобы включить ограничение(я), мы можем использовать стандартную технику, множители Лагранжа , собранные в виде симметричной матрицы Y. Таким образом, наш метод:
Рассмотрим пример 2 × 2. Включая ограничения, мы стремимся минимизировать
Взяв производную по Q xx , Q xy , Q yx , Q yy по очереди, составляем матрицу.
В общем случае получаем уравнение
так что
где Q ортогональна, а S симметрична . Чтобы обеспечить минимум, матрица Y (и, следовательно, S ) должна быть положительно определена. Линейная алгебра называет QS полярным разложением M , где S — положительный квадратный корень из S 2 = M T M .
Когда M невырождена , факторы Q и S полярного разложения определяются однозначно. Однако определитель S положителен, поскольку S положительно определен, поэтому Q наследует знак определителя M. То есть Q гарантированно будет только ортогональна, а не матрицей поворота. Это неизбежно; M с отрицательным определителем не имеет однозначно определенной ближайшей матрицы поворота.
Для эффективного построения матрицы вращения Q из угла θ и единичной оси u мы можем воспользоваться симметрией и кососимметрией в записях. Если x , y и z являются компонентами единичного вектора, представляющего ось, и
затем
Определение оси и угла, как и определение кватерниона, возможно только с точностью до знака; то есть ( u , θ ) и (− u , − θ ) соответствуют одной и той же матрице вращения, как и q и − q . Кроме того, извлечение оси-угла представляет дополнительные трудности. Угол может быть ограничен диапазоном от 0° до 180°, но углы формально неоднозначны при кратности 360°. Когда угол равен нулю, ось не определена. Когда угол равен 180°, матрица становится симметричной, что имеет последствия при извлечении оси. Вблизи кратностей 180° необходимо проявлять осторожность, чтобы избежать числовых проблем: при извлечении угла двухаргументный арктангенс с atan2 (sin θ , cos θ ), равным θ, позволяет избежать нечувствительности arccos; и при вычислении величины оси для принудительного определения величины единицы метод грубой силы может привести к потере точности из-за потери значимости (Молер и Моррисон, 1983).
Частичный подход заключается в следующем:
Затем x- , y- и z -компоненты оси будут разделены на r . Полностью надежный подход будет использовать другой алгоритм, когда t , след матрицы Q , отрицателен, как при извлечении кватерниона. Когда r равно нулю, поскольку угол равен нулю, ось должна быть предоставлена из какого-то источника, отличного от матрицы.
Сложность преобразования возрастает с углами Эйлера (используемыми здесь в широком смысле). Первая трудность заключается в том, чтобы установить, какой из двадцати четырех вариантов порядка декартовых осей мы будем использовать. Предположим, что три угла — это θ 1 , θ 2 , θ 3 ; физика и химия могут интерпретировать их как
в то время как динамика самолета может использовать
Один систематический подход начинается с выбора самой правой оси. Среди всех перестановок ( x , y , z ) только две помещают эту ось первой; одна является четной перестановкой, а другая — нечетной. Таким образом, выбор четности устанавливает среднюю ось. Это оставляет два выбора для самой левой оси: дублировать первую или нет. Эти три выбора дают нам 3 × 2 × 2 = 12 вариаций; мы удваиваем это до 24, выбирая статические или вращающиеся оси.
Этого достаточно, чтобы построить матрицу из углов, но тройки, отличающиеся во многих отношениях, могут дать одну и ту же матрицу вращения. Например, предположим, что мы используем соглашение zyz выше; тогда у нас есть следующие эквивалентные пары:
Углы для любого порядка можно найти с помощью краткой общей процедуры (Herter & Lott 1993; Shoemake 1994).
Проблема сингулярного выравнивания, математический аналог физического карданного замка , возникает, когда среднее вращение выравнивает оси первого и последнего вращений. Она затрагивает каждый порядок осей либо при четных, либо при нечетных кратных 90°. Эти сингулярности не характерны для матрицы вращения как таковой и возникают только при использовании углов Эйлера.
Сингулярности избегаются при рассмотрении и манипулировании матрицей вращения как ортонормальными векторами-строками (в 3D-приложениях часто называемыми правым вектором, верхним вектором и внешним вектором), а не как углами. Сингулярности также избегаются при работе с кватернионами.
В некоторых случаях интересно описать поворот, указав, как вектор отображается в другой через кратчайший путь (наименьший угол). В этом полностью описывается соответствующая матрица поворота. В общем случае, если x , y ∈ n , матрица
принадлежит SO( n + 1) и отображает x в y . [20]
Иногда нам нужно сгенерировать равномерно распределенную случайную матрицу вращения. Кажется интуитивно понятным в двух измерениях, что это означает, что угол вращения равномерно распределен между 0 и 2π . Эта интуиция верна, но не переносится на более высокие измерения. Например, если мы разложим матрицы вращения 3 × 3 в форме ось-угол, угол не должен быть равномерно распределен; вероятность того, что (величина) угла не превышает θ, должна быть 1/π ( θ - грех θ ) , ибо 0 ≤ θ ≤ π .
Поскольку SO( n ) является связной и локально компактной группой Ли, у нас есть простой стандартный критерий однородности, а именно, что распределение должно быть неизменным при составлении с любым произвольным вращением («трансляцией» группы Ли). Это определение соответствует тому, что называется мерой Хаара . Леон, Массе и Ривест (2006) показывают, как использовать преобразование Кэли для генерации и проверки матриц в соответствии с этим критерием.
Мы также можем сгенерировать равномерное распределение в любом измерении, используя алгоритм подгруппы Диакониса и Шахшахани (1987). Это рекурсивно использует структуру группы вложенных измерений SO( n ) следующим образом. Сгенерируйте равномерный угол и постройте матрицу вращения 2 × 2. Чтобы перейти от n к n + 1 , сгенерируйте вектор v , равномерно распределенный на n -сфере S n , вставьте матрицу n × n в следующий больший размер с последним столбцом (0, ..., 0, 1) и поверните большую матрицу так, чтобы последний столбец стал v .
Как обычно, у нас есть специальные альтернативы для случая 3 × 3. Каждый из этих методов начинается с трех независимых случайных скаляров, равномерно распределенных на единичном интервале. Арво (1992) использует нечетное измерение, чтобы изменить отражение Хаусхолдера на вращение путем отрицания, и использует это для нацеливания оси равномерного плоского вращения.
Другой метод использует единичные кватернионы. Умножение матриц вращения гомоморфно умножению кватернионов, а умножение на единичный кватернион вращает единичную сферу. Поскольку гомоморфизм является локальной изометрией , мы немедленно заключаем, что для создания равномерного распределения на SO(3) мы можем использовать равномерное распределение на S 3 . На практике: создайте четырехэлементный вектор, где каждый элемент является выборкой нормального распределения. Нормализуйте его длину, и у вас будет равномерно выбранный случайный единичный кватернион, который представляет равномерно выбранное случайное вращение. Обратите внимание, что вышеупомянутое применимо только к вращениям в размерности 3. Для обобщенного представления о кватернионах следует рассмотреть Роторы .
Также можно использовать углы Эйлера, хотя каждый угол не распределен равномерно (Murnaghan 1962; Miles 1965).
Для формы ось-угол ось равномерно распределена по единичной сфере направлений S2 , тогда как угол имеет неравномерное распределение по [0, π ], отмеченное ранее (Майлз, 1965).
{{cite web}}
: CS1 maint: numeric names: authors list (link)