Что такое оператор поворота

О матрице поворота простыми словами

Когда Пифагор плыл по реке Хуанхэ, он увидел у берега, в лодке, задремавшего рыбака, в конической шляпе и с бамбуковой удочкой в руках.

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

Продолжим историю

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

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

Удочка рыбака аккуратно зависла над гладью вод Жёлтой Реки под углом, равным 45 градусам.

Лёгкий туман стелился над водой… и вдруг — поклёв. Рыбак потянул удочку, и она стала быстро набирать высоту, длина лески (катет А) стала расти на глазах, а расстояние от рыбака до самой лески стало уменьшаться (катет B). И самое интересное — длина самой удочки совсем не изменилась — телескопических удочек ещё не было, — даже когда она описала в воздухе дугу и оказалась почти над головой рыбака, под углом 90 градусов. Длина лески сравнялась с длиной удочки — катушки тогда уже были, — а расстояние между рыбаком и леской изменилось до 0, леска оказалась в руках рыбака.

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

Последний момент очень важен для понимания того, что происходит при умножении вектора-удочки на матрицу поворота.

Ностальгируем и думаем дальше.

Вспомним теорему Пифагора: квадрат длины удочки равен сумме квадратов катетов — самой лески и расстоянию между рыбаком и тем местом, где леска погружена в воду — С^2=А в квадрате + B в квадрате.

Представим, что длина удочки 4.2, длина (или высота над водой) лески 3, расстояние между рыбаком и местом, где леска погружена в воду тоже 3.

Окунёмся в поиски

1) найдём то, как соотносится между собой длина лески с длиной удочки — синус угла а.
2) найдём то, как соотносится длина отрезка между рыбаком и местом погружения лески с длиной удочки — косинус а. Считаем:

А теперь порассуждаем
Что будет если катет А разделить на sin(a)?! т.е.:

Получаем длину удочки — гипотенузу.
А если мы умножим катет А на sin(а)?!

Отметим это расстояние на гипотенузе — 2.1.

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

На оставшееся расстояние также приходится — 2.1, так как очевидно:

Это означает, то как в текущий момент времени синус и косинус делят гипотенузу. Поскольку квадрат гипотенузы это 4.2*4.2, то вопрос: что будет если 4.2 умножить на 2.1?! На ту самую её часть, с которой связан один из катетов:

Тоже самое для второго катета.

Нашли катеты. И убедились в том, что со времён Пифагора ничего не изменилось.

Далее

Теперь ещё раз осуществим умножение катета А на sin(a), катета B на cos(a).

Снова получили число равное длине удочки… и мы вплотную подобрались к матрице поворота.

Напомню формулу

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

Возьмём её нижнюю часть — получение точки y:

И сравним с вычислениями выше:

Как две капли воды. Y в нашем случае окажется равным 4.2.
Если применить первую часть формулы к вычислениям, то получим:

Иными словами случится так:

x станет 0 — рыбак поймает леску.
y станет 4.2 — леска сравняется с длиной удочки.

Помним, что для вычисления x синус и косинус меняются местами.

Ф в данном случае равно 45 градусам (Ф = 0.7 ) и при таком угле синус и косинус равны, что удобно для примера. В остальных случаях очевидно величины для синуса и косинуса будут другие. Например, для 40 градусов: cosdegree(40) = 0,7660444431, sindegree(40) = 0,6427876097 (если вы не согласны, обращайтесь в Яндекс, я пользовался его калькулятором).

В итоге

Применяя формулу к новым значениям x,y несколько раз — в цикле, наглядно увидим движение по окружности, каждый раз на 45 градусов.

Если требуется сдвинуть вектор-удочку на один градус, то его и подставляем в формулу на место Ф.

Как происходит вычисление тригонометрических функций?!
Как известно, для вычисления косинуса и синуса угла обычно используются готовые функции. Согласно информации по ссылке вычисление и точность зависят от системы. Для unix-систем есть по крайней мере два варианта: функция, написанная в недрах компании IBM и встроенная инструкция fsin на Ассемблере. Есть также библиотека fdlibm с достаточно наглядным кодом и комментариями, по которым видно, что синус и косинус вычисляются в этой библиотеке через число pi.

А вдруг автор этой статьи все придумал?

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

Источник

Магия тензорной алгебры: Часть 12 — Параметры Родрига-Гамильтона в кинематике твердого тела

