Представление оси-угла

Параметризация вращения в единичный вектор и угол
Угол θ и единичный вектор оси e определяют вращение, кратко представленное вектором вращения θ e .

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

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

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

Это один из многих формализмов вращения в трех измерениях .

Вектор вращения

Представление ось-угол эквивалентно более краткому вектору вращения , также называемому вектором Эйлера (не путать с вектором углов Эйлера ). В этом случае и ось вращения, и угол представлены вектором, сонаправленным с осью вращения, длина которого равна углу поворота θ , Он используется для экспоненциальных и логарифмических отображений, включающих это представление. θ = θ е . {\displaystyle {\boldsymbol {\theta }}=\theta \mathbf {e} \,.}

Многие векторы вращения соответствуют одному и тому же вращению. В частности, вектор вращения длины θ + 2 πM для любого целого числа M кодирует точно такое же вращение, как вектор вращения длины θ . Таким образом, существует по крайней мере счетная бесконечность векторов вращения, соответствующих любому вращению. Более того, все вращения на 2 πM эквивалентны отсутствию вращения вообще, поэтому для данного целого числа M все векторы вращения длины 2 πM во всех направлениях составляют двухпараметрическую несчетную бесконечность векторов вращения, кодирующих то же вращение, что и нулевой вектор. Эти факты необходимо учитывать при инвертировании экспоненциального отображения, то есть при нахождении вектора вращения, соответствующего заданной матрице вращения. Экспоненциальное отображение является отображением на , но не взаимно-однозначным .

Пример

Допустим, вы стоите на земле и выбираете направление гравитации как отрицательное направление z . Тогда, если вы повернетесь налево, вы будете вращаться /2 радиан (или -90° ) вокруг оси -z . Рассматривая представление оси-угла как упорядоченную пару , это будет ( а х я с , а н г л е ) = ( [ е х е у е з ] , θ ) = ( [ 0 0 1 ] , π 2 ) . {\displaystyle (\mathrm {axis} ,\mathrm {angle} )=\left({\begin{bmatrix}e_{x}\\e_{y}\\e_{z}\end{bmatrix}},\theta \right)=\left({\begin{bmatrix}0\\0\\-1\end{bmatrix}},{\frac {-\pi }{2}}\right).}

Приведенный выше пример можно представить как вектор вращения с величиной π/2 указывает в направлении z , [ 0 0 π 2 ] . {\displaystyle {\begin{bmatrix}0\\0\\{\frac {\pi }{2}}\end{bmatrix}}.}

Использует

Представление оси-угла удобно при работе с динамикой твердого тела . Оно полезно как для характеристики вращений , так и для преобразования между различными представлениями движения твердого тела , такими как однородные преобразования [ необходимо разъяснение ] и повороты.

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

Включение трех собственных значений 1 и e ± и связанных с ними трех ортогональных осей в декартовом представлении в теорему Мерсера является удобной конструкцией декартового представления матрицы вращения в трех измерениях.

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

Формула вращения Родригеса , названная в честь Олинды Родригес , является эффективным алгоритмом вращения евклидова вектора, заданного осью вращения и углом поворота. Другими словами, формула Родригеса предоставляет алгоритм для вычисления экспоненциального отображения из в SO(3) без вычисления полной матричной экспоненты. с о ( 3 ) {\displaystyle {\mathfrak {so}}(3)}

Если v — вектор в R 3 , а eединичный вектор с корнем в начале координат, описывающий ось вращения, вокруг которой v поворачивается на угол θ , то формула вращения Родригеса для получения повернутого вектора имеет вид в г о т = в + ( грех θ ) ( е × в ) + ( 1 потому что θ ) ( е × ( е × в ) ) . {\displaystyle \mathbf {v} _ {\mathrm {rot} }=\mathbf {v} +(\sin \theta)(\mathbf {e} \times \mathbf {v})+(1-\cos \ тета )(\mathbf {e} \times (\mathbf {e} \times \mathbf {v} ))\,.}

Для поворота одного вектора это может быть более эффективно, чем преобразование e и θ в матрицу поворота для поворота вектора.

Связь с другими представлениями

Существует несколько способов представления вращения. Полезно понимать, как различные представления соотносятся друг с другом и как преобразовывать их между собой. Здесь единичный вектор обозначается ω вместо e .

Экспоненциальное отображение из 𝔰𝔬(3) в SO(3)

