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

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

ПОВОРОТ ВОКРУГ ПРОИЗВОЛЬНОЙ точки

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

Чтобы сделать это, нужно сначала перенести в начало координат точку, вокруг которой будет выполняться вращение всех точек, которые вы хотите повернуть - как показано на рисунке 4.5.

Если а - вектор смещения от начала координат к центру вращения, а х — вектор смещения от центра вращения до поворачиваемой точки, то первый шаг в повороте точки - перемещение центра вращения в начало координат по формуле

х — а

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

(х - a)R

И, наконец, нужно переместить центр вращения (и, соответственно, поворачиваемую точку) обратно в исходную позицию, сложив ее вектор смещения с вектором а. Этот шаг показан на рисунке 4.7. Вот общая формула поворота точки относительно центра вращения а.









Новости
Вышел новый тизер Project Melies от разработчиков Layers of Fear
Bloober Team и Gun Media представили новый тизер хоррора Project Melies, посвящённого немому кино.
В популярной игре спрятали кошелек с деньгами
Как написал Криси в своем блоге на Hackernoon, пароль от кошелька был разделен на две части и спрятан на две разные планеты виртуальной вселенной No Man’s Sky.