
ALL
.pdf
АКСОНОМЕТРИЧЕСКИЕ И ИЗОМЕТРИЧЕСКИЕ ОРТОГОНАЛЬНЫЕ ПРОЕКЦИИ
•Наиболее распространенной аксонометрической проекцией является изометрическая, которая получается таким согласованием плоскости проекции (или объекта), при котором эта плоскость пересечет все координатные оси, по которым определен объект (называются главными осями), на одинаковом расстоянии от начала координат. На рис. 7.25 показана изометрическая проекция куба. Чтобы получить эту проекцию, вектор нормали к плоскости наблюдения выравнивается вдоль диагонали куба. Всего существует восемь точек (по одной в каждом октанте), в которых можно получить изометрическую проекцию. На изометрической проекции все три главные оси сокращены одинаково, поэтому сохраняются относительные пропорции.
•Для общей аксонометрической проекции подобное утверждение неверно, здесь масштабные коэффициенты могут быть разными в трех главных направлениях.
•Рис. 7.24. Ортогональное проектирование объекта с изображением вертикальной и горизонтальной проекций
•Рис. 7.25. Изометрическая проекция куба

АКСОНОМЕТРИЧЕСКИЕ И ИЗОМЕТРИЧЕСКИЕ ОРТОГОНАЛЬНЫЕ ПРОЕКЦИИ
•Рис. 7.26. Ортогональная проекция точки пространства на плоскость наблюдения
•КООРДИНАТЫ ОРТОГОНАЛЬНОЙ ПРОЕКЦИИ
•Когда направление проектирования параллельно оси zview, уравнения преобразования ортогональной проекции тривиальны. Для любой точки (x; y; z) в координатах наблюдения, как показано на рис. 7.26, координаты проекции выражаются так:
•xp = x; yp = y: (7.6)
•Напомним, что при любом преобразовании проектирования значение координаты z записывается для использования в процедурах определения видимости. Кроме того, каждая трехмерная точка сцены преобразуется в точку в нормированном пространстве.


ОТСЕКАЮЩЕЕ ОКНО И ОБЪЕМ НАБЛЮДЕНИЯ ОРТОГОНАЛЬНОЙ ПРОЕКЦИИ
•Размер ортогонального объема наблюдения по оси zview можно ограничить, выбрав положение одной или двух дополнительных граничных плоскостей, параллельных плоскости наблюдения. Данные две плоскости называются ближней/дальней плоскостями отсечения или передней/задней плоскостями отсечения. Ближняя и дальняя плоскости позволяют исключать объекты, находящиеся перед или позади части сцены, которую требуется отобразить. Если наблюдение ведется по отрицательному направлению оси zview, обычно выбирается zfar <znear, так что дальняя плоскость лежит дальше по отрицательному направлению оси zview.
•Рис. 7.29. Конечный ортогональный объем
•наблюдения отсекается плоскостью
•наблюдения перед ближней плоскостью
•
• Если ближняя и дальняя плоскости заданы, объем наблюдения, представляющий собой прямоугольный параллелепипед, как показано на рис. 7.29, где также представлено одно возможное расположение плоскости наблюдения. В данном случае проекция сцены будет содержать только те объекты, которые принадлежат объему наблюдения, а все части сцены вне этого объема удаляются алгоритмами отсечения.
•Вообще, ближняя и дальняя отсекающие плоскости могут располагаться произвольным образом по отношению друг к другу, что позволяет получать различные эффекты наблюдения, в том числе изображать точки, расположенные на противоположных сторонах от точки наблюдения. Аналогично плоскость наблюдения можно иногда установить в любом положении относительно ближней и дальней отсекающих плоскостей, хотя часто она выбирается совпадающей с ближней плоскостью отсечения. Впрочем, наличие множества
альтернатив размещения отсекающих плоскостей и плоскости проекции обычно приводит к



НОРМИРОВКА ОРТОГОНАЛЬНОЙ ПРОЕКЦИИ
•На данную матрицу справа множится матрица сложного преобразования наблюдения R T (раздел 7.4), в результате чего находится полное преобразование из внешних координат в нормированные координаты ортогональной проекции.
•На этом этапе конвейера наблюдения все аппаратнонезависимые преобразования координат завершены, и их можно свернуть в одну сложную матрицу. Поэтому процедуры отсечения эффективнее всего выполнить перед преобразованием нормировки.
•После отсечения могут вызываться процедуры проверки видимости, визуализации поверхностей и преобразований поля просмотра, с помощью которых генерируется конечное изображение сцены на экране.
•Рис. 7.32. Косоугольная параллельная проекция куба, показанного как вид сверху на панели а, дает проекцию (панель б), содержащую несколько поверхностей куба
•Рис. 7.33. Косоугольная параллельная проекция точки (x; y; z) в точку (xp; yp; zvp) на плоскости проекции, которая характеризуется положением zvp вдоль оси zview

