Задание сферических координат
Элементы трехмерной компьютерной графики
Когда обсуждаются возможности и задачи компьютерной графики, то в самом названии «трехмерная графика» заложено указание на то, что при работе в этой области и решении ее проблем необходимо использовать три пространственных измерения: ширину, высоту и глубину. Кроме того, заметим, что термин «трехмерная графика» в определенной степени является искажением истины, поскольку на деле трехмерная компьютерная графика является образом, созданного двумя проекциями воображаемого трехмерного мира на двухмерной видовой поверхности - экран дисплея, бумага на поле графопостроителя и т.п.
Система координат
Трехмерное пространство – это куб в кибернетическом пространстве, созданного в памяти компьютера, управляемого соответствующими программными пакетами. Кибернетическое пространство отличается от реального физического мира тем, что создается и существует только в памяти компьютера, благодаря действию специального программного обеспечения.
Однако, подобно реальному пространству, трехмерное кибернетическое пространство также неограниченно велико и чтобы не потерять в нем свои объекты, задача решается с помощью координат.
Наименьшей областью трехмерного пространства, которая может быть занята каким-то объектом, является точка, Положение каждой точки определяется тройкой чисел, называемых координатами. Примером координат может служить тройка чисел (0, 0, 0), определяющая центральную точку трехмерного пространства, называемую началом координат.
Каждая точка трехмерного пространства имеет три координаты, из которых одна определяет ширину, вторая высоту третья – глубину.
Через начало координат можно провести три координатные оси киберпространства. Координатная ось – это воображаемая линия пространства, определяющая направление изменения координаты.
В компьютерной графике используют ортогональную (декартову), относительную, цилиндрическую, сферическую и полярную систему координат, первая из которых получила наибольшее распространение.
В декартовой системе координат точка пересечения трех осей (X, Y, Z) с координатами (0, 0, 0) – это точка начала координат. Если нанести точку от начала координат «вправо» по оси X, то у этой точки будут координаты (1, 0, 0). Следующей точкой при смещении на единицу в этом же направлении будет точка (2, 0, 0) и т.д. Далее, если двигаться вдоль оси X «влево» от начала координат, то при смещении на единицу достигается точка с координатами (-1, 0, 0), смещение еще на единицу – точки (-2, 0, 0) и т.д.
Сказанное остается справедливым и для остальных координатных осей.
Достаточно часто встречается понятие левосторонняя или правосторонняя система координат, что соответственно определяется следующим соглашением. Правосторонней считается систем координат, для которой положительными считаются такие повороты, при которых ( если смотреть с конца положительной полуоси в направлении начала координат) поворот на 900 против часовой стрелки будет переводить одну положительную полуось в другую. На основе этого соглашения строится таблица, справедливая как для правых, так и для левых систем координат.
Ось вращения | Положительным будет направление поворота |
x | от y к z |
y | от z к x |
z | от x к y |
Левосторонняя система координат чаще используется в трехмерной графике, так как ее легче представить наложенной на поверхность экрана дисплея. Это позволяет естественно интерпретировать тот факт, что точки с большим значением Z находятся дальше от наблюдателя. Заметим, что в этой системе положительные повороты будут повороты, выполняемые по часовой стрелке, смотреть с положительного конца полуоси в направлении начала координат.
Задание цилиндрических координат
Задание цилиндрических координат аналогично заданию полярных координат на плоскости. Дополнительно появляется значение, определяющее координату z по оси Z, перпендикулярной плоскости XY. Цилиндрические координаты описывают расстояние от начала системы координат (или от предыдущей точки в случае относительных координат) до точки на плоскости XY , угол относительно оси X и расстояние от точки на плоскости XY. Угол задается в градусах.
Задание сферических координат
Ввод сферических координат в трехмерном пространстве также аналогичен вводу полярных координат на плоскости. Положение точки определяется ее расстоянием от начала координат, углом к оси X в плоскости XY и углом к плоскости XY. Угол задается в градусах.
В компьютерной графике нашла применение текстурная координатная система, используемая при наложении текстур на объект. В ней вектор V описывает направление (ориентацию) текстуры и лежит вдоль оси Z. Вектор U обычно лежит вдоль оси Y с началом в (0, 0, 0).