nabbla (nabbla1) wrote,
nabbla
nabbla1

Category:

кватернион vs матрица поворота одной картинкой

Небольшая иллюстрация к нашему талмуду.



Качественнее? Да, хотя и кассета CrO2 с компандером (например, Dolby B) может звучать очень круто, и мы не говорим про катушки, особенно с высокой скоростью протяжки. Интегрирование угловых скоростей с помощью кватернионов методом первого порядка в 4 раза точнее (всего-то на 12 дБ), чем при интегрировании матрицами поворота, ПРИ ТОМ ЖЕ ШАГЕ. Но требуемой точности мы так или иначе добьёмся обеими методами.

Компактнее? Ну тут вообще как посмотреть. По объёму - вроде да, но кассета в карман лучше помещается! Интегрировать угловые скорости проще кватернионами, но вот поворачивать векторы эффективнее с помощью матрицы поворота. А ведь в конечном итоге нам всё равно надо векторы крутить!

Но у компакт-диска есть совершенно потрясающая особенность:


мы можем переписывать музыку с диска на диск сколько угодно раз, и при должном усердии (использовании EAC и пр) будем раз за разом получать ОДНО И ТО ЖЕ, без ухудшения качества. С кассетой такой фокус, разумеется, не проходит.

Матрица поворота, если её непрерывно модифицировать (добавлять малые повороты), начинает "протухать" (перестаёт быть матрицей поворота, становится матрицей общего вида), и отреставрировать её почти также сложно, как старую аудиозапись - да, есть различные плагины для удаления шумов, тресков, гула переменного тока, но всегда вместе с удалением мешающего сигнала мы избавляемся и от полезного сигнала. И речь идёт о СЕРЬЁЗНЫХ вычислительных затратах, будь то восстановление аудио или приведение матрицы к ортонормированному виду.

Кватернионы здесь сродни компакт-дискам: сколько их не мучай, они продолжают выражать поворот, и не что иное. Разве что нужно поддерживать их единичную норму, но это просто.
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 

  • 9 comments