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

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Содержание

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

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

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

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


  M(\theta) = \begin{pmatrix} 
    \cos{\theta} & \pm \sin{\theta} \\
    \mp\sin{\theta} & \cos{\theta} 
  \end{pmatrix}

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


\begin{bmatrix}
x' \\
y' \\
\end{bmatrix} = \begin{bmatrix}
\cos \theta & \pm \sin \theta \\
\mp \sin \theta & \cos \theta \\
\end{bmatrix}\begin{bmatrix}
x \\
y \\
\end{bmatrix}.

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

x' = x \cos \theta \pm y \sin \theta\,,
y' = x \sin \theta \mp y \cos \theta\,.

Конкретные знаки в формулах зависят от того, является ли система координат правосторонней или левосторонней, и выполняется ли вращение по или против часовой стрелки. [уточнить]

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

Матрицами вращения вокруг оси декартовой системы координат на угол α в трёхмерном пространстве являются:

  • Вращение вокруг оси x:
 M_x(\alpha) = 
\begin{pmatrix} 
1 &   0           & 0           \\
0 & \cos \alpha   &  -\sin \alpha \\
0 & \sin \alpha & \cos \alpha
\end{pmatrix} 
,
  • Вращение вокруг оси y:
M_y(\alpha) = 
\begin{pmatrix} 
\cos \alpha   & 0 & \sin \alpha \\
   0          & 1 &  0          \\
 -\sin \alpha & 0 & \cos \alpha
\end{pmatrix} 
,
  • Вращение вокруг оси z:
M_z(\alpha) =
\begin{pmatrix} 
\cos  \alpha  &  -\sin \alpha & 0 \\
\sin \alpha & \cos \alpha & 0 \\
   0          & 0           & 1
\end{pmatrix} 
.

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

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

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

\;n' = M'' \cdot \; n,

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

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

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

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

Если \;M_1 — матрица поворота вокруг оси с ортом \;n на угол \;\alpha, \;M_2 — матрица поворота вокруг оси с ортом \;m на угол \;\beta, то M_2 \cdot M_1 — матрица, описывающая поворот, являющийся результатом двух последовательно осуществленных поворотов (\;M_1 и \;M_2), поскольку

(M_2 \cdot M_1) \cdot r = M_2 \cdot (M_1 \cdot r).

При этом последовательность поворотов можно поменять, видоизменив поворот \;M_1:

M_2 \cdot M_1 = M'_1 \cdot M_2,

где матрица \;M'_1 — матрица поворота на угол \;\alpha вокруг оси c ортом \;n', повернутым с помощью поворота \;M_2:

n' = M_2 \cdot n, \qquad M'_1 = M_2 \cdot M_1 \cdot M_2^T,

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

M_2 \cdot M_1 \neq M_1 \cdot M_2.

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

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

 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' — ось X, повернутая первым поворотом (на \;\alpha), \;Z'' — ось Z, повернутая первым и вторым поворотом (на \;\alpha и \;\beta). Вследствие перестановочности поворотов приведенная матрица соответствует поворотам на углы \;\gamma, \;\beta, \;\alpha вокруг осей Z, X, Z:

M(\alpha,\beta,\gamma) = M_z(\alpha) \cdot M_x(\beta) \cdot M_z(\gamma).

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

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

[править] Выражение матрицы поворота через угол поворота \theta и единичный вектор оси вращения \hat{\mathbf{v}} = (x,y,z)

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

 M(\hat{\mathbf{v}},\theta) = \begin{pmatrix}
   \cos \theta + (1 - \cos \theta) x^2
 & (1 - \cos \theta) x y - (\sin \theta) z 
 & (1 - \cos \theta) x z + (\sin \theta) y  
\\
   (1 - \cos \theta) y x + (\sin \theta) z 
 & \cos \theta + (1 - \cos \theta) y^2
 & (1 - \cos \theta) y z - (\sin \theta) x
\\
   (1 - \cos \theta) z x - (\sin \theta) y
 & (1 - \cos \theta) z y + (\sin \theta) x
 & \cos \theta + (1 - \cos \theta) z^2 
\end{pmatrix}

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

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

 Q = \begin{bmatrix}
    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
\end{bmatrix} .

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

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

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

[править] См. также

[править] Литература

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

[править] Ссылки



Личные инструменты
Пространства имён

Варианты
Действия
Навигация
Участие
Печать/экспорт
Инструменты
На других языках