Программирование графики с использованием Direct3D

       

Векторы


Вектор (vector), подобно точке, определяется тремя значениями, но вектор описывает направление и скорость, а не расположение в пространстве.

Возьмем для примера значения <0, 1, 0>. Если мы считаем эти числа описанием точки, тогда они указывают на место, расположенное на одну единицу выше начала координат (единицы выберите сами: сантиметры, мили, или что-то еще). Однако если мы считаем эти три числа описанием вектора, вместо местоположения мы получаем направление и скорость. В нашем случае направление — вверх и скорость 1. Представление векторов тройкой чисел несколько упрощено, поскольку в действительности для описания вектора необходимо шесть чисел: три для начальной точки и три для конечной. Это дает нам направление (ориентация второй точки относительно первой) и скорость (расстояние между двумя точками). Вектор может быть описан тремя числами, только если подразумевается, что его начальная точка совпадает с началом координат <0, 0, 0>.

Давайте взглянем на другой вектор: <2, 0, 0>. Этот вектор определяет направление вправо, потому что начинается в точке <0, 0, 0> и идет вправо вдоль оси X на две единицы. Поскольку вектор <2, 0, 0> представляется отрезком в два раза длиннее вектора <0, 1, 0>, скорость, определяемая вектором <2, 0, 0>, в два раза больше скорости, определяемой вектором <0, 1, 0>. На рис. 2.4 показаны два только что рассмотренных вектора.


Рис. 2.4. Вектор <0, 1, 0> и вектор <2, 0, 0>

Важно помнить, что векторы и точки — различные понятия. Точка определяет положение в пространстве, а вектор нет. Местоположение используется, чтобы определить вектор, но не наоборот (вектор не определяет местоположения). Векторы на рис. 2.4 расположены в начале координат, потому что они так представлены в цифровом виде, однако эти стрелки могли бы быть расположены в любом другом месте координатной системы.



Содержание раздела