Interested Article - Матрица поворота

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

Обычно считают, что в отличие от матрицы перехода при повороте системы координат (базиса), при умножении на матрицу поворота вектора-столбца координаты вектора преобразуются в соответствии с поворотом самого вектора (а не поворотом координатных осей ; то есть при этом координаты повернутого вектора получаются в той же, неподвижной системе координат). Однако отличие той и другой матрицы лишь в знаке угла поворота, и одна может быть получена из другой заменой угла поворота на противоположный; та и другая взаимно обратны и могут быть получены друг из друга транспонированием .

Матрица поворота в двумерном пространстве

В двумерном пространстве поворот можно описать одним углом θ {\displaystyle \;\theta } со следующей матрицей линейного преобразования в декартовой системе координат :

M ( θ ) = ( cos θ sin θ ± sin θ cos θ ) {\displaystyle M(\theta)={\begin{pmatrix}\cos {\theta }&\mp \sin {\theta }\\\pm \sin {\theta }&\cos {\theta }\end{pmatrix}}}
или
M ( θ ) = exp ( θ [ 0 1 ± 1 0 ] ) {\displaystyle M(\theta)=\exp \left({\theta }\cdot {\begin{bmatrix}0&\mp 1\\\pm 1&0\end{bmatrix}}\right)} .

Поворот выполняется путём умножения матрицы поворота на вектор -столбец, описывающий вращаемую точку:

[ x y ] = [ cos θ sin θ ± sin θ cos θ ] [ x y ] . {\displaystyle {\begin{bmatrix}x'\\y'\\\end{bmatrix}}={\begin{bmatrix}\cos \theta &\mp \sin \theta \\\pm \sin \theta &\cos \theta \\\end{bmatrix}}{\begin{bmatrix}x\\y\\\end{bmatrix}}.}

Координаты ( x ′, y ′) в результате поворота точки ( x, y ) имеют вид:

