Магия тензорной алгебры: Часть 7 — Конечный поворот твердого тела. Свойства тензора поворота и способ его вычисления

    Содержание


    1. Что такое тензор и для чего он нужен?
    2. Векторные и тензорные операции. Ранги тензоров
    3. Криволинейные координаты
    4. Динамика точки в тензорном изложении
    5. Действия над тензорами и некоторые другие теоретические вопросы
    6. Кинематика свободного твердого тела. Природа угловой скорости
    7. Конечный поворот твердого тела. Свойства тензора поворота и способ его вычисления
    8. О свертках тензора Леви-Чивиты
    9. Вывод тензора угловой скорости через параметры конечного поворота. Применяем голову и Maxima
    10. Получаем вектор угловой скорости. Работаем над недочетами
    11. Ускорение точки тела при свободном движении. Угловое ускорение твердого тела
    12. Параметры Родрига-Гамильтона в кинематике твердого тела
    13. СКА Maxima в задачах преобразования тензорных выражений. Угловые скорость и ускорения в параметрах Родрига-Гамильтона
    14. Нестандартное введение в динамику твердого тела
    15. Движение несвободного твердого тела
    16. Свойства тензора инерции твердого тела
    17. Зарисовка о гайке Джанибекова
    18. Математическое моделирование эффекта Джанибекова


    Введение


    В этой статье мы продолжим тему, начатую предыдущей публикацией. В прошлый раз мы, с помощью тензоров, выявили природу угловой скорости и получили уравнения общего вида, позволяющие её рассчитать. Мы пришли к тому, что она естественным путем выводится из оператора поворота связанной с телом системы координат.

    А что внутри этого оператора? Для случая декартовых координат легко получить матрицы поворота и легко обнаружить их свойства, связав с ними какой-нибудь способ описание ориентации тела, например углы Эйлера или Крылова. Или вектор и угол конечного поворота. Или кватернион. Но это для декартовых координат.

    Начав говорить о тензорах мы отреклись от декартовых координат. Тем хороша тензорная запись, что она позволяет составить уравнения для любой удобной системы координат, не зацикливаясь на её свойствах. И проблема в том, что для, например косоугольных координат, матрицы поворота, даже для плоского случая, крайне сложны. Мне хватило проверки их вида для простого поворота в плоскости.

    Так что задача этой статьи — не заглядывая внутрь тензора поворота исследовать его свойства и получить тензорное соотношение для его расчета. А раз задача поставлена, то начнем её решать.

    1. Свойства тензора поворота системы координат


    Для того чтобы вернуться к вопросам механики свободного твердого тела, необходимо понять, что представляет собой тензор поворота. Свойства тензора определяются набором его компонент и соотношением между ними. Так как тензор поворота есть тензор второго ранга и его компоненты представлены матрицей, то, не в ущерб общей тематике цикла, изложение этого параграфа буду вести, употребляя термин «матрица». Привычную «бесточечную» запись матричного произведения будем писать с точкой, так как в рамках алгебры тензоров мы имеем дело с комбинацией тензорного произведения со сверткой. Однако, тут тоже нужна оговорка — раскритиковав сам себя за некорректное употребление термина «свертка», я упустил тот момент, что под сверткой часто понимают и её комбинацию с тензорным умножением. При этом говорят, например, «свернем вектор с тензором Леви-Чивиты и получим…», имея в виду как раз операцию внутреннего произведения.

    Итак, рассмотрим основные свойства матрицы поворота \mathbf{B}
    1. Преобразование поворота метрического тензора есть тождественное преобразование

      \mathbf{B}^T \cdot \mathbf{g} \cdot \mathbf{B} = \mathbf{g}

    2. Определитель матрицы поворота по модулю равен единице

      \det\mathbf{B} = \pm 1

    3. Матрица обратного преобразования подобна транспонированной матрице прямого преобразования

      \mathbf{B}^{-1} = \mathbf{g}^{-1} \cdot \mathbf{B}^T \cdot \mathbf{g}

    4. Если \det \mathbf{B} = 1, то матрица алгебраических дополнений и союзная матрица, построенные из \mathbf{B} подобны этой и её транспонированной матрице, а преобразованием подобия является метрический тензор

      \mathbf{\hat{B}} = \mathbf{g} \cdot \mathbf{B} \cdot \mathbf{g}^{-1}

      \mathop{\rm adj}\mathbf{B} = \mathbf{g}^{-1} \cdot \mathbf{B} \cdot \mathbf{g}

      Следствием данного свойства является равенство следов перечисленных матриц

      \mathop{\rm tr}\mathbf{B} = \mathop{\rm tr}\mathbf{\hat B} = \mathop{\rm tr}\left( \mathop{\rm adj}\mathbf{B} \right)

    5. Если \det \mathbf{B} > 0, то собственные числа матрицы поворота по модулю равны единице и имеют вид

      \lambda_1 = 1, \quad \lambda_{2,3} = e^{\pm \, i \, \varphi}

      где \cos\varphi = \cfrac{s-1}{2}, \quad s = \mathop{\rm tr} \mathbf{B}
    6. Если \mathbf{u} — собственный вектор матрицы поворота, соответствующий комплексному собственному числу, то справедливо соотношение

      \mathbf{u}^T \cdot \mathbf{g} \cdot \mathbf{u} = 0

      Следствие: действительная и мнимая части собственного вектора \mathbf{u}, соответствующего комплексному собственному числу, являются ортогональными векторами

      \mathbf{u}_{\,r}^T \cdot \mathbf{g} \cdot \mathbf{u}_{\,i} = 0

      где \mathbf{u} = \mathbf{u}_{\,r} + i \, \mathbf{u}_{\,i}.

    Доказательства свойств в основном тексте приводить не буду — статья и так обещает быть объемной. Эти доказательства не слишком сложны, но для интересующихся ими сделан нижеследующий спойлер.

    Доказательство свойств 1 - 6 для пытливого и дотошного читателя
    Свойства 1 и 3 мы доказали в предыдущей статье. Свойство 2 доказывается из свойства 1 тривиально, опираясь на свойства определителя матричного произведения

    \det \mathbf{B}^T \, g \det \mathbf{B} = g

    \left( \det \mathbf{B} \right)^2 = 1

    \det \mathbf{B} = \pm \, 1

    Свойство 4 вытекает из аналитического способа вычисления обратной матрицы. \det \mathbf{B} = 1, то

    \mathbf{B}^{-1} = \frac{1}{\det \mathbf{B}} \, \mathop{\rm adj} \mathbf{B} = \mathop{\rm adj} \mathbf{B}

    \mathop{\rm adj} \mathbf{B} = \mathbf{g}^{-1} \cdot \mathbf{B}^T \cdot \mathbf{g}

    где \mathop{\rm adj} \mathbf{B} — союзная матрица (транспонированная матрица алгебраических дополнений). Транспонируя (1), пользуясь симметричностью метрического тензора, получаем

    \mathbf{\hat B} = \left( \mathbf{g}^{-1} \cdot \mathbf{B} \cdot \mathbf{g} \right )^T

    \mathbf{\hat B} = \mathbf{g} \cdot \left( \mathbf{g}^{-1} \cdot \mathbf{B}^T \right )^T

    \mathbf{\hat B} = \mathbf{g} \cdot \mathbf{B} \cdot \mathbf{g}^{-1}

    где \mathbf{\hat B} — матрица, составленная из алгебраических дополнений матрицы поворота. Соотношения (1) и (2) — это соотношения подобия. Следы подобных матриц одинаковы

    \mathop{\rm tr}\mathbf{\hat B} = \mathop{\rm tr}\left( \mathop{\rm adj}\mathbf{B} \right) = \mathop{\rm tr}\mathbf{B}

    Докажем свойство 5. Пусть \lambda — собственное число матрицы поворота, которому соответствует собственный вектор \mathbf{u}. Тогда

    \mathbf{B} \cdot \mathbf{u} = \lambda \, \mathbf{u}

    Умножаем это выражение на матрицу обратного преобразования слева

    \mathbf{u} = \lambda \, \mathbf{B}^{-1} \cdot \mathbf{u}

    с учетом свойства 3

    \mathbf{u} = \lambda \, \mathbf{g}^{-1} \cdot \mathbf{B}^T \cdot \mathbf{g} \cdot \mathbf{u}

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

    \mathbf{u}^{*} = \overline\lambda \left( \mathbf{g}^{-1} \cdot \mathbf{B}^T \cdot \mathbf{g} \cdot \mathbf{u}\right)^{*}

    \mathbf{u}^{*} = \overline\lambda \, \mathbf{u}^{*} \cdot \left( \mathbf{g}^{-1} \cdot \mathbf{B}^T \cdot \mathbf{g} \right)^{T}

    \mathbf{u}^{*} = \overline\lambda \, \mathbf{u}^{*} \cdot \mathbf{g} \cdot \mathbf{B} \cdot \mathbf{g}^{-1}

    Последнее выражение умножаем справа на \mathbf{g} \cdot \mathbf{u}

    \mathbf{u}^{*} \cdot \mathbf{g} \cdot \mathbf{u} = \overline\lambda \, \mathbf{u}^{*} \cdot \mathbf{g} \cdot \mathbf{B} \cdot \mathbf{u}

    \mathbf{u}^{*} \cdot \mathbf{g} \cdot \mathbf{u} = \overline\lambda \, \lambda \, \mathbf{u}^{*} \cdot \mathbf{g} \cdot \mathbf{u}

    Окончательно имеем уравнение

    \left( 1 - \overline \lambda \, \lambda\right)\mathbf{u}^{*} \cdot \mathbf{g} \cdot \mathbf{u} = 0

    которое справедливо лишь когда

    \overline \lambda \, \lambda = \left| \lambda \right|^2 = 1

    то есть

    \left| \lambda \right| = 1

    Для вычисления собственных чисел составим характеристическое уравнение

    \det \left(\mathbf{B} - \lambda \, \mathbf{E} \right ) = 0

    вычисляя определитель, приходим к общему виду этого уравнения (для матрицы размерности (3 х 3))

    \lambda^3 - \mathop{\rm tr} \mathbf{B} \, \lambda^2 + \mathop{\rm tr} \mathbf{\hat B} \, \lambda - \det \mathbf{B} = 0 \quad (3)

    Вводим обозначение s = \mathop{\rm tr} \mathbf{B} = \mathop{\rm tr} \mathbf{\hat B}

    \lambda^3 - s \, \lambda^2 + s \, \lambda - 1 = 0 \quad (4)

    Разлагаем (4) на множители

    \left(\lambda - 1 \right )\left(\lambda^2 + \lambda + 1 \right ) - s \, \lambda \left(\lambda - 1 \right ) = 0

    \left(\lambda - 1 \right )\left(\lambda^2 - \lambda \left(s - 1 \right ) + 1 \right ) = 0

    откуда сразу получаем

    \lambda_{\,1} = 1

    Оставшуюся пару корней находим решая квадратное уравнение

    \lambda_{2,3} = \frac{s-1}{2} \pm \sqrt{\left(\frac{s-1}{2} \right )^2 - 1}

    Введем замену

    \cos\varphi = \frac{s-1}{2}

    которая правомерна, ибо, полагая корни, в общем случае комплексно-сопряженными, по теореме Виета имеем

    \lambda_2 + \lambda_3 = s-1



    или, по абсолютному значению

    2 \, \left|\mathop{\rm Re}(\lambda_2)\right| = \left|s-1\right|

    Так как \left|\mathop{\rm Re}(\lambda_2)\right| \le \left|\lambda_2\right| = 1

    то, очевидно

    \left|s-1\right| \le 2

    Производя замену, окончательно вычисляем

    \lambda_{2,3} = \cos\varphi \pm i \, \sin\varphi = e^{\pm \, i \, \varphi}

    Доказательство свойства 6, будем проводить, опираясь на выражение

    \mathbf{u} = \lambda \, \mathbf{g}^{-1} \cdot \mathbf{B}^T \cdot \mathbf{g} \cdot \mathbf{u}

    полученное при доказательстве равенства единице модуля собственного значения. Теперь, вместо комплексного сопряжения, транспонируем его, учитывая свойства операции транспонирования матричного умножения

    \mathbf{u}^T = \lambda \, \mathbf{u}^T \cdot \mathbf{g} \cdot \mathbf{B} \cdot \mathbf{g}^{-1}

    Умножаем полученное выражение на \mathbf{g} \cdot \mathbf{u} справа

    \mathbf{u}^T \cdot \mathbf{g} \cdot \mathbf{u} = \lambda \, \mathbf{u}^T \cdot \mathbf{g} \cdot \mathbf{B} \cdot \mathbf{u}

    \mathbf{u}^T \cdot \mathbf{g} \cdot \mathbf{u} = \lambda \, \lambda \, \mathbf{u}^T \cdot \mathbf{g} \cdot \mathbf{u}

    Теперь умножим полученное уравнение на число комплексно-сопряженное собственному значению, учитывая что его модуль равен единице

    \overline\lambda \, \mathbf{u}^T \cdot \mathbf{g} \cdot \mathbf{u} = \overline\lambda \, \lambda \, \lambda \, \mathbf{u}^T \cdot \mathbf{g} \cdot \mathbf{u}

    \overline\lambda \, \mathbf{u}^T \cdot \mathbf{g} \cdot \mathbf{u} = \lambda \, \mathbf{u}^T \cdot \mathbf{g} \cdot \mathbf{u}

    Окончательно приходим к уравнению

    \left(\lambda - \overline\lambda \right) \, \mathbf{u}^T \cdot \mathbf{g} \cdot \mathbf{u} = 0

    в котором скобка, в силу комплексности собственного числа нулю не равна, так как

    \lambda - \overline\lambda = 2 \, i \, \mathop{\rm Im}(\lambda)

    Тогда справедливо

    \mathbf{u}^T \cdot \mathbf{g} \cdot \mathbf{u} = 0

    Следствие из данного свойства доказывается простым перемножением

    \mathbf{u}^T \cdot \mathbf{g} \cdot \mathbf{u} = \left(\mathbf{u}_{\,r} + i \, \mathbf{u}_{\,i} \right )^T \cdot \mathbf{g} \cdot \left(\mathbf{u}_{\,r} + i \, \mathbf{u}_{\,i} \right ) = \left(\mathbf{u}_{\,r}^T + i \, \mathbf{u}_{\,i}^T \right ) \cdot \mathbf{g} \cdot \left(\mathbf{u}_{\,r} + i \, \mathbf{u}_{\,i} \right ) =

    = \mathbf{u}_{\,r}^T \cdot \mathbf{g} \cdot \mathbf{u}_{\,r} - \mathbf{u}_{\,i}^T \cdot \mathbf{g} \cdot \mathbf{u}_{\,i} + 2 \, i \, \mathbf{u}_{\,r}^T \cdot \mathbf{g} \cdot \mathbf{u}_{\,i} = 0

    Приравниваем к нулю действительную и мнимые части

    \mathbf{u}_{\,r}^T \cdot \mathbf{g} \cdot \mathbf{u}_{\,r} - \mathbf{u}_{\,i}^T \cdot \mathbf{g} \cdot \mathbf{u}_{\,i} = 0

    \mathbf{u}_{\,r}^T \cdot \mathbf{g} \cdot \mathbf{u}_{\,i} = 0

    Из последних уравнений следует искомая ортогональность и равенство модулей \mathbf{u}_{\,r} и \mathbf{u}_{\,i}

    Для чего нам знать о свойствах тензора поворота?

    Во-первых, я полностью сформулировал их, для того, чтобы читатель мог увидеть, чем матрица поворота криволинейной системы координат отличается от матрицы поворота декартовой системы. Практически ни чем, свойства этих матриц схожи. Если в вышеприведенных выражениях положить матрицу метрического тензора единичной, то получаются свойство ортогональной матрицы поворота, почитать о которых можно, например у Д. Ю. Погорелова. Собственно данная книга сообщила мне, куда надо копать, чтобы рассмотреть задачу в общем виде.

    Во-вторых, и это главное, мы докажем, что собственные векторы и собственные значения этих матриц имеют механический смысл. Для начала докажем лемму
    Пусть \mathbf{u}_{\,1} — собственный вектор, соответствующий действительному собственному числу тензора поворота, а \mathbf{u}_{\,1} — соответствует \lambda_2 = e^{\,i\,\varphi}, причем \varphi \ne 0,\,\pi. Пусть, так же, векторы \mathbf{u}_{\,2\,r} и \mathbf{u}_{\,2\,i} действительная и мнимая часть \mathbf{u}_{\,2}. Тогда векторы \mathbf{u}_{\,1}, \mathbf{u}_{\,2\,r} и \mathbf{u}_{\,2\,i} образуют тройку ортогональных векторов

    Свойство 6 уже говорит нам об ортогональности \mathbf{u}_{\,2\,r} и \mathbf{u}_{\,2\,i}. Докажем теперь что

    \mathbf{u}_{\,1}^T \cdot \mathbf{g} \cdot \mathbf{u}_{\,2} = 0 \quad (1)

    По определению собственных векторов

    \mathbf{B} \cdot \mathbf{u}_{\,1} = \mathbf{u}_{\,1} \quad (2)

    \mathbf{B} \cdot \mathbf{u}_{\,2} = \lambda_2 \, \mathbf{u}_{\,2} \quad (3)

    Умножим (3) слева на \mathbf{u}_{\,1}^T \cdot \mathbf{g} и преобразуем

    \mathbf{u}_{\,1}^T \cdot \mathbf{g} \cdot \mathbf{B} \cdot \mathbf{u}_{\,2} = \lambda_2 \, \mathbf{u}_{\,1}^T \cdot \mathbf{g} \cdot \mathbf{u}_{\,2}

    \left( \left( \mathbf{g} \cdot \mathbf{B} \right)^T \cdot \mathbf{u}_{\,1} \right)^T \cdot \mathbf{u}_{\,2} = \lambda_2 \, \mathbf{u}_{\,1}^T \cdot \mathbf{g} \cdot \mathbf{u}_{\,2}

    \left( \mathbf{B}^T \cdot \mathbf{g} \cdot \mathbf{u}_{\,1} \right)^T \cdot \mathbf{u}_{\,2} = \lambda_2 \, \mathbf{u}_{\,1}^T \cdot \mathbf{g} \cdot \mathbf{u}_{\,2}

    Учитывая свойство 3 можно сказать, что

    \mathbf{g} \cdot \mathbf{B}^{-1} = \mathbf{B}^T \cdot \mathbf{g} \quad (5)

    Кроме того, из (2) непосредственно следует

    \mathbf{u}_{\,1} = \mathbf{B}^{-1} \cdot \mathbf{u}_{\,1} \quad (6)

    Учитывая (6) и (5) преобразуем (4)

    \left( \mathbf{g} \cdot \mathbf{u}_{\,1}\right)^T \cdot \mathbf{u}_{\,2} = \lambda_2 \, \mathbf{u}_{\,1}^T \cdot \mathbf{g} \cdot \mathbf{u}_{\,2}

    \mathbf{u}_{\,1}^T \cdot \mathbf{g} \cdot \mathbf{u}_{\,2} = \lambda_2 \, \mathbf{u}_{\,1}^T \cdot \mathbf{g} \cdot \mathbf{u}_{\,2}

    \left(1 - \lambda_2 \right )\mathbf{u}_{\,1}^T \cdot \mathbf{g} \cdot \mathbf{u}_{\,2} = 0

    Выражение в скобках — комплексное число, отличное от нуля. Значит верно утверждение (1) и рассматриваемые векторы образуют ортогональную тройку.

    Доказанная нами лемма нужна для того чтобы показать — тензор поворота, рассматриваемый нами в произвольных координатах, удовлетворяет известной теореме Эйлера о конечном повороте.

    2. Теорема Эйлера о конечном повороте


    Исследовав тензор поворота мы поняли, что с этим тензором непосредственно связана ортогональная тройка векторов \left( \vec{u}_{\,1}, \vec{u}_{\,2\,r}, \vec{u}_{\,2\,i} \right). Первый вектор в этой тройке обладает интересным свойством — он не изменяется при применении к нему оператора поворота. Действительно, ведь

    \mathbf{B} \cdot \mathbf{u}_{\,1} = \mathbf{u}_{\,1}. \quad (7)

    Этот вектор остается неподвижным при повороте! А при повороте тела неподвижной остается… ось вращения. Значит вектор\vec{u}_{\,1} задает ориентацию в пространстве оси вращения связанной с телом системы координат. Известная из курса механики теорема Эйлера гласит
    Для любого тела, имеющего одну неподвижную току, и занимающего произвольное положение в пространстве, существует ось, проходящая через неподвижную точку, поворотом вокруг которой на конечный угол тело можно перевести в любое другое желаемое положение.

    Тождество (7) дает нам подсказку о том где стоит искать эту ось вращения — она проходит через собственный вектор тензора поворота, соответствующий его действительному собственному числу. Проверим это, доказав теорему
    Связанная с телом система координат может быть совмещена с базовой системой координат поворотом вокруг вектора \vec{u}_{\,1} на угол \varphi против часовой стрелки, если векторы \left( \vec{u}_{\,1}, \vec{u}_{\,2\,r}, \vec{u}_{\,2\,i} \right) образуют правую тройку, и на угол -\varphi если эти векторы образуют левую тройку



    Рис 1. К доказательству теоремы о конечном повороте

    Повернем связанную с телом систему координат на угол \varphi вокруг вектора \vec{u}_{\,1}. Так как рассматриваемые нами векторы ортогональны, то векторы \vec{u}_{\,2\,r} и \vec{u}_{\,2\,r} станут поворачиваться в плоскости перпендикулярной оси поворота. Поэтому очень легко найти связь между старым положением этих векторов в пространстве и новым (смотрим рисунок 1)

    \vec{u}_{\,2\,r}^{\,(0)} = \cos\varphi \, \vec{u}_{\,2\,r}^{\,(1)} - \sin\varphi \, \vec{u}_{\,2\,i}^{\,(1)} \quad (8)

    \vec{u}_{\,2\,i}^{\,(0)} = \sin\varphi \, \vec{u}_{\,2\,r}^{\,(1)} + \cos\varphi \, \vec{u}_{\,2\,i}^{\,(1)} \quad (9)

    Выражения (8) и (9) получены путем анализа конечного поворота. С другой стороны, из определения собственного вектора и свойств оператора поворота следует цепь преобразований

    \mathbf{B} \cdot \mathbf{u}_{\,2} = \lambda_2 \, \mathbf{u}_{\,2}

    \mathbf{B} \cdot \mathbf{u}_{\,2} = e^{\,i\,\varphi} \, \mathbf{u}_{\,2}

    \mathbf{B} \cdot \left( \mathbf{u}_{\,2\,r} + i \mathbf{u}_{\,2\,i} \right) = \left(\cos\varphi + i \, \sin\varphi \right ) \, \left( \mathbf{u}_{\,2\,r} + i \mathbf{u}_{\,2\,i} \right)

    \mathbf{B} \cdot \mathbf{u}_{\,2\,r} + i \, \mathbf{B} \cdot \mathbf{u}_{\,2\,i} = \cos\varphi \, \mathbf{u}_{\,2\,r} - \sin\varphi \, \mathbf{u}_{\,2\,i} + i \left(\sin\varphi \, \mathbf{u}_{\,2\,r} + \cos\varphi \, \mathbf{u}_{\,2\,i} \right ) \quad (10)

    Приравнивая действительные и мнимые части (10), получаем

    \mathbf{B} \cdot \mathbf{u}_{\,2\,r} = \cos\varphi \, \mathbf{u}_{\,2\,r} - \sin\varphi \, \mathbf{u}_{\,2\,i} \quad (11)

    \mathbf{B} \cdot \mathbf{u}_{\,2\,i} = \sin\varphi \, \mathbf{u}_{\,2\,r} + \cos\varphi \, \mathbf{u}_{\,2\,i} \quad (12)

    Сравнивая (8) и (11), (9) и (12) приходим к выводу, что применение оператора поворота к векторам приводит к их повороту вокруг оси \vec{u}_1 на угол \varphi

    Надо сказать, наши результаты выглядят довольно эффектно — ведь не зная о внутренностях тензора поворота мы исследовали все (по крайней мере практически значимые его свойства). А нам не особенно интересны внутренности конкретных тензоров поворота, наша главная задача научится вычислять этот тензор, чтобы он обеспечивал поворот вокруг нужной нам оси на требуемый угол

    3. Выражение тензора поворота через параметры конечного поворота. Формула Родрига


    Рассмотрим конечный поворот произвольного вектора. В базовой системе координат его положение соответствует \vec{r}_{\,0}, в связанной с телом — \vec{r}_{\,1}. Поворот совершается на угол \varphi вокруг оси проходящей через вектор \vec{u}, который положим единичным

    \left|\vec{u}\right| = 1



    Рис. 2. Конечный поворот произвольного вектора

    Из рисунка 2 очевидны векторное соотношения

    \vec{r}_1 = \vec{a} + \vec{l} \quad (13)

    где \vec{l} — вектор перпендикулярный оси вращения, длина которого равна

    l = r_{\,0} \sin\alpha

    Вектор \vec{a} направлен вдоль оси вращения и его можно выразить следующим образом

    \vec{a} = a \, \vec{u} = (\vec{u} \cdot \vec{r}_0) \, \vec{u}

    С другой стороны, ниже перечисленные векторы имеют одинаковый модуль

    \left| \vec{u} \times \vec{r}_{\,0} \right| = r_{\,0} \sin\alpha = l

    \left| - \vec{u} \times (\vec{u} \times \vec{r}_{\,0}) \right| = l

    значит вектор \vec{l} может быть выражен через них

    \vec{l} = \cos\varphi \, \left( -\vec{u} \times (\vec{u} \times \vec{r}_{\,0}) \right) + \sin\varphi \, (\vec{u} \times \vec{r}_{\,0})

    Теперь, выписанные векторные соотношения представим в тензорной компонентной форме

    a^{\,m} = u^{\,m} \, g_{ik} \, u^{\,j} \, r^{\,k(0)}

    l^{\,m} = -\cos\varphi \, \left(\varepsilon^{\,mqi} \, u_{\,q} \, \varepsilon_{\,ijk} \, u^{\,j} \, r_0^{\,k} \right ) + \sin\varphi \, \left(g^{\,mi} \, \varepsilon{\,ijk} \, u^{\,j} \, r_0^{\,k} \right ) \quad (15)

    и введем два антисимметричных тензора

    U^{\,mi} = \varepsilon^{\,mqi} \, u_{\,q} \quad (16)

    U_{\,ik} = \varepsilon_{\,ijk} \, u^{\,j} \quad (17)

    С учетом которых можно записать

    r_1^{\,m} = \left( u^{\,m} \, g_{ik} \, u^{\,j} - \cos\varphi \, U^{mi} \, U_{\,ik} + \sin\varphi \, g^{mi} \, U_{ik} \right ) \, r_0^{\,k} \quad (18)

    Свертку тензоров (16) и (17) по общему индексу, выполним, расписав их через матрицы компонентов

    \mathbf{\tilde U} \cdot \mathbf{ U} = \frac{1}{\sqrt g} \begin{bmatrix} 0 && -u_3 && u_2 \\ u_3 && 0 && -u_1 \\ -u_2 && u_1 && 0 \end{bmatrix} \sqrt g \begin{bmatrix} 0 && -u^3 && u^2 \\ u^3 && 0 && -u^1 \\ -u^2 && u^1 && 0 \end{bmatrix} = - \begin{bmatrix} u_3 \, u^3 + u_2 \, u^2 && -u_1 \, u^2 && -u_1 \, u^3 \\ -u_2 \, u^1 && u_1 \, u^1 + u_3 \, u^3 && -u_2 \, u^3 \\ -u_3 \, u^1 && -u_3 \, u^2 && u_1 \, u^1 + u_2 \, u^2 \end{bmatrix} \quad (19)

    Нетрудно заметить что (19) эквивалентно

    U^{\,mi} \, U_{\,ik} = -\left(\delta_k^{\,m} \left|u\right|^2 - u_m \, u^{\,k} \right ) = -\left(\delta_k^{\,m} - u^j \, g_{jm} \, u^{\,k} \right ) \quad (20)

    Преобразуем (18) с учетом (20)

    r_1^{\,m} = \left[ u^{\,m} \, g_{jk} \, u^{\,j} - \cos\varphi \, u^{\,j} \, g_{jk} \, u^{\,m} + \cos\varphi \, \delta_k^{\,m} + \sin\varphi \, g^{mi} \, U_{ik} \right ] \, r_0^{\,k} \quad (21)

    Из (21) получаем выражение для оператора поворота

    B_k^{\,m} = u^{\,m} \, g_{jk} \, u^{\,j} - \cos\varphi \, u^{\,j} \, g_{jk} \, u^{\,m} + \cos\varphi \, \delta_k^{\,m} + \sin\varphi \, g^{mi} \, U_{ik} \right \quad (22)

    где

    U_{ik} = \varepsilon_{ijk} \, r^{\,j}

    – антисимметричный тензор ранга (0,2), порождаемый ортом оси поворота.

    или, в бескомпонентной форме

    \mathbf{B} = \mathbf{u} \cdot \mathbf{u}^T \cdot \mathbf{g} - \cos\varphi \, \mathbf{g} \cdot \mathbf{u} \cdot \mathbf{u}^T + \cos\varphi \, \mathbf{E} + \sin\varphi \, \mathbf{g}^{-1} \cdot \mathbf{U} \quad (23)

    Выражения (22) и (23) называются формулой поворота Родрига. Мы получили их для координатной системы с произвольной невырожденной метрикой.

    Заключение


    Всё вышеизложенное рассматривалось для одной единственной цели — получить выражение оператора поворота для произвольной системы координат. Это позволит нам выразить через (23) тензор и псевдовектор угловой скорости, а затем и углового ускорения. После этого мы выберем параметры, характеризующие ориентацию твердого тела в пространстве (это будут параметры Родрига-Гамильтона, да-да, мы поговорим о кватернионах) и запишем уравнения движения твердого тело в обобщенных координатах. По пути мы посмотрим на то, как тензоры облегчают получение уравнений, вывод которых традиционными способами занял бы уйму времени и сил, со множеством ошибок и умозрительных допущений.

    Спасибо за внимание!

    Продолжение следует…
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 3

      +1
      Вроде начал понимать, что собой представляют матрицы поворота, масштаба и перемещения из DirectX SDK.
        0
        Исправлена досадная ошибка в соотношениях (20) — (23). Несколько запутался в свертках и диадах
          0
          формулы не читаются вместо них " CODECOGS Equation Quota Exeeded"

          Only users with full accounts can post comments. Log in, please.