ОТСЕКАЮЩЕЕ ОКНО И ОБЪЕМ НАБЛЮДЕНИЯ КОСОУГОЛЬНОЙ ПАРАЛЛЕЛЬНОЙ ПРОЕКЦИИ
•Объем наблюдения косоугольной параллельной проекции задается с использованием тех же процедур, что и при ортогональной проекции. Вначале выбирается отсекающее окно на плоскости наблюдения; левый нижний и правый верхний углы отсекающего прямоугольника имеют координаты (xwmin; ywmin) и (xwmax; ywmax).
•Затем определяются верхняя, нижняя и боковые стороны объема наблюдения, для чего используется направление проекции и стороны отсекающего окна. Кроме того, объем наблюдения можно ограничить, добавив ближнюю плоскость и дальнюю плоскость, как показано на рис. 7.38. Окончательно объем наблюдения косоугольной параллельной проекции представляет собой наклонный параллелепипед.
•Косоугольные параллельные проекции могут затрагиваться изменением положения плоскости наблюдения, в зависимости от того, как задано направление проекции. В некоторых системах направление косоугольной параллельной проекции параллельно линии, соединяющей опорную точку с центром отсекающего окна. Следовательно, если менять положение плоскости наблюдения или отсекающего окна при фиксированной опорной точке, будет меняться и форма объема наблюдения.
Рис. 7.38. Вид сверху конечного объема наблюдения для косоугольной параллельной проекции в направлении вектора Vp

МАТРИЦА КОСОУГОЛЬНОЙ ПАРАЛЛЕЛЬНОЙ ПРОЕКЦИИ
•Подставляя параметры вектора проекции в уравнения (7.12), элементы матрицы косоугольной параллельной проекции можно выразить следующим образом:
•Под действием данной матрицы значения координат x и y смещаются на величину, пропорциональную расстоянию от плоскости наблюдения, которая проходит на расстоянии zvp по оси zview. Значения z точек не меняются. Если Vpx = Vpy = 0, получаем ортогональную проекцию, и матрица (7.13) сводится к единичной.
•Для произвольной косоугольной параллельной проекции матрица (7.13) представляет преобразование сдвига относительно оси z. Все точки косоугольного объема наблюдения сдвигаются на величину, пропорциональную их расстоянию от плоскости наблюдения. Целью является сдвиг косоугольного объема наблюдения в прямоугольный параллелепипед, как видно на рис. 7.39. Таким образом, точки внутри объема наблюдения сдвигаются в точки ортогональной проекции под воздействием косоугольной параллельной проекции.
Рис. 7.39. Вид сверху косоугольного параллельного преобразования. Косоугольный объем наблюдения переходит в прямоугольный параллелепипед, и такие объекты в объеме наблюдения, как зеленый прямоугольник, отображаются в координаты ортогональной проекции

ПЕРСПЕКТИВНЫЕ ПРОЕКЦИИ
•Рис. 7.40. Перспективная проекция двух отрезков равной длины, расположенных на различных расстояниях от плоскости наблюдения
•Рис. 7.41. Перспективная проекция точки P с координатами (x; y; z) в выбранный центр проекции. Точка пересечения с плоскостью наблюдения имеет координаты (xp; yp; zvp)
•Хотя параллельную проекцию сцены легко сгенерировать и сохранить относительные пропорции объектов, она нереалистична.
Чтобы сымитировать изображение, даваемое камерой, необходимо рассмотреть отраженные лучи света на сцене, идущие по траекториям, которые сходятся на пленке камеры. Данное явление, описываемое геометрической оптикой, можно аппроксимировать, спроектировав объекты на плоскость наблюдения вдоль траекторий, сходящихся в точку, называемую центром проекции. После этого объекты отображаются с учетом ракурса, а проекции удаленных объектов меньше проекций объектов того же размера, но расположенных ближе к плоскости наблюдения (рис. 7.40).