nabbla (nabbla1) wrote,
nabbla
nabbla1

Category:

Ликбез по кватернионам, часть 8 1/2: ортонормирование матрицы и уравнения Пуассона

Часть 1 - история вопроса
Часть 2 - основные операции
Часть 3 - запись вращения через кватернионы
Часть 4 - кватернионы и спиноры; порядок перемножения
Часть 5 - практическая реализация поворота
Часть 5 1/2 - введение метрики, "расстояния" между поворотами
Часть 6 - поворот по кратчайшему пути
Часть 6 1/4 - кратчайший поворот в общем случае
Часть 6 2/4 - поворот, совмещающий два направления
Часть 6 3/4 - кватернион из синуса и косинуса угла
Часть 7 - интегрирование угловых скоростей, углы Эйлера-Крылова
Часть 8 - интегрирование угловых скоростей, матрицы поворота
Часть 8 1/2 - ортонормирование матрицы и уравнения Пуассона
Часть 9 - интегрирование угловых скоростей с помощью кватернионов
Часть 10 - интегрирование угловых скоростей, методы 2-го порядка
Часть 11 - интегрирование угловых скоростей, методы высших порядков (в разработке)
Часть 12 - навигационная задача
Часть 13 - Дэвенпорт берёт след!
Часть 14 - линейный метод Мортари-Маркли
Часть 15 - среднее от двух кватернионов
Часть 15 1/2 - проверка и усреднение кватернионов
Часть 16 - разложение кватерниона на повороты

Ещё пара замечаний по матрицам поворота.

В статье (http://people.csail.mit.edu/bkph/articles/Nearest_Orthonormal_Matrix.pdf ) приводится метод нахождения ортогональной матрицы, наиболее близкой к имеющейся, по крайней мере в смысле нормы Фробениуса (т.е близость матриц оценивается суммой квадратов разностей их компонентов). Метод довольно сложный - он требует довольно экзотической операции "извлечение квадратного корня из матрицы", что, в свою очередь, требует нахождения собственных значений и собственных векторов. Автор не обещает, что получившийся базис вообще будет правым, он может в особо запущенных случаях оказаться левым (такая матрица будет выражать не поворот, а отражение от некоторой плоскости), и вообще, всячески оправдывается - "я это сделал чисто по приколу, никому не советую это использовать, лучше считайте в кватернионах и не выпендривайтесь!"

Упомянём ещё один довольно экзотический метод описания поворотов (или ориентации в пространстве, что то же самое), требующий шести чисел. Мы берём первые два столбца матрицы – два базисных вектора связанной системы координат – поскольку третий может быть в любой момент восстановлен с помощью векторного произведения первых двух. Тогда "лишних" переменных остаётся всего три, и нужно 3 уравнения связи: оба вектора должны иметь единичную длину и располагаться перпендикулярно друг к другу. Путём некоторого усложнения метода интегрирования удаётся поддерживать эти условия. За подробностями отсылаю всё к той же книге Бранца и Шмыглевского «Применение кватернионов в задачах ориентации твердого тела (1973)».
«Как нетрудно догадаться» (© Ландау-Лифшиц), нас интересует §4.7 «Стабилизация модуля и угла в уравнениях Пуассона».
Tags: кватернионы-это просто (том 1), математика, моделирование, работа
Subscribe

  • Нахождение двух самых отдалённых точек

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

  • Слишком общительный счётчик

    Вчера я чуть поторопился отсинтезировать проект,параметры не поменял: RomWidth = 8 вместо 7, RamWidth = 9 вместо 8, и ещё EnableByteAccess=1, чтобы…

  • Балансируем конвейер QuatCore

    В пятницу у нас всё замечательно сработало на симуляции, первые 16 миллисекунд полёт нормальный. А вот прошить весь проект на ПЛИС и попробовать "в…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 3 comments