Конгер Д.
Физика для разработчиков компьютерных игр
стр. 236

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

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

Теперь продифференцируем R по времени. Вы обнаружите, что  где есть матрица вида

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

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

Такой подход хорош для обработки поворотов в играх. В нем просто разобраться, и он использует все те же операции умножения матриц, которые мы использовали все время. Эти операции можно оптимизировать, чтобы повысить скорость. Это неплохой выбор.






Новости
Геймеры собирают деньги на помощь русским сиротам
Сервис Humble Store и компания Tripwire Interactive поддержат организацию Change30. Британцы предоставляют помощь русским сиротам.
Слух: На E3 2018 покажут Cyberpunk 2077
Крупное польское видеоигровое издание GRYOnline сообщило о том, что, согласно их собственным источникам в компании, CD Projekt Red готовит к E3 2018 новый трейлер Cyberpunk 2077.