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

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

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

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

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

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

х — а

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

(х - a)R

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









Новости
Аниме-трейлер Heroes of the Storm посвящён механическим обликам героев
Blizzard выпустила обещанные вместе с появлением в Heroes of the Storm огнемётчика Блэйза новые легендарные механизированные облики нескольких героев: Тираэля, Регара, Абатура и Дехаки.
45-минутная запись геймплея Metal Gear Survive
Японское подразделение IGN представило публике 45-минутную запись геймплея Metal Gear Survive – последней части знаменитой серии, а также первой, в создании которой не принимал участие Хидео Кодзима.