Введение

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

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

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

Обычно углы поворота используют совместно с декартовой системой координат, при этом говорят, что связанная система координат может быть совмещена с базовой путем трех последовательных поворотов вокруг её осей. При этом каждый следующий поворот осуществляется вокруг оси, полученной после предыдущего поворота. Кроме того, следующий поворот не должен происходить вокруг оси, относительно которой совершен предыдущий поворот. В связи с этим существует 12 различных комбинаций углов поворота, самыми известными из которых являются углы Эйлера (рисунок 1). Базовую систему координат поворачивают на угол Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворотавокруг оси Z (угол прецессии), затем на угол Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворотавокруг оси X (угол нутации), и снова вокруг оси Z на угол Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота(угол собственного вращения) до совмещения её со связанной системой координат.

Использование углов Эйлера всем хорошо — их число совпадает с числом вращательных степеней свободы твердого тела, а значит они не порождают избыточных уравнений связей. Но, даже не прибегая к громоздким формулам, по рисунку 1, можно догадаться, где кроется проблема.

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

Рис. 2. Знаменитые кинематические уравнения Эйлера. Я, в своё время, хлебнул с ними долгих и кропотливых отладок

Существует два значения угла нутации, при которых происходит вырождение кинематических уравнений Эйлера (рисунок 2) — Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворотаи Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота. Предположим, что угол нутации принял одно из этих значений — тогда угол прецессии и угол собственного вращения описывают поворот вокруг одной и той же оси Z и принципиально неразличимы друг от друга. При использовании кинематических уравнений Эйлера мы получаем ноль в знаменателе и NaN в фазовых координатах. Приплыли, процедура интегрирования рухнула.

Другой вариант углов поворота — самолетные углы: Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота— рыскание, Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота— тангаж и Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота— крен (рисунок 3).

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

Рис. 3. Самолетные углы — один из практических способов определения ориентации летательного аппарата в пространстве

Данные параметры поворота вырождаются при тангажах Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота, при этом неразличимы становятся крен и рыскание. Матерые симуляторщики знают, как сходит с ума КПП при выходе на крутые тангажи.

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

Однако, ещё великий Леонард Эйлер ввел в рассмотрение четыре параметра, которые не имеют вырождения. На его публикацию по этому поводу тогдашний научный мир особого внимания не обратил. Данная идея, независимо от Эйлера была развита Олидом Родригом, а в работах Уильяма Гамильтона получила окончательное теоретическое обоснование. Встречайте —

1. Кватернионы и действия над ними

Кватернионом называют число вида

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

где Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворотаназывают компонентами кватерниона. Сами числа (1) образуют множество гиперкомплексных чисел Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота, включающее в себя все действительные Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворотачисла и множество комплексных чисел Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота. Математики эпохи, когда работал Гамильтон, уже знали о комплексных числах и о том, как построенные на их основе методы позволяют решать задачи планиметрии и естественным было желание расширить понятие комплексного числа для применения подобных методов к пространственным задачам. Проблема была в том, что добавление второй мнимой единицы не решало проблемы. Гамильтону пришла в голову мысль, что подобные расширенные комплексные числа могут быть не трех-, а четырехкомпонентными. Работая в этом направлении, в порыве вдохновения на одной из прогулок он вывел правило умножения таких чисел, что окончательно сложило мозаику новорожденной теории.

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

а их попарные произведения хорошо описываются диаграммой

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

Рис. 4. Диаграмма перемножения мнимых единиц в кватернионе

смысл которой прост — если перемножать пары мнимых единиц в порядке, указанном стрелкой, то получается третья мнимая единица со знаком «+». Если порядок перемножения изменить на противоположный — получится третья мнимая единица со знаком «-«. Не напоминает правило векторного перемножения ортов в декартовых координатах? Это оно и есть, то есть мы получаем

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

Пользуясь этими правилами перемножим два кватерниона

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

Ого! Не слабо, но мы смело приводим подобные слагаемые

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

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

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

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

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

а результат их умножения

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

Не трудно просто сравнить эту формулу с результатом умножения, которое мы выполнили, при этом считая мнимые единицы ортами декартова базиса. Таким образом, кватернионы включают в себя и векторы трехмерного пространства, и например, кватернионы вида Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворотаи Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота, будут скалярами, и их произведение эквивалентно произведению скалярных величин

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

А кватернионы вида Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворотаи Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворотаназываются векторными кватернионами, и их произведение

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

