1.4. Способы отображения трехмерного мира на экране
Виды проекций, используемых в 3D Studio MAX 3.0
В 3D Studio MAX 3.0 используются два вида проекций: параллельные (аксонометрические) и и центральные
(перспективные). При построении аксонометрической проекции трехмерного объекта его отдельные точки
сносятся на плоскость проекции параллельным пучком лучей, а при построении центральной проекции - пучком
лучей, исходящих из одной точки, соответствующей положению глаза наблюдателя.
Плоскость аксонометрической проекции располагается перпендикулярно всей совокупности проекционных лучей, а плоскость центральной проекции - перпендикулярна только одному, центральному лучу, соответствующему линии визирования сцены. При аксонометрической проекции не происходит искажения горизонтальных и вертикальных размеров, но искажаются размеры, характеризующие «глубину» объекта. При центральной проекции оказываются искаженными все размеры объекта.
Системы координат в 3D Studio MAX 3.0
Основной для трехмерного мира 3D Studio MAX 3.0 является глобальная (world) система координат с началом в
точке (0,0,0) пространства сцены. Условно можно считать, что в виртуальном трехмерном пространстве ось Z
глобальной системы координат соответствует понятию высоты, ось Х - ширины, а ось Y - длины или глубины
сцены. Взгляд на сцену «спереди» означает наблюдение вдоль оси Y в ее положительном направлении. В
соответствии с этим, например, на проекции «вид спереди» ось Х глобальной системы координат будет
направлена вправо, ось Z - вверх по экрану, а ось Y - от наблюдателя, перпендикулярно экрану. На проекции
«вид сверху» оси глобальных координат будут располагаться так: ось Х направлена вправо, Y - вверх по
экрану, Z - на наблюдателя, перпендикулярно экрану. Плоскостями, на которых изображаются проекции объектов
сцены, по умолчанию являются три плоскости, проходящие через оси глобальной системы координат. Для
проекций «вид спереди» и «вид сзади» это будет плоскость ZX, проекций «вид сверху» и «вид снизу» -
плоскость XY, а для проекций «вид слева» и «вид справа» - плоскость ZY.
В 3D Studio MAX 3.0 есть еще одна система координат, играющая исключительно важную роль и называемая локальной (local). Такая система координат назначается каждому объекту и определяет понятия «верх», «лево» и «право» для этого объекта. Начало локальной системы координат помещается в опорную точку (pivot point) объекта, а сама опорная точка располагается для некоторых объектов в геометрических центрах их габаритных контейнеров, а для некоторых - в центре основания. Оси локальных координат объекта выравниваются параллельно сторонам его габаритного контейнера, причем ось Z указывает направление «вверх». При перемещении или повороте объекта его локальная система координат перемешается и поворачивается вместе с ним. Как бы ни был объект повернут в глобальных координатах, направлением «вверх» для него всегда остается направление оси Z локальной системы координат. Это бывает очень удобно, когда требуется переместить произвольным образом ориентированный в глобальном пространстве объект «вперед», «в сторону» или «вверх» по отношению к нему самому.
Варианты раскраски объектов трехмерного мира
Для определения яркости и цвета каждой точки поверхностей объектов в трехмерной графике используются
различные алгоритмы тонированной раскраски (shading) сетчатых оболочек. Программа 3D Studio МАХ версии
2.5 поддерживала четыре типа раскраски: постоянная (constant), no Фонгу (Phong), no Блинну (Blinn) и
металлическая (metal). В 3D Studio MAX 3.0 вариантов раскраски стало гораздо больше (см. тему 10).
При постоянной раскраске каждая грань оболочки объекта изображается как плоская площадка, яркость которой зависит от ориентации нормали нрани по отношению к направлению лучей падающего света и направлению взгляда наблюдателя.
Поскольку оболочки трехмерных объектов разбиты на треугольные грани искуственно, то необходимо принимать специальные меры, обеспечивающие сглаживание ребер между гранями. При использовании алгоритмов раскраски, отличных от постоянной (по Фонгу, по Блинну или металлической), сглаживание достигается за счет того, что ориентация нормали в каждой точке плоской грани считается переменной и рассчитывается как промежуточная между исходными ориентациями нормали данной грани и трех других граней, окружающих данную. Такой подход обеспечивает достаточно высокое качество сглаживания ребер.