Экспоненциальное отображение осуществляет преобразование из представления вращения по оси и углу в матрицы вращения , опыт : с о ( 3 ) С О ( 3 ) . {\displaystyle \exp \colon {\mathfrak {so}}(3)\to \mathrm {SO} (3)\,.}

По сути, используя разложение Тейлора, можно получить замкнутую форму связи между этими двумя представлениями. При наличии единичного вектора, представляющего единичную ось вращения, и угла θR эквивалентная матрица вращения R задается следующим образом, где Kматрица векторного произведения ω , то есть Kv = ω × v для всех векторов vR 3 , ω с о ( 3 ) = Р 3 {\textstyle {\boldsymbol {\omega }}\in {\mathfrak {so}}(3)=\mathbb {R} ^{3}} Р = опыт ( θ К ) = к = 0 ( θ К ) к к ! = я + θ К + 1 2 ! ( θ К ) 2 + 1 3 ! ( θ К ) 3 + {\displaystyle R=\exp(\theta \mathbf {K} )=\sum _{k=0}^{\infty }{\frac {(\theta \mathbf {K} )^{k}}{k!}}=I+\theta \mathbf {K} +{\frac {1}{2!}}(\theta \mathbf {K} )^{2}+{\frac {1}{3!}}(\theta \mathbf {K} )^{3}+\cdots }

Поскольку K кососимметричен, а сумма квадратов его элементов, расположенных над диагональю, равна 1, характеристический многочлен P ( t ) матрицы K равен P ( t ) = det( Kt I ) = −( t 3 + t ) . Поскольку по теореме Кэли–Гамильтона P ( K ) = 0, это означает, что В результате K 4 = – K 2 , K 5 = K , K 6 = K 2 , K 7 = – K . K 3 = K . {\displaystyle \mathbf {K} ^{3}=-\mathbf {K} \,.}

Этот циклический шаблон продолжается бесконечно, и поэтому все более высокие степени K могут быть выражены через K и K 2 . Таким образом, из приведенного выше уравнения следует, что это так, R = I + ( θ θ 3 3 ! + θ 5 5 ! ) K + ( θ 2 2 ! θ 4 4 ! + θ 6 6 ! ) K 2 , {\displaystyle R=I+\left(\theta -{\frac {\theta ^{3}}{3!}}+{\frac {\theta ^{5}}{5!}}-\cdots \right)\mathbf {K} +\left({\frac {\theta ^{2}}{2!}}-{\frac {\theta ^{4}}{4!}}+{\frac {\theta ^{6}}{6!}}-\cdots \right)\mathbf {K} ^{2}\,,} R = I + ( sin θ ) K + ( 1 cos θ ) K 2 , {\displaystyle R=I+(\sin \theta )\mathbf {K} +(1-\cos \theta )\mathbf {K} ^{2}\,,}

по формуле ряда Тейлора для тригонометрических функций .

Это вывод алгебры Ли, в отличие от геометрического вывода в статье Формула вращения Родригеса . [1]

В связи с существованием вышеупомянутой экспоненциальной карты единичный вектор ω, представляющий ось вращения, и угол θ иногда называют экспоненциальными координатами матрицы вращения R.

Логарифмическая карта из SO(3) в 𝔰𝔬(3)

Пусть K по-прежнему обозначает матрицу 3 × 3, которая осуществляет векторное произведение с осью вращения ω : K ( v ) = ω × v для всех векторов v в дальнейшем.

Чтобы получить представление оси-угла матрицы вращения , вычислите угол поворота из следа матрицы вращения : а затем используйте его для нахождения нормализованной оси, θ = arccos ( Tr ( R ) 1 2 ) {\displaystyle \theta =\arccos \left({\frac {\operatorname {Tr} (R)-1}{2}}\right)} ω = 1 2 sin θ [ R 32 R 23 R 13 R 31 R 21 R 12 ]   , {\displaystyle {\boldsymbol {\omega }}={\frac {1}{2\sin \theta }}{\begin{bmatrix}R_{32}-R_{23}\\R_{13}-R_{31}\\R_{21}-R_{12}\end{bmatrix}}~,}

где — компонент матрицы поворота, в -й строке и -м столбце. R i j {\displaystyle R_{ij}} R {\displaystyle R} i {\displaystyle i} j {\displaystyle j}

Представление оси-угла не является уникальным, поскольку поворот примерно на равняется повороту примерно на . θ {\displaystyle -\theta } ω {\displaystyle -{\boldsymbol {\omega }}} θ {\displaystyle \theta } ω {\displaystyle {\boldsymbol {\omega }}}