дает скалярное, со знаком минус, и векторное произведение составляющих их векторов.

Из-за наличия в результате произведения векторного умножения, операция умножения кватернионов не коммутативна

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

Ну и надо ли говорить, что обнуляя два последних коэффициента у каждого из кватернионов мы получим произведение комплексных чисел? Думаю не стоит, ибо мы не погружаемся в комплексную область, а если и говорим о комплексных числах, то там где это требуется.

Не стану так же говорить о том, что сложение кватернионов и умножение их на число аналогично соответствующим операциям в комплексной области. А вот о чем надо поговорить, так о сопряжении кватерниона

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

о связанной с ним операции вычисления нормы

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

и операции вычисления обратного кватерниона

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

И ещё одно полезное свойство, касающееся сопряжения произведения кватернионов

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

Кроме того, норма обратного кватерниона — величина обратная норме исходного

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

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

2. Кватернион как линейный оператор поворота

Теперь посмотрим на вот такой фокус. Пусть Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота— один кватернион, а Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота— другой кватернион. Докажем небольшую теорему

Преобразование вида Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворотане меняет нормы кватерниона Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота.

Проверяется это утверждение прямым вычислением

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

Действительно, норма кватерниона не изменяет при подобном преобразовании. А если кватернион Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворотабудет векторным кватернионом, то не изменится норма вектора, которым он определяется. То есть описанное преобразование над вектором, не меняет его длины, оно будет ортогональным, или преобразованием поворота! Дело за малым — выяснить, вокруг какой оси и на какой угол происходит поворот, определяемый конкретным кватернионом. Для этого возьмем (нам ведь никто не мешает так сделать) и представим кватернион Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворотав виде

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

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

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

Никто не мешает делать нам эквивалентных преобразований, вот мы и делаем их. Теперь введем замену

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

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

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

Заметим, что вектор Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота, введенный нами, является единичным, так как

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

В довершении позволим себе ещё одно допущение — пусть кватернион будет единичным, то есть

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

Теперь аккуратно выполним ортогональное преобразование над векторным кватернионом Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

Теперь умножим результат (2) на обратный кватернион

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

Для того чтобы не загромождать текст «крокодилами» вычислим отдельно скалярную

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

результата преобразования. В конечном итоге, на основании формул (3) и (4), проведя не сложные тригонометрические упрощения, приходим к выводу, что на выходе получается некоторый вектор

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

Так это же… формула конечного поворота Родрига! Выходит, что преобразование

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

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

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

эквивалентно повороту вектора вокруг оси, задаваемой ортом Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворотана угол Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота. Угол поворота и вектор, вокруг которого происходит вращение можно рассчитать по компонентам кватерниона, исходя из замен, введенных нами выше.

Выводы

Мы убедились, что единичный кватернион, компоненты которого построены по формулам

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

определяет конечный поворот. Четыре параметра, которые мы привели и есть те самые параметры Родрига-Гамильтона, которые однозначно определяют ориентацию твердого тела в пространстве и не вырождаются при любых параметрах вращения. Например, если мы обнулим угол поворота, то орт оси вращения так же станет равен нулю. При повороте на любой конечный угол мы всегда можем рассчитать положение оси поворота.

Что же, а за окном тем временем рассвело… План данной статьи был несколько иным, и мы ни слова не сказали о тензорах. Да оно и к лучшему, зато мы теперь имеем четкое представление о том, что за хитрые параметры ориентации будем использовать в дальнейшем.

Источник

Поворот системы координат

Василиса ЯВИКС — интеллектуальная поисковая система. Завтра уже здесь!

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

Ма́трицей поворо́та (или матрицей направляющих косинусов) называется ортогональная матрица, которая используется для выполнения собственного ортогонального преобразования в евклидовом пространстве. При умножении любого вектора на матрицу поворота длина вектора сохраняется. Определитель матрицы поворота равен единице.

Обычно считают, что в отличие от матрицы перехода при повороте системы координат (базиса), при умножении на матрицу поворота вектора-столбца координаты вектора преобразуются в соответствии с поворотом самого вектора (а не поворотом координатных осей; то есть при этом координаты повернутого вектора получаются в той же, неподвижной системе координат). Однако отличие той и другой матрицы лишь в знаке угла поворота, и одна может быть получена из другой заменой угла поворота на противоположный; та и другая взаимно обратны и могут быть получены друг из друга транспонированием.

