Подтвердить что ты не робот

Когда мне нужно использовать кватернионы?

Я много лет выполняю 2D и 3D операции, включая графику, и никогда не использовал кватернионы, поэтому я не чувствую их. Я знаю, что они могут использоваться для определенных операций, которые являются трудными в углах Эйлера, а также для того, чтобы их можно было найти, чтобы найти поворот, необходимый для наилучшего соответствия одному набору координат (X1, X2... XN, X = (xyz)) на другое (X1 ', X2'... XN ').

Существуют ли места, где важны кватернионы? И есть ли места, где они делают решения более элегантными или более эффективными?

4b9b3361

Ответ 1

Они имеют меньшую площадь памяти, чем матрицы вращения, и они более эффективны, чем представления матрицы и угла/оси.

также:

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

Ответ 2

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

Ответ 3

Кватернионы имеют много преимуществ по углам Эйлера и часто предпочтительнее для трехмерных вращений:

  • Простая (и четко определенная) интерполяция между кватернионами (или: ориентациями): результирующее движение имеет постоянную скорость angular вокруг одной оси, что часто эстетически более приятно. Этот процесс называется "slerp" и критическим для смешивания анимации/вращения. Кроме того, интерполяция кватернионов не страдает от блокировок Gimbal.
  • Их легко перенормировать.

Недостатки:

  • Основным недостатком является то, что они требуют немного больше математики и менее интуитивно понятны, чем углы Эйлера/Кардана.
  • По сравнению с аффинными матрицами преобразования, кватернионы содержат только поворот, а не перевод и масштабирование.

Ответ 4

Плюсы кватернионов

  • Быстрое умножение
  • Быстрое преобразование в/из матрицы
  • Избегайте дополнительных (от вычисления) шума (масштаб, сдвиг) и представляйте чистое вращение
  • Простая интерполяция вращения, в пользовательском случае для анимации в реальном времени может использоваться линейная интерполяция.
  • Доступны некоторые сложные операции, интеграция с быстрым вращением, разворачивание разворачивания разворота

Cons.

  • Преобразование вектора происходит не так быстро, как с матрицей 3x3.
  • Содержит 4 скалярных, но компактное представление вращения может использовать только 3.

Ответ 5

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

Ответ 6

По сравнению с углами Эйлера они проще компоновать и избегать проблемы с кардановым замком.

По сравнению с матрицами вращения они более численно устойчивы и представление (4 числа) более компактно.