Вышеуказанный расчет вектора оси не работает, если R симметричен. В общем случае можно найти, используя нулевое пространство RI , см. матрицу вращения#Определение оси . ω {\displaystyle \omega } ω {\displaystyle \omega }

Матричный логарифм матрицы вращения R равен log R = { 0 if  θ = 0 θ 2 sin θ ( R R T ) if  θ 0  and  θ ( π , π ) {\displaystyle \log R={\begin{cases}0&{\text{if }}\theta =0\\{\dfrac {\theta }{2\sin \theta }}\left(R-R^{\mathsf {T}}\right)&{\text{if }}\theta \neq 0{\text{ and }}\theta \in (-\pi ,\pi )\end{cases}}}

Исключение возникает, когда R имеет собственные значения, равные −1 . В этом случае логарифм не является уникальным. Однако даже в случае, когда θ = π, норма Фробениуса логарифма равна При заданных матрицах вращения A и B , — геодезическое расстояние на трехмерном многообразии матриц вращения. log ( R ) F = 2 | θ | . {\displaystyle \|\log(R)\|_{\mathrm {F} }={\sqrt {2}}|\theta |\,.} d g ( A , B ) := log ( A T B ) F {\displaystyle d_{g}(A,B):=\left\|\log \left(A^{\mathsf {T}}B\right)\right\|_{\mathrm {F} }}

Для малых вращений приведенное выше вычисление θ может быть численно неточным, поскольку производная arccos стремится к бесконечности при θ → 0. В этом случае внеосевые члены фактически предоставят лучшую информацию о θ , поскольку для малых углов RI + θ K . (Это потому, что это первые два члена ряда Тейлора для exp( θ K ) .)

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

R = I + K sin θ + K 2 ( 1 cos θ ) {\displaystyle R=I+\mathbf {K} \sin \theta +\mathbf {K} ^{2}(1-\cos \theta )} При θ = π имеем и, таким образом, пусть диагональные члены B являются квадратами элементов ω , а знаки (с точностью до неоднозначности знаков) можно определить из знаков внеосевых членов  B. R = I + 2 K 2 = I + 2 ( ω ω I ) = 2 ω ω I {\displaystyle R=I+2\mathbf {K} ^{2}=I+2({\boldsymbol {\omega }}\otimes {\boldsymbol {\omega }}-I)=2{\boldsymbol {\omega }}\otimes {\boldsymbol {\omega }}-I} B := ω ω = 1 2 ( R + I ) , {\displaystyle B:={\boldsymbol {\omega }}\otimes {\boldsymbol {\omega }}={\frac {1}{2}}(R+I)\,,}

Единичные кватернионы

Следующее выражение преобразует координаты ось-угол в версоры (единичные кватернионы ): q = ( cos θ 2 , ω sin θ 2 ) {\displaystyle \mathbf {q} =\left(\cos {\tfrac {\theta }{2}},{\boldsymbol {\omega }}\sin {\tfrac {\theta }{2}}\right)}

Если вектор q = r + v представлен скаляром r и вектором v , то координаты ось-угол можно извлечь с помощью следующего: θ = 2 arccos r ω = { v sin θ 2 , if  θ 0 0 , otherwise . {\displaystyle {\begin{aligned}\theta &=2\arccos r\\[8px]{\boldsymbol {\omega }}&={\begin{cases}{\dfrac {\mathbf {v} }{\sin {\tfrac {\theta }{2}}}},&{\text{if }}\theta \neq 0\\0,&{\text{otherwise}}.\end{cases}}\end{aligned}}}

Более численно устойчивое выражение угла поворота использует функцию atan2 : где | v |евклидова норма 3-вектора v . θ = 2 atan2 ( | v | , r ) , {\displaystyle \theta =2\operatorname {atan2} (|\mathbf {v} |,r)\,,}

Смотрите также

Ссылки

  1. ^ Это справедливо для триплетного представления группы вращений, т. е. спина 1. Для более многомерных представлений/спинов см. Curtright, TL ; Fairlie, DB ; Zachos, CK (2014). "Компактная формула для вращений как полиномов спиновой матрицы". SIGMA . 10 : 084. arXiv : 1402.3541 . Bibcode :2014SIGMA..10..084C. doi :10.3842/SIGMA.2014.084. S2CID  18776942.
Retrieved from "https://en.wikipedia.org/w/index.php?title=Axis–angle_representation&oldid=1252413073"