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

Сочетание преобразований

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

Можно совместить две матрицы вращения в одну, как показано на рисунке 4.10. Предположим, что нам нужно выполнить два поворота. Назовем их Rj^ и R2. Пусть угол поворота R^ (в) равен 45°, а угол поворота R2 равен 30°. Эти повороты можно объединить, просуммировав углы. В результате будет выполнен поворот на 75°.

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

Масштабирующие преобразования можно сочетать точно так же, как и повороты. Если промасштабировать объект сначала с коэффициентом 2, а потом еще раз - с коэффициентом 3, то результат будет тот же, что и при одном масштабировании с коэффициентом 6. Другими словами, если Sx = 21 и S2 = 31, то SjS2 = 61. Это демонстрирует рисунок 4.11.

Можно объединить поворот и масштабирование. Предположим, что RS - это поворот, после которого следует масштабирование, a SR - это масштабирование, после которого следует поворот. Хотя последовательность выполнения отдельных поворотов в группе поворотов и порядок выполнения масштабирований в группе масштабирований не играет роли в двумерных системах координат, порядок выполнения комбинированных поворотов и масштабирований может оказаться важным, если sx 5* sy в масштабирующих преобразованиях. Чтобы убедиться в этом, взгляните









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