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

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

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

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

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

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

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






Новости
Антивирусы и облачные сервисы портят сохранения Dark Souls Remastered
Вчера комьюнити-менеджер Bandai Namco под ником Izmar подтвердил проблему в Steam, посоветовав ограничить доступ антивирусов и других программ вроде облачных сервисов Google и Amazon к файлам ремастера Dark Souls.
Facebook анонсировала новую игровую платформу с интерактивными видео
«Facebook анонсировала несколько новых функций видеотрансляций, которые позволят пользователям сделать свои прямые трансляции похожими на игры с опросами и викторинами», — отмечает The Verge.