Повороты в 3D Тензоры, кватернионы и прочие «штучки»
«Тензорное исчисление является истинным языком, в основе которого лежат интуитивные (визуальные) образы, хорошо знакомые даже тем, кто никогда не слышал слов вектор или тензор.»
Эта статья открывает серию статей посвященных способам описания вращательного движения в трехмерном эвклидовом пространстве. Статья ориентирована на широкий круг читателей, желающих узнать простые, интуитивно понятные и в то же время одни из самых мощных математических средств задания пространственной ориентации абсолютно твердого тела. Для чтения статьи достаточно знаний по математике в объеме школьной программы (хотя в некоторых случаях понадобятся минимальные знания из линейной алгебры). Желательно, чтобы читатель имел устойчивое представление о том, что такое векторы и какие операции с ними можно производить. В статье не приводятся полные доказательства теорем, т.к. они достаточно громоздки, хотя и не трудны. Даются лишь необходимые для понимания пояснения. Также приводятся без доказательства ряд важных тождеств, доказательство которых вполне посильно проницательному читателю, что мы и рекомендуем проделать. Статья будет полезна в первую очередь людям, занимающимся программированием 3D графики.
В статье рассказывается о таких средствах как тензор поворота, вектор конечного поворота, кватернионы, а также показывается неразрывная связь между этими тремя объектами. В различных ситуациях удобнее пользоваться либо тем, либо другим средством. Но ни в коем случае нельзя впадать в крайность, предпочтя одно средство всем остальным. Мы в данной статье намеренно уклонились от описания координатного представления векторов и тензоров, дабы стимулировать читателя к чисто интуитивному восприятию данных объектов. Координатная форма будет дана в следующей статье, посвященной многим знакомым матрицам поворота. Причина этому следующая. Матрицы поворота являются лишь маскировкой, которая ничего, кроме неясности в трактовки не вносит. Попробуйте, например, попросить человека написать без шпаргалки матрицу поворота вокруг произвольной оси на произвольный угол. Тем, кому это под силу, нет нужды читать эту статью. Те же, кто прочитает эту и следующую нашу статью, научатся это делать в течение нескольких минут.
Пусть читатель не удивляется и простит автора за то, что статья написана от третьего лица, так как будто бы автор весь излагаемый материал сам придумал. Отнюдь нет. В хороших книгах, правда их немного, можно найти гораздо более качественное изложение. Просто автор считает, что статья, написанная в безличной форме, может отпугнуть впервые изучающего данный предмет, т.к. бесконечные фразы типа «в математике рассматривается…» и т.п. оставляют у читателя чувство неуверенности в полученных знаниях и необходимости обращения к дополнительной литературе, в которой подчас нет никакой надобности.
Развитие всей рациональной науки на протяжении столетий необходимо сопровождалось развитием, не всегда осознанным, тензорного языка, процесс становления которого был очень длительным и трудным. Например, понятие вектора было введено Саймоном Стевином (S. Stevin) в 1580 году, но первые учебники по механике, использующие векторный язык, появились только в начале XX века.
Тензоры второго ранга (тензор поворота, тензор инерции твердого тела) впервые были введены Леонардом Эйлером (Leonhard Euler) в 1758 году. Термин «тензор», однако, был введен лишь в 1900 году по предложению В. Фойгта (W. Voigt). Тем не менее, Л. Эйлер работал с этими объектами как с тензорами. Важно подчеркнуть, что Л. Эйлер на формальном уровне не владел многими стандартными ныне методами. Однако, по числу новых фундаментальных результатов ему нет равных в истории человечества, за исключением разве что Архимеда. В огромной степени это объясняется тем, что Л. Эйлер обладал совершенно феноменальной интуицией, т.е. способностью непосредственного визуального восприятия образов вводимых им объектов.
В физике используется огромное множество различных понятий. Это неизбежно приводит к необходимости их классификации. Наиболее общей является классификация по так называемому тензорному признаку, так как все понятия, описывающие количественные характеристики физических объектов, являются тензорами, но тензорами различных рангов. Тензоры нулевого ранга называются скалярами. Тензоры первого ранга называются векторами. Эти два типа тензоров хорошо известны из школьных курсов математики и физики. Тем не менее, кратко напомним их определения и основные операции над ними.
Определение:физические величины, которые полностью характеризуются заданием одного вещественного числа, не зависящего от выбора системы координат, называются скалярами.
Примерами скаляров являются масса, объем, температура. Координаты вектора, однако, нельзя назвать скалярами, т.к. координаты вектора меняются при замене системы координат (смене базиса).
Следующей после скаляров ступенькой в классификации физических величин являются векторы или тензоры первого ранга. Векторы являются не столько математическими изобретениями, сколько элементами нашего интуитивного мышления.
В Природе существуют, по крайней мере, два принципиально несводимых друг к другу вида движения тел. Первый тип движения характеризует перенос (трансляцию) тела в пространстве. Второй тип характеризует изменение ориентации тела в пространстве. Оба типа движения интуитивно понятны человеку с рождения. Одной из причин такой понятности, возможно, является то, что человек начиная с эмбрионального состояния, вынужден совершать оба типа движений.
Соответственно двум типам движения существуют две формальные логические конструкции отображения объективной реальности. Это направленный отрезок (прямой вектор) и спин-вектор.
Два примера. Первый. Любой нормальный человек, например, гуляя по парку и увидев стрелку-указатель с надписью «Кафе 100 м» поймет, что нужно делать. Второй. Предложите группе людей, не математиков и не физиков, например, филологов, схематически изобразить на листке бумаги движение обычного вращающегося волчка. В «сухом остатке» у большинства картина будет примерно такой, как на рис. 1.
Рис. 1. Спин-вектор
Подведем итог. Чтобы задать направленный отрезок (прямой вектор), необходимо указать в физическом трехмерном пространстве (системе отсчета) направление и вещественное число (скаляр), называемое длиной (модулем) вектора. Чтобы задать спин-вектор, необходимо в физическом трехмерном пространстве задать прямую, называемую осью спин-вектора, затем указать направление вращения и поставить в соответствие данной конструкции вещественное число, называемое длиной (модулем) спин вектора. Данное число может характеризовать не только угол поворота, но и скорость поворота, и т.д.
Однако работать с двумя объектами различной природы неудобно. Тем более, что спин-векторам можно взаимно однозначно сопоставить прямые векторы, введя дополнительное соглашение, называемое ориентацией системы отсчета.
Пусть дан спин-вектор a*. Сопоставим ему прямой вектор a по следующим правилам:
в) вектор a направлен так, чтобы при взгляде с его конца круговая стрелка показывала вращение против хода часовой стрелки;
г) вектор a направлен так, чтобы при взгляде с его конца круговая стрелка показывала вращение по ходу часовой стрелки.
Выбор одной из двух возможностей называется ориентацией системы отсчета. Важно осознать, что Природа ничего не знает о нашем произволе. Поэтому в используемых нами математических конструкциях для описания объективной реальности должны существовать средства компенсации данного произвола. Как мы увидим, основной объект обсуждения данной статьи – тензор поворота – не зависит от ориентации системы отсчета.
Определение:система отсчета называется называется правоориентированной, если трансляции и вращения в ней согласованы в соответствии с правилами а), б) и в). Система отсчета называется левоориентированной, если трансляции и вращения в ней согласованы в соответствии с правилами а), б) и г).
Таким образом, в ориентированной системе отсчета мы можем работать только с одним множеством объектов: множеством направленных отрезков. Однако в этом множестве все равно сохраняется различие между истинно прямыми и псевдопрямыми векторами, прообразами которых служат спин-векторы.
Для первого знакомства достаточно сказанных весьма общих слов про прямые и псевдопрямые векторы. Чтобы не уходить в сторону от главной задачи, оставим пока эту тему. Глубинное понимание различия понадобится лишь при введении понятия угловой скорости, что, возможно, будет сделано в одной из наших следующих статей.
Выше было введено в рассмотрение множество направленных отрезков. Для математики и физики интерес представляют только такие множества, на которых удается ввести дополнительные структуры, а именно, законы композиции элементов множества, или по-другому операции над элементами множества. Для векторов вводятся четыре основных операции. Мы надеемся, что читатель имеет твердое представление об этих операциях. При этом для целей нашей статьи важна именно геометрическая трактовка оных. Напомним лишь кратко основные операции над векторами
1. Правило сложения векторов
Примем, что вектору c можно однозначно сопоставить пару векторов a и b по правилам параллелограмма или треугольника. Вектор c называется суммой векторов a и b
c = a + b
(1)
Можно доказать, что операция сложения векторов коммутативна
a + b = b + a,
(a + b) + c = a + (b + c).
2. Умножение вектора на скаляр
Примем, что любому скаляру α и любому вектору b можно однозначно сопоставить вектор a, который обозначается a = αb, такой, что справедливы утверждения
б) если α > 0, то направление a совпадает направлениемb, если α T = (ab) T = ba.
(11)
4. Скалярное произведение тензоров
Двум тензорам второго ранга A = ab и B = cd поставим в соответствие число α по правилу
α(A, B) = A··BT = (ab)··(cd) T = (b · d)(a · c).
(12)
Важное свойство скалярного произведения, отличающее его от двойного внутреннего
A··AT = 0 => A = 0.
(13)
5. Скалярное умножение тензора на вектор справа (слева)
Поставив тензору A = ab и вектору c вектор по правилу
A · c = a(b · c) = ab · c,
(14)
мы получим произведение тензора на вектор справа. Если же используется правило
c · A = (c · a)b = c · ab,
(15)
то говорят, что задано произведение на вектор слева.
A· c≠ c· A,
A · c = c · AT .
Определение:тензор второго ранга 1 называется единичным, если для любого вектора x справедливо равенство
x · 1 = 1 · x = x,
(16)
Для любого тензора A справедливо тождество
A· 1= 1· A= A.
6. Векторное умножение тензора на вектор справа (слева)
Аналогично скалярному вводятся векторные произведения справа и слева
A × c=a(b × c) = ab × c,
(17)
c × A= (c × a)b = c × ab,
результатом является тензор второго ранга.
A× c= – [c× AT ] T ,
a× 1× b= ba– (b· a)1.
7. След тензора второго ранга
Пусть тензор A есть совокупность диад
A = ab + … + cd
(19)
Следом тензора («tr» от trace, «Sp» от Spur – иногда можно встретить в немецкоязычной литературе) называется число, вычисляемое по правилу
tr A = Sp A = a · b + … + c · d.
(20)
8. Векторный инвариант тензора второго ранга
Пусть тензор A есть совокупность диад
A = ab + … + cd.
(21)
Векторным инвариантом тензора называется вектор, вычисляемый по правилу
A× = a × b + … + c × d.
(22)
Видео:18+ Математика без Ху!ни. Скалярное произведение векторов. Угол между векторами.Скачать
Симметричные и антисимметричные тензоры
Определение: тензор второго ранга называется симметричным, если он удовлетворяет равенству
A = AT .
(23)
Примеры симметричных тензоров второго ранга:
aa , ab + ba, 1.
Определение: тензор второго ранга называется антисимметричным, если он удовлетворяет равенству
A = – AT .
(24)
Примером антисимметричного тензора является тензор ab– ba.
Теорема. Любой антисимметричный тензор представим в виде
A = a × 1 = 1 × a, A = – AT ,
(25)
где вектор a называется сопутствующим вектором тензора A.
Важным классом тензоров второго ранга являются так называемые ортогональные тензоры.
Определение:тензор второго рангаQназывается ортогональным, если выполняется равенство
Q·QT = 1.
(26)
Легко показать, что линейное преобразование y = Q · x не меняет длин векторов, то есть | y| = | x|. Этот факт также может быть положен в основу определения ортогонального тензора. Из (26) следует, что тензор Q невырожден, т.к.
Q –1 = QT ,
(27)
а транспонированный тензор существует всегда. Вычислим определитель Q
det 1 = det(Q·QT ) = (det(Q)) 2 = 1 => detQ = ±1.
(28)
Таким образом, все множество ортогональных тензоров разбивается на два подмножества. Элементы множества тензоров, у которых detQ= +1, называются собственно ортогональными тензорами или тензорами поворота. Произвольный ортогональный тензор либо является тензором поворота, либо произведением тензора поворота на тензор инверсии (–1).
Как уже было сказано, тензор поворота не меняет длин векторов. А что происходит с углами? Пусть
a ′ = Q · a, b ′ = Q · b.
(29)
a ′ · b′ = a · QT ·Q · b = a · b.
(30)
Т.е. при действии тензора поворота на два вектора углы между ними сохраняются. Почему же у истинного тензора поворота detQ= +1? Ответ таков, в этом случае происходит только поворот, в случае же detQ= –1 происходит поворот с отражением.
Одним из наиболее простых общих представлений тензора поворота является следующее. Возьмем произвольную ортонормированную тройку векторов d1, d2, d3. При действии тензора Q они переходят также в ортонормированную тройку D1, D2, D3:
Di = Q · di => Didi = (Q · di)di = Q·(didi) = Q·1 = Q.
(31)
В формуле (31) использовано так называемое правило суммирования по Эйнштейну. Подразумевается суммирование от 1 до 3 по повторяющемуся индексу. Например,
didi = d1d1 + d2d2 + d3d3.
В (31) использовано общее представление единичного тензора didi = 1. Чтобы объяснить, почему этот так нужно перейти от прямого тензорного представления к координатному. В этой статье мы этого не делаем, и надеемся, что читатель поверит нам на слово. Таким образом, достаточно общим представлением тензора поворота является
Q = Didi = D1d1 + D2d2 + D3d3.
(32)
Это представление понадобится нам при доказательстве теоремы Эйлера. А сейчас мы хотим обратить внимание на одно полезное тождество, справедливое для любого вектора a и тензора поворота Q
Приведем пояснения к доказательству базовой теоремы в теории поворотов. Все остальные результаты теории получаются как следствия данной теоремы и при желании могут быть доказаны проницательным читателем самостоятельно.
Теорема Эйлера: произвольный тензор поворотаP, отличный от 1, допускает единственное представление
P = mm + cosθ(1 – mm) + sinθm × 1,
(34)
где единичный векторmопределяет прямую в пространстве, называемую осью поворота; θ называется углом поворота и считается положительным, если поворот при взгляде с конца вектораmпроисходит против хода часовой стрелки.
Пояснения к доказательству: Покажем, что для тензора поворота P, существует единственный с точностью до множителя (±1) единичный вектор m (он называется неподвижным вектором тензора P), удовлетворяющий уравнению
P · m = m, | m | = 1.
(35)
Данное уравнение можно переписать в эквивалентной форме
(P – 1) · m = 0, | m | = 1,
(36)
т.е. вектор m является решением однородного линейного уравнения. Из курса линейной алгебры известно, что однородная система линейных алгебраических уравнений имеет ненулевое решение тогда и только тогда, когда ее определитель равен нулю
det(P – 1) = 0.
(37)
Покажем, что это так. Для этого выпишем цепочку тождественных преобразований (использовано det(P) = 1)
Получили, что det(P– 1) = –det(P– 1), а это возможно, если верно равенство (37). Итак, ненулевое решение уравнения (36) существует. Понятно, что если m есть решение (36), то и (–m) есть решение этого уравнения. Однако оба эти вектора определяют одну и ту же прямую, натянутую на вектор m.
Далее методом «от противного» можно показать, что для тензора поворота P, отличного от 1, существует только один неподвижный вектор ± m.
Выберем теперь правую ортонормированную тройку векторов d1 = m, d2, d3. Согласно (32) мы можем записать
P = D1d1 + D2d2 + D3d3 = D1m + D2d2 + D3d3,
(39)
где тройка D1, D2, D3 также является правой ортонормированной. Умножив равенство (39) скалярно на m справа и учтя (35), получим
P · m = D1 = m.
(40)
Таким образом, равенство (39) принимает вид
P = mm + D2d2 + D3d3.
(41)
D2 = cosθd2 + sinθd3, D3 = – sinθd2 + cosθd3.
(42)
Подставляя эти разложения в (41) и проводя элементарные преобразования, получаем
P = mm + (cosθd2 + sinθd3)d2 + (–sinθd2 + cosθd3)d3 = = mm + cosθ(d2d2 + d3d3) + sinθ(d3d2 – d2d3) =
Последним равенством и заканчивается доказательство теоремы Эйлера. Обратим внимание, что замена m на – m влечет за собой замену θ на – θ. При этом сам тензор P не меняется.
Пусть вектор a параллелен оси поворота (лежит на оси поворота), т.е. a= αm, то P· a=a и вектор a не меняется при действии на него тензора P. Пусть a ортогонален оси поворота: a· m= 0. Тогда
a′ = P · a = cosθa + sinθm × a.
(44)
Этот результат изображен на рис. 3а.
Видно, что действие тензора поворота на вектор a, ортогональный оси поворота, сводится к повороту на угол θ вокруг m. Если θ > 0, то поворот производится против часовой стрелки при взгляде с конца m. Поворот произвольного вектора a показан на рис. 3б, при этом проекция вектора a на m сохраняется, а часть вектора a, ортогональная a, поворачивается на угол θ вокруг m.
Композиция поворотов. Правило квазикоммутативности
a ′′ ≡ P2 · a′ = P2·P1 · a = P · a , P=P2·P1.
(45)
Из (45) видно, что при последовательном проведении двух поворотов результирующий поворот выражается через произведение составляющих поворотов. Известно, что в общем случае произведение тензоров не коммутативно
P2·P1 ≠ P1·P2.
(46)
Это означает, что если произвести повороты в другом порядке, сначала P2 потом P1, то результат будет другой.
Однако не следует абсолютизировать условие (46), так как существует определенное правило квазикоммутативности (т.е. как бы перестановочности) поворотов, играющее очень важную практическую роль. В то же время это правило интуитивно понятно и расширяет поле для фантазии при описании вращения.
Q(φm)·Q(θn) = Q(φm)·Q(θn)·1 =
= Q(φm)·Q(θn)·QT (φm)·Q(φm).
(47)
Q(φm)·Q(θn)·QT (φm) =
= n′n′ + cosθ(1 – n′n′) + sinθn′ × 1,
(48)
Q(φm)·Q(θn) = Q(θn′)·Q(φm).
(49)
То есть результирующий поворот можно осуществить двумя способами. Либо сначала повернуть на угол θ вокруг n, а затем на угол φ вокруг m. Либо сначала на угол φ вокруг m, а затем на угол θ, но уже вокруг другой повернутой оси n′.
Q(φm)·Q(θn)·QT (φm) = Q(θn′), n′ = Q(φm) · n
(50)
полезно запомнить для проведения чисто формальных преобразований без привлечения интуиции.
Всем известен пример из детства с юлой. В механике этот объект называется волчком Лагранжа (см. рис. 4) и представляет собой осесимметричное тело вращения с одной точкой опоры. Юла одновременно вращается вокруг собственной оси n′, которая в свою очередь вращается вокруг неподвижной вертикали m, проходящей через точку опоры.
На первый взгляд кажется, что наиболее удобной формой задания тензора поворота юлы является P= Q(θn′)·Q(φm). Но ведь вектор n′ непостоянный, а это в ряде случаев может существенно усложнить моделирование. Но так как n′ = Q(φm) · n, то, пользуясь правилом квазикоммутативности, мы можем написать P= Q(φm)·Q(θn), где вектор n является константой и определяет направление оси юлы в начальный момент. Второй вариант уже существенно менее затратен для моделирования. Тем не менее, при постановке задач первый способ оказывается более выигрышным.
Видео:А.7.19 Поворот в трехмерном пространствеСкачать
Вектор поворота
Тензор поворота, записанный в форме P= mm+ cosθ(1 – mm) + sinθm× 1, не имеет каких-либо ограничений и может применяться всегда. Тем не менее, интуитивным образом поворота является не тензор второго ранга, а некий вектор θ, называемый вектором поворота
θ = θm, | m | = 1.
(51)
Его направление совпадает с осью поворота m, а его модуль равен модулю угла поворота θ. В правоориентированной системе отсчета θ > 0 при взгляде с конца m, если поворот происходит против часовой стрелки. Поскольку поворот выражает реальное явление, то наличие нескольких способов его описания возможно только при условии, что способы связаны взаимно однозначным образом. Проще всего показать, что тензор поворота однозначно может быть вычислен по вектору поворота, что следует непосредственно из представления тензора поворота доставляемого теоремой Эйлера
P = [(1– cosθ )/θ 2 ]θθ + cosθ1 + [sinθ/θ]θ × 1.
(52)
Видно, что последнее выражение нечувствительно к знаку θ. Поэтому величину θ в (52) можно рассматривать как модуль вектора θ, что позволяет без дополнительных соглашений однозначно вычислять тензор поворота по вектору поворота. В теории поворотов доказывается теорема, что представление (52) является ничем иным как тензорной экспонентой тензора θ × 1
P = exp(θ × 1).
(53)
Вам это ничем не напоминает комплексную экспоненту exp(θi), которая является оператором поворота векторов на комплексной плоскости вокруг оси перпендикулярной к ней? Общность явлений порождает общность описаний, правда со своими особенностями.
Не будем приводить здесь формулы для вычисления вектора поворота по тензору поворота, скажем лишь, что это можно также однозначно сделать. В заключение этого пункта приведем формулу для повернутого вектора a′
a′ ≡ P(θ) · a = a + [sinθ/θ]θ × a + [(1– cosθ )/θ 2 ]θ × (θ × a),
Согласно теореме Эйлера (34), любой поворот может быть осуществлен как один поворот вокруг некоторой оси на некоторый угол. Это удобно, когда ось фиксирована. Однако в большинстве задач это не так. Для эффективного решения любой задачи теории поворотов жизненно необходима следующая теорема.
Теорема.Любой поворотP(θ) может быть осуществлен в виде композиции поворотов вокруг произвольно выбираемых и фиксированных во времени осейmиn, а также осиe, выбираемой по правилуe = m × n / |m × n|,
P(θ) = Q(ψm)·Q( J e)Q(φn).
(55)
Изложенного выше материала вполне достаточно для того, чтобы проницательный читатель смог самостоятельно доказать данную теорему.
Если m = n, то углы ψ, J , φ называются углами Эйлера (углы прецессии, нутации и собственного вращения). Вектор e в этом случае произвольный, удовлетворяющий условию e · n= 0. Тензор поворота имеет вид
P(θ) = Q(ψm)·Q( J e)·Q(φm).
(56)
Однако некоторые читатели могут возразить: «Позвольте, но в учебниках по механике написано, что при использовании углов Эйлера оси как-то поворачиваются, а здесь они неподвижны…». А мы в ответ, в учебниках все правильно написано, только во всех трактовка однобокая. Вспомним правило квазикоммутативности поворотов. По нему мы можем записать
P(θ) = Q(φm′′)·Q( J e′)·Q(ψm),
(57)
Видим, что в классическом представлении повороты производятся в обратном порядке и вокруг вращающихся векторов e′ и m′′. Последнее обстоятельство наиболее часто вызывает трудности в понимании и последующем восприятии углов Эйлера у многих студентов.
На практике помимо углов Эйлера используется масса других систем углов. Наиболее известны «самолетные» и «корабельные» углы. О них мы расскажем в следующих статьях. А сейчас рассмотрим небольшой пример.
Многие, наверное, смотрели фильм «Косильщик лужаек». Там есть одна сцена, где главного героя раскручивают в непонятной машине, представляющей собой три скрепленных кольца, во внутреннее кольцо был помещен наш герой. В механике подобный механизм называется трехстепенным гироскопом и схематично изображен на рис. 5. Три кольца – внутреннее зеленое, среднее красное, наружное синее – соединены так, что внутреннее кольцо может свободно вращаться относительно среднего вокруг оси m′′, среднее кольцо вращается относительно внешнего вокруг оси e′, внешнее же кольцо вращается вокруг неподвижной оси n.
Ответим на вопрос, как можно задать ориентацию объекта, жестко закрепленного во внутреннем кольце. Раз жестко, то достаточно написать тензор поворота для внутреннего кольца. Всего существует шесть возможных эквивалентных вариантов задания результирующего поворота. Мы же выберем наиболее очевидный вариант
P = Q(φm′′)·Q( J e′)·Q(ψn),
e′ = Q(ψn) · e, m′′ = Q( J e′)·Q(ψn) · m = Q(ψn)·Q( J e) · m,
(58)
где e, m – орты направления осей вращения в отсчетном положении (в начальный момент времени).
Обратите внимание, что мы не стали долго думать, как же подстроить эйлерову систему углов для нашей задачи, а, просто глядя на задачу, сходу написали ответ. Именно последнее обстоятельство является тем огромным преимуществом прямого тензорного языка при описании поворотов, которое заставляет приложить минимум усилий для его изучения с целью максимальной практической отдачи. Рекомендуем читателю получить остальные 5 вариантов представления тензора P.
Вот мы и добрались до самого интересного места этой статьи. А именно, до связи тензора поворота с еще одним замечательным объектом – кватернионом поворота. Для начала перепишем формулу (54) для повернутого вектора a′ используя функции половинного аргумента и вернувшись обратно к записи через вектор m
a′ = a + sinθm × a + (1 – cosθ)m × (m × a) =
= a + 2sin(θ/2)cos(θ/2)m × a + 2sin 2 (θ/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) 2 a + λ(λ · a) + 2λ0λ × a + λ × (λ × a).
(62)
Найдем далее выражение вектора поворота композиции двух поворотов
Q(θ) = Q(φ)·Q(ψ).
(63)
Для этого воспользуемся формулой (52), записанной также через функции половинного аргумента и введенные обозначения (60)
Напомним, что для любых векторов 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’ом в следующем номере журнала.
Видео:Кинематика вращательного движения. Часть 2. Матрица поворота.Скачать
Вместо заключения
Выше был рассмотрен достаточно простой с формальной точки зрения и в то же время интуитивно понятный математический объект как тензор конечного поворота. Мы надеемся, что наша статья приоткрыла для читателя завесу таинственности и непонятности в вопросе описания произвольных поворотов в трехмерном пространстве. Как было сказано во введении, мы намеренно уклонились от вычислительных аспектов данной проблемы, желая разбудить у читателя интуицию. В следующей статье мы расскажем о координатной форме представления тензора поворота – матрице поворота. Что позволит читателю реализовать в программном коде примеры из данной статьи и множество собственных еще не родившихся идей. При этом он будет делать это, мы надеемся, с глубоким пониманием происходящего.
Тем не менее, читатель уже сейчас имеет такое мощное вычислительное средство как кватернион поворота. Этот объект интуитивно также прост для восприятия, как и тензор поворота. На сегодняшний день он является реальным конкурентом классическим матрицам поворота. Поэтому для всестороннего понимания поворотов читатель должен в итоге уметь свободно обращаться с двумя объектами: тензором поворота и кватернионом поворота.
ВЕКТОРЫ И ТЕНЗОРЫ. ИХ ПРЕОБРАЗОВАНИЯ ПРИ ПОВОРОТАХ СИСТЕМЫ КООРДИНАТ
Пусть и две декартовы системы координат, повернутые друг относительно друга, с базисными векторами (ортами) , , образующими правые ортонормированные тройки. Поскольку системы координат и декартовы, то и .
Здесь — символ Кронекера.
Произвольный вектор можно разложить подобно радиус-вектору по ортам обеих систем координат:
(Данные выражения записаны с использованием правила Эйнштейна, которое подразумевает суммирование по парам повторяющихся индексов, в то время как знак суммы опускается. Это правило будет использовано в дальнейшем).
Величины и называются компонентами вектора и являются ортогональными проекциями данного вектора на орты и :
Установим связь между проекциями вектора на различные базисные орты:
где — матричные элементы матрицы поворота . Если объединить компоненты в одностолбцовую матрицу , а компоненты в одностолбцовую матрицу , то закон преобразования компонент вектора можно записать в матричных обозначениях:
Задание. Убедиться в справедливости последнего равенства, раскрыв в явном виде произведение матриц.
Докажем, что матрица ортогональна, т.е. :
При выводе мы воспользовались свойствами скалярного произведения и тем, что , поскольку левая часть равенства представляет собой разложение базисного орта по базисным ортам .
Задание. Докажите, что
С учетом закона преобразования компонент вектора при повороте системы координат можно дать следующее определение вектора:
Вектором называется трехкомпонентная величина, компоненты которой преобразуются при повороте системы координат так же, как компоненты радиус-вектора по правилу (2.1) с помощью матрицы поворота .
Такое определение вектора допускает обобщение на случай величин с числом компонент, большим трех. Так возможны девятикомпонентные величины, компоненты которых нумеруются двумя векторными индексами , каждый из которых пробегает независимо значения 1,2,3. Возможны 27-и компонентные величины, компоненты которых нумеруются тремя векторными индексами. Наконец, возможны — компонентные величины, компоненты которых нумеруются N векторными индексами (векторные индексы независимо пробегают множество значений 1,2,3). Если компоненты этих многокомпонентных величин преобразуются по законам:
то эти многокомпонентные величины называются тензорами соответственно второго, третьего и N-ранга. Ранг тензора определяется числом векторных индексов, нумерующих его компоненты. Максимальное число независимых компонент тензора ранга N равно в случае трехмерного пространства.
Вопрос. Чему равно число независимых компонент тензора ранга N в случае двумерного пространства?
Компоненты тензора второго ранга естественно объединяются в квадратную матрицу со следующим законом преобразования матричных элементов:
где и квадратные матрицы с матричными элементами и .
Очевидно, что вектор является тензором первого ранга, а скаляр — нулевого. Ранг тензора также называют тензорной размерностью, или валентностью.
2.1 Найти матрицу преобразования системы декартовых координат на плоскости при повороте на угол .
Решение задачи 2.1 Матричные элементы искомой матрицы вычисляются как скалярные произведения , здесь индексы i,j принимают только два значения: 1 или 2. Так как все орты по определению имеют единичные модули, каждое скалярное произведение равно косинусу угла между соответствующими ортами. Нарисуйте на листе бумаги пояснительный чертеж и убедитесь, что углы между парами базисных орт и одинаковы и равны углу поворота . Поэтому . Угол между ортами равен , и соответственно . Угол между ортами равен , поэтому .
2.1.1. Убедиться, что определитель матрицы равен 1.
2.1.2 Убедиться, что матрица ортогональна, т.е. , где -транспонированная матрица, а -единичная матрица.
2.1.3 Убедиться, что — матрица поворота на угол совпадает с произведением матриц и , которые являются матрицами поворота на углы и соответственно.
2.1.4. Убедиться, что матрица поворота на угол совпадает с матрицей , где — матрица поворота на угол .
2.2 Найти матрицу поворота в трехмерном пространстве относительно заданной координатной оси на угол .
2.2.1 Вокруг оси Oz
Решение задачи 2.2.1 Очевидно, что базисные орты , повернутой вокруг оси Oz системы координат, лежат в Oxy плоскости исходной координатной системы. Выше (см. задачу 2.1) мы уже вычислили скалярные произведения для i,j=1 и 2. Фактически мы нашли соответствующие им матричные элементы искомой матрицы повороты в трехмерном пространстве: , . Для нахождения остальных матричных элементов заметим, что базисные орты ортогональны орту , поэтому . После выполнения поворота вокруг оси Oz направление аналогичной оси новой системы координат не изменится, т.е. орт . Оставшиеся матричные элементы вычисляются тривиально: (j=1,2,3). Выпишем явный вид матрицы поворота вокруг оси Oz:
2.2.2 Вокруг оси Ox
Решение задачи 2.2.2 во многом аналогично решению предыдущей задачи.
Приведем в качестве ответа явный вид искомой матрицы поворота:
2.2.3 Вокруг оси Oy
2.3 Найти матрицу поворота в трехмерном пространстве на углы Эйлера. Углы Эйлера определены следующим образом: вначале проводится поворот на угол вокруг оси , затем производится поворот на угол вокруг новой оси , а после этого производится поворот на угол вокруг новой оси .
2.3.1 Доказать, что матрица может быть записана в виде произведения трех матриц , где матрица соответствует повороту на угол вокруг оси , матрица соответствует повороту на угол вокруг новой оси , матрица соответствует повороту на угол вокруг новой оси .
Решение задачи 2.3.1 Рассмотрим вектор с компонентами , заданными в исходной системе координат . Объединим его компоненты в матрицу, состоящую из одного столбца (в так называемый вектор-столбец). Компоненты этого вектора в новой системе координат , повернутой вокруг оси на угол , вычислим как матричное произведение . Давайте рассматривать повернутую систему координат как новую исходную, и совершим далее поворот вокруг ее оси на угол . Компоненты вектора в новой, повернутой системе координат вычислим как матричное произведение .
Матрица поворота составлена из косинусов углов между ортами новой исходной, и новой повернутой координатных систем. Для ее вычисления мы фактически должны повторить решение задачи 2.2.2 и получить в результате ту же матрицу с заменой угла на . Давайте примем систему координат
за новую исходную, и выполним последний поворот вокруг оси на угол . Компоненты вектора в системе координат теперь вычисляются как .
Матрица составлена их косинусов углов между соответствующими ортами. Она совпадает с матрицей поворота вокруг оси Oz, найденной в ходе решения задачи 2.2.1, с заменой угла на . Итого: . Приведем для справки явный вид матрицы поворота на углы Эйлера , , .
2.3.2 Доказать, что .
2.3.3 Выразить матрицу обратного преобразования через произведение матриц поворотов вокруг осей Ox и Oz.
2.4 Найти матрицу для следующих углов Эйлера:
2.4.1
2.5 В случае двумерного пространства вычислить компоненты вектора в системе координат повернутой на угол по сравнению с исходной. Компоненты вектора и угол следующие:
2.5.1
2.6 В случае двумерного пространства вычислить компоненты тензора второго ранга в системе координат, повернутой на угол по сравнению с исходной. Компоненты тензора и угол следующие:
2.6.1
2.7 В трехмерном пространстве заданы компоненты вектора. Найти компоненты вектора в системе координат, повернутой на угол вокруг оси Ox по сравнению с исходной. Компоненты вектора и угол следующие:
2.7.1
Решение задачи 2.7 дается общей формулой:
Для конкретного варианта, указанного в пункте 2.7.1 получаем
2.8 В трехмерном пространстве заданы компоненты вектора. Найти компоненты вектора в системе координат, повернутой на угол вокруг оси Oy по сравнению с исходной. Компоненты вектора и угол следующие:
2.8.1
2.9 В трехмерном пространстве заданы компоненты вектора. Найти компоненты вектора в системе координат, повернутой на угол вокруг оси Oz по сравнению с исходной. Компоненты вектора и угол следующие:
2.9.1
2.10 В случае двумерного пространства найти компоненты тензора в системе координат, повернутой относительно исходной на угол .
Изменение компонент тензоров при повороте осей координат
Рассмотрим общие свойства тензоров второго ранга. По определению тензор второго ранга связывает два физических вектора, т. е. векторы, имеющие длину и направление. Пусть вектор b связан с вектором а с помощью тензора [Г]. Как изменятся компоненты векторов а и b при повороте осей координат? На рис. 20.9 показан вектор а в системе координат луг. Пусть
Повернем оси координат в положение xyz . Векторы а и b при этом не изменятся, но изменятся их компоненты. Связь между ними станет
Рис. 20.9. Компоненты вектора а в системах координатxyz и xyz
Проекции вектора а в исходной системе координат в новой системе
Введем матрицу направляющих косинусов, связывающую положение осей координат до и после поворота:
Здесь, например, 1у— —косинус угла между исходной осью у и новой осью z •
Проекции вектора а на новые оси координат xyz получим как сумму проекций старых компонент вектора а на новые оси:
То же выражение в матричной форме
Аналогично, преобразовав вектор b , получаем b =[L b . Произведем обратное преобразование последних выражений:
Второе из выражений (20.21) подставим в (20.20): [L T ]
1 а*. Левую и правую части последнего выражения умножаем слева на [ll |:
В этом выражении — единичная матрица — эквивалент умножения матрицы на единицу.
Матрица направляющих косинусов [L] — ортогональная. Для нее
IL T ] = [L]-‘ . Тогда ll 1 ‘=[/,]. В итоге выражение (20.22) приобретет вид
Сравнивая последнее выражение с выражением (20.20), видим, что
— формула подобных преобразований, (20.23)
где [Т] и [Т ] — любой тензор второго ранга в исходной и повернутой системах координат; L — матрица направляющих косинусов (углов между исходными и повернутыми осями координат).
📹 Видео
МСС лекция 4 семестр 2 часть 1 - Тензоры от чайника к чайникамСкачать