Матрица поворота в двумерном пространстве

В двумерном пространстве поворот можно описать одним углом θ со следующей матрицей линейного преобразования в декартовой системе координат:

Поворот выполняется путём умножения матрицы поворота на вектор-столбец, описывающий вращаемую точку:

Координаты (x′,y′) в результате поворота точки (x, y) имеют вид:

Конкретные знаки в формулах зависят от того, является ли система координат правосторонней или левосторонней, и выполняется ли вращение по или против часовой стрелки. Верхний знак указан для обычного соглашения: правосторонняя система координат и положительное направление вращения против часовой стрелки (тот же знак верен для левосторонней координатной системы при выборе положительного направления вращения по часовой стрелке; в оставшихся двух комбинациях — нижний знак).

Матрица поворота в трёхмерном пространстве

Любое вращение в трёхмерном пространстве может быть представлено как композиция поворотов вокруг трёх ортогональных осей (например, вокруг осей декартовых координат). Этой композиции соответствует матрица, равная произведению соответствующих трёх матриц поворота.

Матрицами вращения вокруг оси декартовой системы координат на угол α в трёхмерном пространстве с неподвижной системой координат являются:

Положительным углам при этом соответствует вращение вектора против часовой стрелки в правой системе координат, и по часовой стрелке в левой системе координат, если смотреть против направления соответствующей оси. Например, при повороте на угол α∘ вокруг оси ось переходит в : ∘⋅. Аналогично, ∘⋅ и ∘⋅. Правая система координат связана с выбором правого базиса (см. правило буравчика).

Совершенно аналогично могут быть записаны матрицы поворота конечномерного пространства любой более высокой размерности.

Надо только иметь в виду, что для размерностей пространства, не равных трём, невозможно указать единственную прямую, ортогональную двум данным прямым, а поэтому нельзя говорить о вращении вокруг какой-то оси, можно же говорить о вращении в какой-то плоскости. Все точки при повороте в пространстве любой размерности, начиная с 2, всегда движутся параллельно некоторой (двумерной) плоскости.

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

Изменение оси поворота

Пусть — матрица поворота вокруг оси с ортом на угол α, — матрица поворота вокруг оси с ортом на тот же угол, причем

где — транспонированная матрица.

Перестановочность поворотов

Если — матрица поворота вокруг оси с ортом на угол α, — матрица поворота вокруг оси с ортом на угол β,то ⋅ — матрица, описывающая поворот, являющийся результатом двух последовательно осуществленных поворотов ( и ), поскольку

При этом последовательность поворотов можно поменять, видоизменив поворот :

где матрица — матрица поворота на угол α вокруг оси c ортом повернутым с помощью поворота :

поскольку ⋅, так как матрица поворота является ортогональной матрицей ( — единичная матрица). Заметим, что коммутативности поворотов в обычном смысле нет, то есть

Выражение матрицы поворота через углы Эйлера

Последовательные повороты около осей на угол прецессии (α), угол нутации (β) и на угол собственного вращения (γ) приводят к следующему выражению для матрицы поворота:

Ось — ось X, повёрнутая первым поворотом (на α), — ось Z, повёрнутая первым и вторым поворотом (на α и β). Вследствие перестановочности поворотов приведённая матрица соответствует поворотам на углы γ, β, α вокруг осей Z, X, Z:

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

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

Тогда матрица поворота в декартовых координатах имеет вид:

Выражение матрицы поворота через кватернион

Если задан кватернион, то соответствующая матрица поворота имеет вид:

Свойства матрицы поворота

Если — матрица, задающая поворот вокруг оси → на угол φ, то:

Примечания

Литература

Ссылки

Операторы извлечения и вставки в поток, страница 2

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

1. Перегрузкаоператора присваивания.

2. Перегрузкабинарных операторов.

3. Перегрузкаунарных операторов.

4. Перегрузкаоператоров ++ и —.

5. Перегрузкаоператора вызова функции.

6. Перегрузкаоператора преобразования типа.

Вычисление вектора по координатам его концов

Проекции вектора можновычислить по координатам начала (точка А) и конца (точка В) использую следующуюформулу:

Вычисление координат конца вектора

Координаты конца (точка В) вектора можно вычислить по координатам начала(точка А) и проекциям вектора АВ использую следующую формулу:

Вычисление модуля вектора