x = x cos θ y sin θ , {\displaystyle x'=x\cos \theta \mp y\sin \theta ,}
y = ± x sin θ + y cos θ . {\displaystyle y'=\pm x\sin \theta +y\cos \theta .}

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

Матрица поворота в трёхмерном пространстве

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

Матрицами вращения вокруг оси декартовой системы координат на угол φ {\displaystyle \varphi } в трёхмерном пространстве с неподвижной системой координат являются:

  • Вращение вокруг оси x {\displaystyle x} :
M x ( φ ) = ( 1 0 0 0 cos φ sin φ 0 sin φ cos φ ) . {\displaystyle M_{x}(\varphi)={\begin{pmatrix}1&0&0\\0&\cos \varphi &-\sin \varphi \\0&\sin \varphi &\cos \varphi \end{pmatrix}}.}
  • Вращение вокруг оси y {\displaystyle y} :
M y ( φ ) = ( cos φ 0 sin φ 0 1 0 sin φ 0 cos φ ) . {\displaystyle M_{y}(\varphi)={\begin{pmatrix}\cos \varphi &0&\sin \varphi \\0&1&0\\-\sin \varphi &0&\cos \varphi \end{pmatrix}}.}
  • Вращение вокруг оси z {\displaystyle z} :
M z ( φ ) = ( cos φ sin φ 0 sin φ cos φ 0 0 0 1 ) . {\displaystyle M_{z}(\varphi)={\begin{pmatrix}\cos \varphi &-\sin \varphi &0\\\sin \varphi &\cos \varphi &0\\0&0&1\end{pmatrix}}.}
Матрица поворота последовательности поворотов в некотором оговорённом порядке:
M x ( α ) M y ( β ) M z ( γ ) = ( 1 0 0 0 cos α sin α 0 sin α cos α ) ( cos β 0 sin β 0 1 0 sin β 0 cos β ) ( cos γ sin γ 0 sin γ cos γ 0 0 0 1 ) = ( cos β cos γ sin γ cos β sin β sin α sin β cos γ + sin γ cos α sin α sin β sin γ + cos α cos γ sin α cos β sin α sin γ sin β cos α cos γ sin α cos γ + sin β sin γ cos α cos α cos β ) . {\displaystyle M_{x}(\alpha)*M_{y}(\beta)*M_{z}(\gamma)={\begin{pmatrix}1&0&0\\0&\cos \alpha &-\sin \alpha \\0&\sin \alpha &\cos \alpha \end{pmatrix}}{\begin{pmatrix}\cos \beta &0&\sin \beta \\0&1&0\\-\sin \beta &0&\cos \beta \end{pmatrix}}{\begin{pmatrix}\cos \gamma &-\sin \gamma &0\\\sin \gamma &\cos \gamma &0\\0&0&1\end{pmatrix}}={\begin{pmatrix}\cos \beta \cos \gamma &-\sin \gamma \cos \beta &\sin \beta \\\sin \alpha \sin \beta \cos \gamma +\sin \gamma \cos \alpha &-\sin \alpha \sin \beta \sin \gamma +\cos \alpha \cos \gamma &-\sin \alpha \cos \beta \\\sin \alpha \sin \gamma -\sin \beta \cos \alpha \cos \gamma &\sin \alpha \cos \gamma +\sin \beta \sin \gamma \cos \alpha &\cos \alpha \cos \beta \end{pmatrix}}.}

Положительным углам при этом соответствует вращение вектора против часовой стрелки в правой системе координат , и по часовой стрелке в левой системе координат, если смотреть против направления соответствующей оси . Например, при повороте на угол α = 90 {\displaystyle \alpha =90^{\circ }} вокруг оси z {\displaystyle z} ось x {\displaystyle x} переходит в y {\displaystyle y} : M z ( 90 ) e x = e y {\displaystyle M_{z}(90^{\circ })\cdot \mathbf {e} _{x}=\mathbf {e} _{y}} . Аналогично, M y ( 90 ) e z = e x {\displaystyle M_{y}(90^{\circ })\cdot \mathbf {e} _{z}=\mathbf {e} _{x}} и M x ( 90 ) e y = e z {\displaystyle M_{x}(90^{\circ })\cdot \mathbf {e} _{y}=\mathbf {e} _{z}} . Правая система координат связана с выбором правого базиса (см. правило буравчика ).

Матрица поворота в n -мерном пространстве

Совершенно аналогично могут быть записаны матрицы поворота конечномерного пространства любой более высокой размерности.

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

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

Например:

M 1 , 2 ( α ) = ( cos α sin α 0 0 0 sin α cos α 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 ) {\displaystyle M_{1,2}(\alpha)={\begin{pmatrix}\cos \alpha &-\sin \alpha &0&0&0\\\sin \alpha &\cos \alpha &0&0&0\\0&0&1&0&0\\0&0&0&1&0\\0&0&0&0&1\end{pmatrix}}}

— матрица поворота в 5-мерном пространстве в плоскости x 1 x 2 {\displaystyle x_{1}x_{2}} ,

M 2 , 4 ( α ) = ( 1 0 0 0 0 0 0 0 cos α 0 sin α 0 0 0 0 0 1 0 0 0 0 0 sin α 0 cos α 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 ) {\displaystyle M_{2,4}(\alpha)={\begin{pmatrix}1&0&0&0&0&0&0\\0&\cos \alpha &0&-\sin \alpha &0&0&0\\0&0&1&0&0&0&0\\0&\sin \alpha &0&\cos \alpha &0&0&0\\0&0&0&0&1&0&0\\0&0&0&0&0&1&0\\0&0&0&0&0&0&1\end{pmatrix}}}

— матрица поворота в 7-мерном пространстве в плоскости x 2 x 4 {\displaystyle x_{2}x_{4}} .

  • При таком подходе знаки перед синусами расставлять даже легче, поскольку они определяются порядком перечисления осей плоскости вращения: какая названа первой, в той строке перед синусом минус.
  • Легко видеть, что матрица поворота в плоскости x 1 x 2 {\displaystyle x_{1}x_{2}} совпадает (что естественно) с матрицей поворота в плоскости x 2 x 1 {\displaystyle x_{2}x_{1}} и т. д. с точностью до замены угла поворота на противоположный.
  • Поэтому такие матрицы с переставленными индексами очевидно не независимы, и для получения произвольного поворота достаточно включить в композицию каждую плоскость только один раз, то есть, скажем, только M 1 , 2 ( α 1 , 2 ) {\displaystyle M_{1,2}(\alpha _{1,2})} , а не M 1 , 2 ( α 1 , 2 ) {\displaystyle M_{1,2}(\alpha _{1,2})} и M 2 , 1 ( α 2 , 1 ) {\displaystyle M_{2,1}(\alpha _{2,1})} .

Изменение оси поворота

Пусть M {\displaystyle \;M} — матрица поворота вокруг оси с ортом n {\displaystyle \;n} на угол α {\displaystyle \;\alpha } , M {\displaystyle \;M'} — матрица поворота вокруг оси с ортом n {\displaystyle \;n'} на тот же угол, причем

n = M n , {\displaystyle \;n'=M''\cdot \;n,}

где M {\displaystyle \;M''} — матрица поворота, изменяющая орт оси поворота n {\displaystyle \;n} . Тогда

M = M M M T , {\displaystyle M'=M''\cdot M\cdot M''^{\;T},}

где M T {\displaystyle \;M''^{\;T}} транспонированная матрица M {\displaystyle \;M''} .

Перестановочность поворотов

Если M 1 {\displaystyle \;M_{1}} — матрица поворота вокруг оси с ортом n {\displaystyle \;n} на угол α {\displaystyle \;\alpha } , M 2 {\displaystyle \;M_{2}} — матрица поворота вокруг оси с ортом m {\displaystyle \;m} на угол β {\displaystyle \;\beta } , то M 2 M 1 {\displaystyle M_{2}\cdot M_{1}} — матрица, описывающая поворот, являющийся результатом двух последовательно осуществленных поворотов ( M 1 {\displaystyle \;M_{1}} и M 2 {\displaystyle \;M_{2}} ), поскольку

( M 2 M 1 ) r = M 2 ( M 1 r ) . {\displaystyle (M_{2}\cdot M_{1})\cdot r=M_{2}\cdot (M_{1}\cdot r).}

При этом последовательность поворотов можно поменять, видоизменив поворот M 1 {\displaystyle \;M_{1}} :

M 2 M 1 = M 1 M 2 , {\displaystyle M_{2}\cdot M_{1}=M'_{1}\cdot M_{2},}

где матрица M 1 {\displaystyle \;M'_{1}} — матрица поворота на угол α {\displaystyle \;\alpha } вокруг оси c ортом n , {\displaystyle \;n',} повернутым с помощью поворота M 2 {\displaystyle \;M_{2}} :

n = M 2 n , M 1 = M 2 M 1 M 2 T , {\displaystyle n'=M_{2}\cdot n,\qquad M'_{1}=M_{2}\cdot M_{1}\cdot M_{2}^{T},}

поскольку M 2 T M 2 = E {\displaystyle M_{2}^{T}\cdot M_{2}=E} , так как матрица поворота является ортогональной матрицей ( E {\displaystyle \;E} единичная матрица ). Заметим, что коммутативности поворотов в обычном смысле нет, то есть

M 2 M 1 M 1 M 2 . {\displaystyle M_{2}\cdot M_{1}\neq M_{1}\cdot M_{2}.}

Выражение матрицы поворота через углы Эйлера

Последовательные повороты около осей Z , X , Z {\displaystyle \;Z,X',Z''} на угол прецессии ( α {\displaystyle \alpha } ), угол нутации ( β {\displaystyle \beta } ) и на угол собственного вращения ( γ {\displaystyle \gamma } ) приводят к следующему выражению для матрицы поворота:

M ( α , β , γ ) = ( cos α cos γ sin α cos β sin γ cos α sin γ sin α cos β cos γ sin α sin β sin α cos γ + cos α cos β sin γ sin α sin γ + cos α cos β cos γ cos α sin β sin β sin γ sin β cos γ cos β ) . {\displaystyle M(\alpha ,\beta ,\gamma)={\begin{pmatrix}\cos \alpha \cos \gamma -\sin \alpha \cos \beta \sin \gamma &-\cos \alpha \sin \gamma -\sin \alpha \cos \beta \cos \gamma &\sin \alpha \sin \beta \\\sin \alpha \cos \gamma +\cos \alpha \cos \beta \sin \gamma &-\sin \alpha \sin \gamma +\cos \alpha \cos \beta \cos \gamma &-\cos \alpha \sin \beta \\\sin \beta \sin \gamma &\sin \beta \cos \gamma &\cos \beta \end{pmatrix}}.}

Ось X {\displaystyle \;X'} — ось X , повёрнутая первым поворотом (на α {\displaystyle \;\alpha } ), Z {\displaystyle \;Z''} — ось Z , повёрнутая первым и вторым поворотом (на α {\displaystyle \;\alpha } и β {\displaystyle \;\beta } ). Вследствие перестановочности поворотов приведённая матрица соответствует поворотам на углы γ {\displaystyle \;\gamma } , β {\displaystyle \;\beta } , α {\displaystyle \;\alpha } вокруг осей Z, X, Z :

M ( α , β , γ ) = M Z ( α ) M X ( β ) M Z ( γ ) {\displaystyle M(\alpha ,\beta ,\gamma)=M_{Z}(\alpha)\cdot M_{X}(\beta)\cdot M_{Z}(\gamma)} .

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

  • 1) Поворот около осей: X , Y , X {\displaystyle X,Y,X}
  • 2) Соответственно: X , Y , Z {\displaystyle X,Y,Z}
  • 3) X , Z , X {\displaystyle X,Z,X}
  • 4) X , Z , Y {\displaystyle X,Z,Y}
  • 5) Y , X , Y {\displaystyle Y,X,Y}
  • 6) Y , X , Z {\displaystyle Y,X,Z}
  • 7) Y , Z , X {\displaystyle Y,Z,X}
  • 8) Y , Z , Y {\displaystyle Y,Z,Y}
  • 9) Z , X , Y {\displaystyle Z,X,Y}
  • 10) Z , X , Z {\displaystyle Z,X,Z}
  • 11) Z , Y , X {\displaystyle Z,Y,X}
  • 12) Z , Y , Z {\displaystyle Z,Y,Z}

Матрица поворота вокруг произвольной оси

Пусть ось вращения задана единичным вектором v ^ = ( x , y , z ) {\displaystyle {\hat {\mathbf {v} }}=(x,y,z)} , а угол поворота θ {\displaystyle \theta } .

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

M ( v ^ , θ ) = ( cos θ + ( 1 cos θ ) x 2 ( 1 cos θ ) x y ( sin θ ) z ( 1 cos θ ) x z + ( sin θ ) y ( 1 cos θ ) y x + ( sin θ ) z cos θ + ( 1 cos θ ) y 2 ( 1 cos θ ) y z ( sin θ ) x ( 1 cos θ ) z x ( sin θ ) y ( 1 cos θ ) z y + ( sin θ ) x cos θ + ( 1 cos θ ) z 2 ) {\displaystyle M({\hat {\mathbf {v} }},\theta)={\begin{pmatrix}\cos \theta +(1-\cos \theta)x^{2}&(1-\cos \theta)xy-(\sin \theta)z&(1-\cos \theta)xz+(\sin \theta)y\\(1-\cos \theta)yx+(\sin \theta)z&\cos \theta +(1-\cos \theta)y^{2}&(1-\cos \theta)yz-(\sin \theta)x\\(1-\cos \theta)zx-(\sin \theta)y&(1-\cos \theta)zy+(\sin \theta)x&\cos \theta +(1-\cos \theta)z^{2}\end{pmatrix}}}

