Комментарии 6
Почему в 3Д-графике для поворота и переноса используются матричные операции, а в системах навигации кватернионы? Ведь они описывают одно и то же? Если мы моделируем движение самолёта в 3Д-сцене матаппарат должен быть тем же, что и в системе навигации?
Кватернионы описывают только повороты (хотя и делают это более эффективно).
А вот матричные операции, и не какие попало, а в однородных координатах - потому что таким образом можно унифицировано работать с поворотом, сдвигом и проективным преобразованием (то проецирует точки трёхмерного пространства на плоский экран).
И конечно же задачи моделирования и отображения - разные, и их можно решать с помощью разных инструментов.
В системах навигации не разбираюсь. Про 3д графику могу сказать что ограничений на использование матриц нет. Движение самолёта можно смоделировать как матрицами так и кватернионами. Шейдерные языки заточены на использование матриц, но можно дописать функции работы с кватернионами. Например, файлы md5 используют кватернионы в описании костей модели.
Если же размышлять о системах навигации, то там вероятно свои задачи для которых выгодно использовать кватернионы. Могу предположить для экономии места на накопителях данных.
Вспомнил ещё, что кватернионы не страдают от Gimbal Lock и SLERP'ом можно плавно интерполировать их значения.
О трёхмерной графике в GMS2. Часть 2 из 2