Формула поворота Родрига — формула , связывающая два вектора с общим началом, один из которых получен поворотом другого на известный угол вокруг оси, проходящей через их общее начало:
R
→
2
−
tan
(
χ
/
2
)
[
e
→
×
R
→
2
]
=
R
→
1
+
tan
(
χ
/
2
)
[
e
→
×
R
→
1
]
{\displaystyle {\vec {R}}_{2}-\tan(\chi /2)[{\vec {e}}\times {\vec {R}}_{2}]={\vec {R}}_{1}+\tan(\chi /2)[{\vec {e}}\times {\vec {R}}_{1}]}
где
R
→
1
{\displaystyle {\vec {R}}_{1}}
— исходный вектор,
R
→
2
{\displaystyle {\vec {R}}_{2}}
— результирующий вектор,
e
→
{\displaystyle {\vec {e}}}
— единичный вектор оси поворота,
χ
{\displaystyle \chi }
— угол поворота.
Так же формула записывается в виде:
R
→
2
=
(
e
→
⋅
R
→
1
)
(
1
−
cos
χ
)
e
→
+
(
e
→
×
R
→
1
)
sin
χ
+
R
→
1
⋅
cos
χ
{\displaystyle {\vec {R}}_{2}=({\vec {e}}\cdot {\vec {R}}_{1})(1-\cos \chi ){\vec {e}}+({\vec {e}}\times {\vec {R}}_{1})\sin \chi +{\vec {R}}_{1}\cdot \cos \chi }
Лежит в основе векторной теории конечных поворотов и сложения вращений . Получена О. Родригом в 1840 г.[ 1]
Вывод
Без потери общности, направим ось
z
→
{\displaystyle {\vec {z}}}
вдоль единичного вектора
e
→
{\displaystyle {\vec {e}}}
, а вектор
R
→
1
{\displaystyle {\vec {R}}_{1}}
— лежащим в плоскости OXZ, тогда:
R
→
1
x
=
R
→
1
−
R
→
1
z
{\displaystyle {\vec {R}}_{1x}={\vec {R}}_{1}-{\vec {R}}_{1z}}
R
→
1
y
=
0
{\displaystyle {\vec {R}}_{1y}=0}
R
→
1
z
=
(
e
→
⋅
R
→
1
)
e
→
{\displaystyle {\vec {R}}_{1z}=({\vec {e}}\cdot {\vec {R}}_{1}){\vec {e}}}
Откуда:
R
→
1
x
=
R
→
1
−
(
e
→
⋅
R
→
1
)
e
→
{\displaystyle {\vec {R}}_{1x}={\vec {R}}_{1}-({\vec {e}}\cdot {\vec {R}}_{1}){\vec {e}}}
Положим вектор
w
→
{\displaystyle {\vec {w}}}
, равный:
w
→
=
e
→
×
R
→
1
{\displaystyle {\vec {w}}={\vec {e}}\times {\vec {R}}_{1}}
Заметим, что:
|
w
→
|
=
|
e
→
×
R
→
1
|
=
|
e
→
|
|
R
→
1
|
sin
ϕ
=
|
R
→
1
|
sin
ϕ
{\displaystyle |{\vec {w}}|=|{\vec {e}}\times {\vec {R}}_{1}|=|{\vec {e}}|\,|{\vec {R}}_{1}|\sin \phi \ =|{\vec {R}}_{1}|\sin \phi }
|
R
→
1
x
|
=
|
R
→
1
|
cos
(
π
/
2
−
ϕ
)
=
|
R
→
1
|
sin
ϕ
.
{\displaystyle |{\vec {R}}_{1x}|=|{\vec {R}}_{1}|\cos(\pi /2-\phi )=|{\vec {R}}_{1}|\sin \phi .}
Тогда вектор
R
→
2
x
{\displaystyle {\vec {R}}_{2x}}
можно выразить через векторы
w
→
{\displaystyle {\vec {w}}}
и
R
→
1
x
{\displaystyle {\vec {R}}_{1x}}
и угол
χ
{\displaystyle \chi }
:
R
→
2
x
=
R
→
1
x
cos
χ
+
w
→
sin
χ
=
(
R
→
1
−
(
e
→
⋅
R
→
1
)
e
→
)
cos
χ
+
(
e
→
×
R
→
1
)
sin
χ
{\displaystyle {\vec {R}}_{2x}={\vec {R}}_{1x}\cos \chi +{\vec {w}}\sin \chi =({\vec {R}}_{1}-({\vec {e}}\cdot {\vec {R}}_{1}){\vec {e}})\cos \chi +({\vec {e}}\times {\vec {R}}_{1})\sin \chi }
Результирующий вектор
R
→
2
{\displaystyle {\vec {R}}_{2}}
выражается через векторы
R
→
2
x
{\displaystyle {\vec {R}}_{2x}}
и
R
→
1
z
{\displaystyle {\vec {R}}_{1z}}
:
R
→
2
=
R
→
2
x
+
R
→
1
z
=
(
R
→
1
−
(
e
→
⋅
R
→
1
)
e
→
)
cos
χ
+
(
e
→
×
R
→
1
)
sin
χ
+
(
e
→
⋅
R
→
1
)
e
→
{\displaystyle {\vec {R}}_{2}={\vec {R}}_{2x}+{\vec {R}}_{1z}=({\vec {R}}_{1}-({\vec {e}}\cdot {\vec {R}}_{1}){\vec {e}})\cos \chi +({\vec {e}}\times {\vec {R}}_{1})\sin \chi +({\vec {e}}\cdot {\vec {R}}_{1}){\vec {e}}}
Приведя подобные, получим формулу поворота Родрига:
R
→
2
=
(
e
→
⋅
R
→
1
)
(
1
−
cos
χ
)
e
→
+
(
e
→
×
R
→
1
)
sin
χ
+
R
→
1
⋅
cos
χ
{\displaystyle {\vec {R}}_{2}=({\vec {e}}\cdot {\vec {R}}_{1})(1-\cos \chi ){\vec {e}}+({\vec {e}}\times {\vec {R}}_{1})\sin \chi +{\vec {R}}_{1}\cdot \cos \chi }
В матричной форме
Векторное умножение на вектор k можно представить в виде умножения на матрицу K :
k
×
v
=
[
(
k
×
v
)
x
(
k
×
v
)
y
(
k
×
v
)
z
]
=
[
k
y
v
z
−
k
z
v
y
k
z
v
x
−
k
x
v
z
k
x
v
y
−
k
y
v
x
]
=
[
0
−
k
z
k
y
k
z
0
−
k
x
−
k
y
k
x
0
]
[
v
x
v
y
v
z
]
=
K
v
.
{\displaystyle \mathbf {k} \times \mathbf {v} ={\begin{bmatrix}(\mathbf {k} \times \mathbf {v} )_{x}\\(\mathbf {k} \times \mathbf {v} )_{y}\\(\mathbf {k} \times \mathbf {v} )_{z}\end{bmatrix}}={\begin{bmatrix}k_{y}v_{z}-k_{z}v_{y}\\k_{z}v_{x}-k_{x}v_{z}\\k_{x}v_{y}-k_{y}v_{x}\end{bmatrix}}={\begin{bmatrix}0&-k_{z}&k_{y}\\k_{z}&0&-k_{x}\\-k_{y}&k_{x}&0\end{bmatrix}}{\begin{bmatrix}v_{x}\\v_{y}\\v_{z}\end{bmatrix}}=\mathbf {K} \mathbf {v} \,.}
Вектор v при повороте вокруг единичного вектора k перейдет в вектор
v
r
o
t
=
v
+
(
sin
θ
)
K
v
+
(
1
−
cos
θ
)
K
2
v
=
R
v
,
{\displaystyle \mathbf {v} _{\mathrm {rot} }=\mathbf {v} +(\sin \theta )\mathbf {K} \mathbf {v} +(1-\cos \theta )\mathbf {K} ^{2}\mathbf {v} =\mathbf {R} \mathbf {v} \,,}
где
K
(
K
v
)
=
K
2
v
=
k
×
(
k
×
v
)
.
{\displaystyle \mathbf {K} (\mathbf {K} \mathbf {v} )=\mathbf {K} ^{2}\mathbf {v} =\mathbf {k} \times (\mathbf {k} \times \mathbf {v} )\,.}
Таким образом получается, что матрица поворота вокруг единичного вектора k на угол
θ
{\displaystyle \theta }
R
=
I
+
(
sin
θ
)
K
+
(
1
−
cos
θ
)
K
2
.
{\displaystyle \mathbf {R} =\mathbf {I} +(\sin \theta )\mathbf {K} +(1-\cos \theta )\mathbf {K} ^{2}~.}
где
K
=
[
0
−
k
3
k
2
k
3
0
−
k
1
−
k
2
k
1
0
]
.
{\displaystyle \mathbf {K} =\left[{\begin{array}{ccc}0&-k_{3}&k_{2}\\k_{3}&0&-k_{1}\\-k_{2}&k_{1}&0\end{array}}\right]~.}
Примечания
Литература