Модуль вектора (длину)можно вычислить по теореме Пифагора:

Вычисление расстояния между двумя точками

Расстояние D междудвумя точка A и B можновычислить по теореме Пифагора:

Вычисление площади треугольника

Площадь S треугольника со сторонами a,b и с можно вычислить по формуле Герона:

Вычисление скалярного произведения векторов

Скалярное произведение векторов и можновычислить по следующей формуле:

Вычисление угла между векторами

Угол между векторами и можновычислить по следующей формуле:

Поворот вектора на заданный угол

Вычисление вектора, перпендикулярного заданному вектору

Не трудно видеть, что скалярное произведение векторов и в этом случае равно нулю

Умножение вектора на число

Умножение вектора начисло К можно выполнить по следующей формуле:

Нетрудно видеть, что вектор в К раз длиннее вектора и параллелен вектору

Вычисления прямой, проходящей через две заданные точки

Откуда легко получить:

Вычисление коэффициентов прямой, перпендикулярной заданной прямой

Две прямые и перпендикулярны друг другу, если:

Если прямая известна, то коэффициенты и прямой можно вычислить по следующим формулам:

Вычисление детерминанта

Детерминант матрицы размером 2´2 можно вычислить по следующей формуле:

Пересечение двух прямых

Задачу нахождения точки пересечения двух прямыхна плоскости можно свести к решению двух линейных уравнений с двумянеизвестными методом Крамера:

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

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

Преобразования прямоугольных координат

Что такое оператор поворота. Смотреть фото Что такое оператор поворота. Смотреть картинку Что такое оператор поворота. Картинка про Что такое оператор поворота. Фото Что такое оператор поворота

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

а) параллельный перенос;

б) поворот системы координат;

в) зеркальное отражение в оси абсцисс (изменение направления оси ординат на противоположное).

Аналогично определяется зеркальное отражение в оси ординат (изменение направления оси абсцисс на противоположное).

выполнить зеркальное отражение в оси (рис.2.12,6). Формулы, связывающие старые и новые координаты точки, имеют вид:

– при одноименных системах координат (рис.2.12,а):

– при разноименных системах координат (рис.2.12,6):

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

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

Для преобразования (2.9) аналогичные формулы имеют вид:

2. При и из соотношений (2.10) получается преобразование изменяющее названия координатных осей (зеркальное отражение в прямой, содержащей биссектрису первого координатного угла).

3. Справедливо утверждение: любое преобразование прямоугольной системы координат на плоскости может быть представлено в виде композиции зеркальных отражений в некоторых прямых.

Для доказательства достаточно показать, что рассмотренные выше преобразования — параллельный перенос (рис.2.11,а) и поворот (рис.2.11,6) — можно представить при помощи композиции зеркальных отражений.

Аналогично выполняется сдвиг вдоль оси ординат. Поэтому любой параллельный перенос сводится к композиции зеркальных отражений.

4. Утверждение пункта 3 можно уточнить: любое преобразование прямоугольной системы координат на плоскости может быть представлено в виде композиции не более трех зеркальных отражений в некоторых прямых.

Преобразования прямоугольных координат в пространстве

Получим формулы, связывающие координаты точки при переходе от одной прямоугольной системы координат в пространстве к другой прямоугольной системе координат.

Рассмотрим три типа преобразований прямоугольной системы координат:

а) параллельный перенос;

б) поворот вокруг координатной оси;

в) зеркальное отражение в координатной плоскости (изменение направления одной координатной оси на противоположное).

Составим матрицу перехода

Тогда формулу (2.7) можно записать в виде

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

Матрицы переходов в пунктах «а», «б» и «в» ортогональные (см. пункт 5 замечаний 2.3).

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

Углы Эйлера

Указанные углы называются углами Эйлера, в частности, угол называется углом прецессии, угол — углом нутации, а угол — углом чистого вращения.

Согласно пункту «б», запишем матрицы переходов от базиса к базису для указанных поворотов соответственно:

По свойству 1 (см. разд.2.2.1) получаем матрицу перехода от базиса прямоугольной системы координат к базису прямоугольной системы координат :

Отсюда следуют формулы для преобразования прямоугольных координат точки

Поскольку каждая из матриц ортогональная, то и их произведение также является ортогональной матрицей (см. пункт 5 замечаний 2.3).

Математический форум (помощь с решением задач, обсуждение вопросов по математике).

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *