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

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

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

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

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

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

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






Новости
«Мясной» экшен Redeemer: Enhanced Edition задержится до осени
Издательство «Бука» и студия Sobaka объявили о том, что кровавый экшен Redeemer: Enhanced Edition, ранее запланированный к выходу в августе, был отложен на осень.
Steam-версия Orwell бесплатна до завтра
Игру можно забрать в течение суток, получив ключ для активации в Steam.