Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ALL

.pdf
Скачиваний:
278
Добавлен:
12.02.2018
Размер:
15.74 Mб
Скачать

НОРМИРОВКА ОРТОГОНАЛЬНОЙ ПРОЕКЦИИ

Преобразования координат можно свернуть в одну сложную матрицу. Поэтому процедуры отсечения эффективнее выполнить перед преобразованием нормировки.

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

ОТСЕКАЮЩЕЕ ОКНО И ОБЪЕМ НАБЛЮДЕНИЯ КОСОУГОЛЬНОЙ ПАРАЛЛЕЛЬНОЙ ПРОЕКЦИИ

На косоугольные параллельные проекции влияют изменения положения плоскости наблюдения, в зависимости от того, как задано направление проекции.

Объем наблюдения косоугольной параллельной проекции задается с использованием тех же процедур, что и при ортогональной проекции. Вначале выбирается отсекающее окно на плоскости наблюдения; левый нижний и правый верхний углы отсекающего прямоугольника имеют координаты (xwmin; ywmin) и (xwmax; ywmax).

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

Рис. 7.38. Вид сверху конечного объема наблюдения для косоугольной параллельной проекции в направлении вектора Vp

МАТРИЦА КОСОУГОЛЬНОЙ ПАРАЛЛЕЛЬНОЙ ПРОЕКЦИИ

Элементы матрицы косоугольной

параллельной проекции можно выразить так :

Под действием матрицы значения координат

x и y смещаются на величину, пропорциональную

расстоянию от плоскости наблюдения,

которая проходит на расстоянии zvp по оси zview.

Значения z точек не меняются.

Если Vpx = Vpy = 0, получаем ортогональную проекцию, и матрица сводится к единичной.

Для произвольной косоугольной параллельной проекции матрица представляет преобразование сдвига относительно оси z.

Все точки косоугольного объема наблюдения сдвигаются на величину, пропорциональную их расстоянию от плоскости наблюдения. Целью является сдвиг косоугольного объема наблюдения в прямоугольный параллелепипед (рис.). Точки внутри объема сдвигаются в точки ортогональной проекции под воздействием косоугольной параллельной проекции.

Рис. 7.39. Вид сверху косоугольного параллельного преобразования. Косоугольный объем наблюдения переходит в прямоугольный параллелепипед, и такие объекты в объеме наблюдения, как зеленый прямоугольник, отображаются в координаты ортогональной проекции

ПЕРСПЕКТИВНЫЕ ПРОЕКЦИИ

Чтобы сымитировать изображение, даваемое камерой, необходимо рассмотреть отраженные лучи света на сцене, идущие по траекториям, которые сходятся на пленке камеры.

Данное явление, описываемое геометрической

оптикой, можно аппроксимировать,

• Рис. Перспективная проекция двух отрезков

спроектировав объекты на плоскость

равной длины, расположенных на

наблюдения вдоль траекторий, сходящихся в

различных расстояниях от плоскости

точку, называемую центром проекции.

наблюдения

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

Рис. Перспективная проекция точки P с координатами (x; y; z) в выбранный центр проекции. Точка пересечения с плоскостью наблюдения имеет координаты (xp; yp; zvp)

Рис. Перспективная проекция объекта сверху вниз, когда центр проекции лежит между объектом и плоскостью наблюдения

Перспективные проекции

Рис. 1 Изменение эффектов перспективы из-за удаления центра проекции от плоскости наблюдения. Разница размеров ближних и дальних объектов уменьшается. Если центр очень далеко, перспективная проекция переходит в параллельную.

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

Любые параллельные линии сцены, которые при этом не параллельны плоскости наблюдения, проектируются в сходящиеся линии, как показано на рис. 3. Точка, в которую сходятся проекции параллельных прямых, называется точкой схождения.

Каждый набор проекций параллельных прямых имеет свою точку схождения.

Если набор линий параллелен одной из главных осей объекта, соответствующая точка схождения называется главной точкой схождения.

Число главных точек схождения (одна, две или три) можно контролировать, выбирая ориентацию плоскости проекции.

Рис. 3. Главные точки схождения перспективных проекций куба. Когда куб (а) проектируется на плоскость, пересекающую только ось z, генерируется только одна точка схождения, расположенная на оси z (б). Когда куб проектируется на плоскость, пересекающую оси z и x, получаются две точки схождения (в)

ОБЪЕМ НАБЛЮДЕНИЯ ДЛЯ ПЕРСПЕКТИВНОЙ ПРОЕКЦИИ

Объем наблюдения задается через положение прямоугольного отсекающего окна на плоскости наблюдения

Граничные плоскости объема наблюдения не параллельны, поскольку не параллельны линии проекции.

Верхней, нижней и боковыми сторонами объема наблюдения являются плоскости, проходящие через стороны окна и центр проекции (рис.). Все объекты вне данной пирамиды удаляются.

Рис. Бесконечный пирамидальный объем

Добавляя ближнюю и дальнюю плоскости наблюдения перспективной проекции

отсечения, перпендикулярные оси zview (и параллельные плоскости наблюдения), мы отсекаем части бесконечного объема наблюдения перспективной проекции и получаем усеченную пирамиду объема наблюдения. На рис. 2 -форма конечного объема наблюдения перспективной проекции при плоскости наблюдения между ближней отсекающей плоскостью и центром проекции.

Обычно ближняя, и дальняя отсекающие плоскости

находятся с одной стороны от центра проекции, • Рис. 7.46. Пирамидальный объем

дальняя расположена дальше по направлению

наблюдения перспективной проекции, когда

плоскость наблюдения расположена перед