Выражение матрицы поворота через кватернион

Если задан кватернион q = ( w , x , y , z ) {\displaystyle q=(w,x,y,z)} , то соответствующая матрица поворота имеет вид:

Q = [ 1 2 y 2 2 z 2 2 x y 2 z w 2 x z + 2 y w 2 x y + 2 z w 1 2 x 2 2 z 2 2 y z 2 x w 2 x z 2 y w 2 y z + 2 x w 1 2 x 2 2 y 2 ] . {\displaystyle Q={\begin{bmatrix}1-2y^{2}-2z^{2}&2xy-2zw&2xz+2yw\\2xy+2zw&1-2x^{2}-2z^{2}&2yz-2xw\\2xz-2yw&2yz+2xw&1-2x^{2}-2y^{2}\end{bmatrix}}.}

Свойства матрицы поворота

Если M {\displaystyle \mathbf {M} } — матрица, задающая поворот вокруг оси n {\displaystyle {\vec {n}}} на угол φ {\displaystyle \varphi } , то:

  • | M v | = | v | {\displaystyle |\mathbf {M} {\vec {v}}|=|{\vec {v}}|} v {\displaystyle \forall {\vec {v}}}
  • M n = n {\displaystyle \mathbf {M} {\vec {n}}={\vec {n}}}
  • ( M v , v ) = ( 1 cos φ ) ( n v ) 2 + ( v ) 2 cos φ {\displaystyle (\mathbf {M} {\vec {v}},{\vec {v}})=(1-\cos \varphi)({\vec {n}}\cdot {\vec {v}})^{2}+({\vec {v}})^{2}\cos \varphi }
  • Tr ( M ) = n 2 + 2 cos φ {\displaystyle \operatorname {Tr} (\mathbf {M})=n-2+2\cos \varphi } ( след матрицы вращения), где n — размерность пространства (размер матрицы).
  • det M = 1 {\displaystyle \det \mathbf {M} =1} (матрица имеет единичный определитель ).
  • Матрица обратного поворота получается обычным транспонированием матрицы прямого поворота, т. о. M 1 = M T {\displaystyle \mathbf {M} ^{\mathrm {-1} }=\mathbf {M} ^{\mathrm {T} }} .
  • Для трёхмерного пространства (матриц 3 × 3 {\displaystyle 3\times 3} ): если строки (или столбцы матрицы) рассматривать как координаты векторов a , b , c {\displaystyle {\vec {a}},{\vec {b}},{\vec {c}}} , то верны следующие соотношения):
    • | a | = | b | = | c | = 1 {\displaystyle |{\vec {a}}|=|{\vec {b}}|=|{\vec {c}}|=1}
    • a b = 0 , b c = 0 , c a = 0 {\displaystyle {\vec {a}}\cdot {\vec {b}}=0,{\vec {b}}\cdot {\vec {c}}=0,{\vec {c}}\cdot {\vec {a}}=0}
    • a × b = c , b × c = a , c × a = b {\displaystyle {\vec {a}}\times {\vec {b}}={\vec {c}},{\vec {b}}\times {\vec {c}}={\vec {a}},{\vec {c}}\times {\vec {a}}={\vec {b}}}
  • Первые два свойства , означающие условие ортогональности матрицы , верны и для произвольной размерности пространства (размера матрицы).

Примечания

  1. Ортогональность матрицы означает, что её обратная матрица равна транспонированной матрице : A −1 = A T .
  2. То есть если смотреть на плоскость вращения со стороны полупространства, где значения координат оси, вокруг которой осуществляется поворот, положительные.
  3. О вращении в плоскости можно говорить и для трёхмерного пространства, например, вращение вокруг оси z {\displaystyle z} есть вращение в плоскости x y {\displaystyle xy} ; однако для трёхмерного пространства возможно и то и другое представление, и поэтому обычно, если вопрос сводится к случаю только этой размерности, выбирают представление (и обозначения) вращения вокруг оси как интуитивно несколько более простое.
  4. Для всех n строк (столбцов).

См. также

Литература

  • Лурье А. И. Аналитическая механика. — М. : Физматлит . — 1961. — 824 с.

Ссылки

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