Конгер Д.
Физика для разработчиков компьютерных игр
стр. 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 в масштабирующих преобразованиях. Чтобы убедиться в этом, взгляните









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