наблюдения от центра. Если плоскость находится

ближней отсекающей плоскостью

позади центра, объекты переворачиваются.

 

МАТРИЦА ПЕРСПЕКТИВНОЙ ПРОЕКЦИИ

Можно задать матрицу преобразования, под действием которой точка пространства переводится в однородные координаты, чтобы матрица содержала только перспективные параметры, и не содержала координат.

Преобразование перспективного проектирования точки, определенной в координатах системы наблюдения, выполняется в два этапа. Вначале с помощью указанной ниже матрицы преобразования вычисляются однородные координаты.

Ph = Mpers P;

где Ph представление однородной точки (xh; yh; zh; h) в виде вектора-столбца, а P векторстолбец, представляющий точку (x; y; z; 1).

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

Затем после применения других процессов (таких, как преобразование нормировки и процедуры отсечения) однородные координаты делятся на параметр h, и в результате получаются собственно точки в преобразованных координата

Как задать элементы матрицы для получения значений xh и yh в однородных координатах из уравнения, понятно, но, кроме того, нужно структурировать матрицу так, чтобы сохранить информацию о глубине (z). В противном случае координаты z исказятся параметром однородного деления h. Для этого можно так задать элементы матрицы, отвечающие за преобразование координаты z, чтобы нормировать координаты zp перспективной проекции.

МАТРИЦА ПЕРСПЕКТИВНОЙ ПРОЕКЦИИ

Существует несколько способов выбора элементов матрицы для получения однородных координат и нормированного значения zp для точки (x; y; z). Одно из возможных решений дает следующая матрица перспективной проекции.

Параметры sz и tz это коэффициенты масштабирования и трансляции для нормировки спроектированных значений координат z. Заданные значения sz и tz зависят от выбранного диапазона нормировки.

Под действием матрицы описание сцены переводится в однородные координаты параллельной проекции.

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

Так бывает в том случае, когда пирамидальный объем наблюдения перспективной проекции несимметричен.

Если пирамидальный объем наблюдения перспективной проекции симметричен, получающиеся координаты параллельной проекции соответствуют ортогональной проекции.

СИММЕТРИЧНАЯ ПИРАМИДА ПЕРСПЕКТИВНОЙ ПРОЕКЦИИ

Линия, проходящая через центр проекции и центр отсекающего окна по объему наблюдения, - средняя линия пирамиды перспективной проекции.

Если средняя линия перпендикулярна плоскости наблюдения, имеем симметричную усеченную пирамиду (симметрична относительно средней линии), рис.

Т.к. средняя линия пирамиды пересекает

плоскость наблюдения в точке (xprp; yprp; zvp), угловые точки отсекающего окна можно выразить через размеры окна:

xwmin = xprp – ширина/2;

xwmax = xprp + ширина/2;

ywmin = yprp – высота/2;

ywmax = yprp + высота/2:

Следовательно, симметричную перспективную проекцию сцены можно задать, используя ширину и высоту отсекающего окна, а не его координаты. Это однозначно устанавливает положение отсекающего окна, поскольку оно симметрично по координатам x и y центра проекции.

Рис. Объем наблюдения перспективной проекции, имеющий форму усеченной пирамиды. Плоскость наблюдения расположена между центром проекции и ближней плоскостью отсечения. Данная пирамида симметрична относительно средней линии при наблюдении снизу, сверху или со стороны любой боковой грани

Перспективные проекции

Другой способ задания симметричной перспективной проекции - использовать параметры, аппроксимирующие свойства линз камеры. В компьютерной графике конус зрения аппроксимируется симметричной усеченной пирамидой, и с помощью угла обзора можно задать угловой размер конуса. Углом обзора считается угол между верхней и нижней отсекающими плоскостями усеченной пирамиды, как показано на рис. 1.

Для данного центра проекции и положения плоскости наблюдения угол обзора определяет высоту отсекающего окна (рис. 2), но не его ширину. Чтобы полностью определить размеры отсекающего окна, нужен дополнительный параметр, и этим вторым параметром может быть либо ширина окна, либо характеристическое отношение (ширина:высота) отсекающего окна.

Из рис. 2 tg( /2) = (высота/2)/(zprp - zvp)

так что высоту отсекающего окна можно вычислить следующим образом:

высота = 2(zprp - zvp) tg( /2)

 

Рис. 2. Связь между углом обзора , высотой

Рис. 1. Угол обзора для симметричного объема

отсекающего окна и расстоянием между центром

наблюдения перспективной проекции, когда отсекающее

проекции и плоскостью наблюдения

окно находится между ближней отсекающей плоскостью

 

и центром проекции

 

Перспективные проекции

Рис. Увеличение угла обзора увеличивает высоту отсекающего окна и усиливает перспективные эффекты

•Иногда симметричная перспективная проекция полностью определяется углом обзора, характеристическим отношением отсекающего окна и расстоянием от точки наблюдения до ближней и дальней отсекающих плоскостей. Как правило, то же характеристическое отношение используется и при задании порта просмотра.

•Если в определенном приложении угол обзора уменьшен, эффекты перспективы перспективной проекции также уменьшаются.

• Уменьшение угла обзора уменьшает высоту отсекающего окна, поэтому на данном эффекте можно построить схему увеличения небольших участков сцены.

•большие углы обзора дают большую высоту окна отсечения (уменьшение масштаба). При этом Усиливаются эффекты перспективы, и такое изображение мы получаем, располагая центр проекции близко к плоскости наблюдения.

•На рис. показано, как меняется изображение для различных углов обзора при окне отсечения фиксированной ширины.

Соседние файлы в предмете Компьютерная Графика