Система координат

При работе с трехмерной графикой используется несколько видов систем координат. Для отображения двумерных объектов нам была нужна соответствующая система координат с двумя осями – горизонтальной осью X и вертикальной осью Y. Напомним, что экранная система координат для двумерной графики имеет начало (точку 0,0) в левом верхнем углу монитора, положительная часть оси X располагается справа от начала координат, положительная часть оси Y – снизу.

Для работы с трехмерными объектами нам понадобится еще одна ось – она называется ось Z. Существует несколько вариантов трехмерных систем координат, в частности, распространены так называемые правосторонняя и левосторонняя системы. Мы будем пользоваться правосторонней системой – она применяется в XNA Framework. Её схематичное изображение приведено на рис. 1.

Рис. 1. Правосторонняя система координат

Особенность этой системы координат заключается в том, что начало координат можно сопоставить с левым нижним углом монитора, положительная часть оси X находится справа от начала координат, положительная часть оси Y – сверху, а положительная часть оси Z – спереди. А это значит, что видимая часть оси Z – это её отрицательная часть. Эта часть оси находится как бы «в глубине монитора», в то время, как положительная часть находится «спереди монитора». На рис. 1. пунктиром изображена отрицательная часть оси Z.

В двумерной системе координат существует понятие точки – ее координаты задаются двумя значениями – X и Y. Точки существуют и в трехмерной системе координат – они задаются уже тремя значениями – X, Y, Z.

Точки используют для того, чтобы задавать координаты вершин многоугольников (полигонов), в частности – треугольников. Так, треугольник, изображенный на рис. 1., задан тремя точками – A, B, C.

Как правило, более сложные трехмерные объекты строятся именно из треугольников.

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

Чем больше треугольников использовано при построении модели – тем более детализированной она получается. Точки, соответствующие вершинам треугольника, который можно изобразить в трехмерном пространстве, называются вершинами. Возможно, вам встретится множественное число слова вершина: «вершины» выглядит по-английски как «vertices». Иногда для обозначения вершин используют кальку с английского – вертекс.

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

Несколько граней, из которых состоит трехмерный объект, называются сеткой (mesh). "Сетка" представляет собой набор треугольников.

Еще одно понятие, которое пригодится вам при работе с трехмерной графикой – это понятие вектора. Вектор (vector), так же как и точка, может быть определен тремя параметрами, однако он описывает не положение в пространстве, а направление и скорость движения.

Вектор имеет начало и конец, для его полного определения нужно знать координаты точки начала и конца вектора, то есть, вместо трех значений координат нам понадобится уже шесть значений. Однако, если по умолчанию принять за начало вектора начало координат (точку 0,0,0) – тогда для его определения хватит и трех точек.

Например, вектор с координатами (1,0,0) означает: «направление – вправо, скорость – 1». Если отложить этот вектор от начала координат, то хорошо видно, что он направлен именно вправо (рис. 2.).

Направление вектора определяется положением второй точки относительно первой (в нашем случае – положение точки конца вектора, которой задается вектор относительно начала координат), а скорость – длиной вектора – то есть – разницей между начальной и конечной точкой. В нашем случае длина вектора совпадает с координатами его конца.

Рис. 2. Вектор (1,0,0)

Существует особый вид векторов – нормали (normals). Нормали могут быть построены для граней и для вершин объекта. Нормали для граней перпендикулярны этим граням. Они используются при расчете цвета объекта.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: