Формула поворота Родрига

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

Формула поворота Родригаформула, связывающая два вектора с общим началом, один из которых получен поворотом другого на известный угол вокруг оси, проходящей через их общее начало:

R2tan(χ/2)[e×R2]=R1+tan(χ/2)[e×R1]

где R1 — исходный вектор, R2 — результирующий вектор, eединичный вектор оси поворота, χ — угол поворота. Также формула может быть записана в виде:

R2=(eR1)(1cosχ)e+(e×R1)sinχ+R1cosχ

Лежит в основе векторной теории конечных поворотов и сложения вращений.Шаблон:Нет АИ Получена О. Родригом в 1840 г.Шаблон:Sfn

Вывод

Без потери общности, направим ось z вдоль единичного вектора e, а вектор R1 — лежащим в плоскости OXZ, тогда:

R1x=R1R1z
R1y=0
R1z=(eR1)e

Откуда:

R1x=R1(eR1)e

Положим вектор w, равный:

w=e×R1

Заметим, что:

|w|=|e×R1|=|e||R1|sinϕ =|R1|sinϕ
|R1x|=|R1|cos(π/2ϕ)=|R1|sinϕ.

Тогда вектор R2x можно выразить через векторы w и R1x и угол χ:

R2x=R1xcosχ+wsinχ=(R1(eR1)e)cosχ+(e×R1)sinχ

Результирующий вектор R2 выражается через векторы R2x и R1z:

R2=R2x+R1z=(R1(eR1)e)cosχ+(e×R1)sinχ+(eR1)e

Приведя подобные, получим формулу поворота Родрига:

R2=(eR1)(1cosχ)e+(e×R1)sinχ+R1cosχ

В матричной форме

Векторное умножение на вектор Шаблон:Math можно представить в виде умножения на матрицу Шаблон:Math:

𝐤×𝐯=[(𝐤×𝐯)x(𝐤×𝐯)y(𝐤×𝐯)z]=[kyvzkzvykzvxkxvzkxvykyvx]=[0kzkykz0kxkykx0][vxvyvz]=𝐊𝐯.

Вектор Шаблон:Math при повороте вокруг единичного вектора Шаблон:Math перейдет в вектор

𝐯rot=𝐯+(sinθ)𝐊𝐯+(1cosθ)𝐊2𝐯=𝐑𝐯,

где 𝐊(𝐊𝐯)=𝐊2𝐯=𝐤×(𝐤×𝐯).

Таким образом получается, что матрица поворота вокруг единичного вектора Шаблон:Math на угол θ

𝐑=𝐈+(sinθ)𝐊+(1cosθ)𝐊2.

где

𝐊=[0kzkykz0kxkykx0].

Примечания

Шаблон:Примечания

Литература