Pull to refresh

Comments 6

Почему в 3Д-графике для поворота и переноса используются матричные операции, а в системах навигации кватернионы? Ведь они описывают одно и то же? Если мы моделируем движение самолёта в 3Д-сцене матаппарат должен быть тем же, что и в системе навигации?

Кватернионы описывают только повороты (хотя и делают это более эффективно).

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

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

Да, верно. Матрицы ещё масштабировать позволяют, а самолёту в полёте масштабироваться не надо :-) Мог бы и сам догадаться :-) Спасибо

В системах навигации не разбираюсь. Про 3д графику могу сказать что ограничений на использование матриц нет. Движение самолёта можно смоделировать как матрицами так и кватернионами. Шейдерные языки заточены на использование матриц, но можно дописать функции работы с кватернионами. Например, файлы md5 используют кватернионы в описании костей модели.

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

Вспомнил ещё, что кватернионы не страдают от Gimbal Lock и SLERP'ом можно плавно интерполировать их значения.

Sign up to leave a comment.

Articles