Введение в программирование трехмерных игр с DX9



         

Основные преобразования - часть 2


Это позволяет корректно выполнять перемещение точки. Поскольку вектор не зависит от местоположения, операция перемещения векторов не определена и результат попытки переместить вектор не имеет смысла. Чтобы предотвратить перемещение векторов мы, помещая компоненты вектора в вектор-строку 1 × 4, присваиваем компоненте w значение 0. Например, точка p = (p1, p2, p3), помещенная в вектор-строку 1 × 4 будет выглядеть как [p1, p2, p3, 1], а вектор v = (v1, v2, v3), помещенный в вектор-строку 1 × 4 будет выглядеть как [v1, v2, v3, 0].

ПРИМЕЧАНИЕ

Мы устанавливаем w = 1 чтобы корректно осуществлялось перемещение точек. Мы устанавливаем w = 0, чтобы предотвратить перемещение векторов. Это станет более ясно, когда мы рассмотрим реальную матрицу переноса.

ПРИМЕЧАНИЕ

Дополненный четырехмерный вектор называется однородным вектором (homogenous vector) и, поскольку однородный вектор может описывать и точки и векторы, мы будем использовать термин «вектор», подразумевая, что он может относиться как к точке, так и к вектору.

Иногда в результате преобразований компонента w вектора будет меняться таким образом, что w ≠ 0 и w ≠ 1. Взгляните на следующий пример:




Содержание  Назад  Вперед