- •Повороты в 3d Повороты в 3d. Тензоры, кватернионы и прочие "штучки"
- •Из истории…
- •Векторы в трехмерном пространстве
- •Основные операции над векторами
- •1. Правило сложения векторов
- •2. Умножение вектора на скаляр
- •3. Скалярное произведение векторов
- •4. Векторное произведение векторов
- •Тензоры второго ранга
- •Основные операции над тензорами
- •1. Внутреннее умножение тензоров второго ранга
- •2. Двойное внутреннее умножение тензоров второго ранга
- •3. Транспонирование тензора
- •4. Скалярное произведение тензоров
- •5. Скалярное умножение тензора на вектор справа (слева)
- •6. Векторное умножение тензора на вектор справа (слева)
- •7. След тензора второго ранга
- •8. Векторный инвариант тензора второго ранга
- •Симметричные и антисимметричные тензоры
- •Ортогональные тензоры. Тензор поворота
- •Теорема Эйлера
- •Композиция поворотов. Правило квазикоммутативности
- •Вектор поворота
- •Теорема о представлении тензора поворота
- •Тензор поворота и кватернион
- •Вместо заключения
Тензор поворота и кватернион
Вот мы и добрались до самого интересного места этой статьи. А именно, до связи тензора поворота с еще одним замечательным объектом – кватернионом поворота. Для начала перепишем формулу (54) для повернутого вектора a′ используя функции половинного аргумента и вернувшись обратно к записи через вектор m
a′ = a + sinθm × a + (1 – cosθ)m × (m × a) = = a + 2sin(θ/2)cos(θ/2)m × a + 2sin2(θ/2) m × (m × a). |
(59) |
Введем обозначения
λ0 = cos(θ/2), λ = sin(θ/2)m. |
(60) |
Полезное свойство данных обозначений
(λ0)2 + |λ|2 = (λ0)2 + λ · λ = 1. |
(61) |
Выражение (59) можно переписать в виде
a′ = a + 2λ0λ × a + 2λ × (λ × a) = = (λ0)2a + λ(λ · a) + 2λ0λ × a + λ × (λ × a). |
(62) |
Найдем далее выражение вектора поворота композиции двух поворотов
Q(θ) = Q(φ)·Q(ψ). |
(63) |
Для этого воспользуемся формулой (52), записанной также через функции половинного аргумента и введенные обозначения (60)
P = 2sin2(θ/2)mm + 2[cos2(θ/2) – 1/2]1 + 2sin(θ/2)cos(θ/2)m × 1 = = 2{λλ + [(λ0)2 – 1/2]1 + λ0λ × 1} |
(64) |
Сопоставим векторам φ и ψ пары
μ0 = cos(|φ|/2), μ = sin(|φ|/2)φ /|φ |, |
(65) |
ν0 = cos(|ψ|/2), ν = sin(|ψ|/2)ψ /|ψ|. |
(66) |
Подставив данные выражения в (63), получим
Q(θ) = Q(φ)·Q(ψ) = = 4{μμ + [(μ0)2 – 1/2]1 + μ0μ × 1}·{νν + [(ν0)2 – 1/2]1 + ν0ν × 1}= = 4{μν(μ · ν) + μμ[(ν0)2 – 1/2] + ν0μμ × ν + + νν[(μ0)2 – 1/2] + [(μ0)2 – 1/2] [(ν0)2 – 1/2]1 + [(μ0)2 – 1/2] ν0ν × 1 + + μ0μ × νν + [(ν0)2 – 1/2]μ0μ × 1 + μ0ν0μ × 1 × ν} = = 2{λλ + [(λ0)2 – 1/2]1 + λ0λ × 1} |
(67) |
Напомним, что для любых векторов b и c справедливы равенства
b × 1 = 1 × b = – (b × 1)T, tr(b × 1) = 0, tr(b × cc) = (b × c) · c = 0, |
|
tr(cc) = c · c, b × 1 × c = cb – (c · b)1, tr(b × 1 × c) = – 2(c · b), |
|
(b × 1)× = –2b, (b × cc)× = (b × c) × c = c(b · c) – b(c · c), (cc)× = 0, (b × 1 × c)× = c × b. |
|
Взяв след и векторный инвариант от обеих частей равенства (67) и проведя нехитрые алгебраические преобразования, получим достаточно простые выражения, позволяющие вычислить вектор поворота композиции двух поворотов
λ0 = μ0ν0 – μ · ν, |
(68) |
λ = μ0ν + ν0μ + μ · ν. |
(69) |
Далее можно ввести множество объектов, представляющих собой пару Λ = (λ0, λ), на котором задан закон композиции элементов (операция умножения), в соответствии с формулами (68, 69).
Можно убедиться, что данный закон умножения является ассоциативным (Λ·Μ)·Ν = Λ·(Μ·Ν), дистрибутивным (Λ + Μ)·(Ν + Ρ) = Λ·Ν + Λ·Ρ + Μ·Ν + Μ·Ρ и удовлетворяет условию (αΛ)·(βΜ) = αβΛ·Μ, где α, β– произвольные вещественные числа. Операция суммы вводится следующим образом Λ + Μ = (λ0, λ) + (μ0, μ) = (λ0 + μ0, λ + μ). В математике данное множество называется алгеброй кватернионов, а сами объекты кватернионами. Выше нами были рассмотрены кватернионы единичной длины (λ0)2 + λ · λ = 1, которые наравне с тензором поворота могут использоваться для задания ориентации тела в трехмерном пространстве. В общем случае кватернионы могут иметь произвольную длину. Более подробно о кватернионах и о том, как их использовать для описания поворотов, будет написано Zed’ом в следующем номере журнала.