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

ALL

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

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

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

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

параллельную.

Рис. 7.44. Главные точки

 

 

схождения перспективных

 

проекций куба. Когда куб (а)

 

проектируется на плоскость,

 

пересекающую только ось z,

 

генерируется только одна точка

 

схождения, расположенная на оси z

 

(б). Когда куб проектируется на

 

плоскость, пересекающую оси z и x,

 

получаются две точки схождения (в)

 

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

 

перспективного отображения, линии, параллельные плоскости

 

наблюдения, проектируются в параллельные линии. Однако любые

 

параллельные линии сцены, которые при этом не параллельны плоскости

 

наблюдения, проектируются в сходящиеся линии, как показано на рис.

 

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

 

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

 

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

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

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

 

перспективных проекций куба.

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

На проекции, показанной на рис. 7.44, б,

 

объем наблюдения перспективной

 

плоскость проекции ориентирована

 

проекции

 

параллельно плоскости объекта xy, так что

 

 

 

пересекается только ось z объекта. При такой

 

 

 

ориентации получается одноточечная

 

 

 

перспективная проекция, и единственная

 

 

 

точка схождения расположена на оси z. При

 

 

 

проекции, показанной на рис. 7.44, в,

 

 

 

плоскость проекции пересекает оси x и z, но не

 

 

 

пересекает ось y. Получающаяся двухточечная

 

 

 

перспектива содержит точки схождения по

 

 

 

осям x и z. Трехточечная проекция не намного

 

 

 

повышает реализм сцены по сравнению с

 

 

 

двухточечной, поэтому в архитектурном и

 

 

 

инженерном проектировании трехточечные

 

 

 

проекции не получили широкого

 

 

 

распространения.

 

 

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

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

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

Обычно и ближняя, и дальняя отсекающие плоскости находятся с одной стороны от центра проекции, причем дальняя плоскость расположена дальше по направлению наблюдения от центра проекции, чем ближняя. Кроме того, как и при параллельной проекции, ближнюю и дальнюю плоскости можно использовать просто для того, чтобы обособить наблюдаемую сцену. Однако при перспективной проекции ближнюю отсекающую плоскость можно использовать, чтобы удалить большие объекты, близкие к плоскости наблюдения, которые могут спроектироваться в окно отсечения в виде неузнаваемых форм. Аналогично дальнюю отсекающую плоскость можно использовать для отрезания объектов, расположенных далеко от центра проекции, которые могут спроектироваться в маленькие пятнышки на плоскости наблюдения. Некоторые системы ограничивают расположение плоскости наблюдения относительно ближней и дальней плоскостей, а другие системы позволяют располагать их в любых местах, исключая положение центра проекции. Если плоскость наблюдения находится позади центра проекции, объекты переворачиваются, как показано на рис. 7.42.

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

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

проектирования точки, определенной в

 

координатах системы наблюдения,

выполняется в два этапа. Вначале с

 

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

Ph = Mpers P;

где Ph представление однородной точки (xh;

yh; zh; h) в виде вектора-столбца, а P вектор- столбец, представляющий точку (x; y; z; 1). (В действительности матрица перспективной проекции будет сворачиваться с другими матрицами преобразования наблюдения, а затем сложная матрица подействует на описание сцены во внешних координатах и даст однородные координаты.). х

Рис. 7.46. Пирамидальный объем наблюдения перспективной проекции, когда плоскость наблюдения расположена перед ближней отсекающей плоскостью

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

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

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

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

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

Под действием матрицы описание сцены

переводится в однородные координаты

параллельной проекции.

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

косоугольной параллельной проекции.

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

перспективной проекции несимметричен.

Если пирамидальный объем наблюдения

перспективной проекции симметричен, получающиеся

координаты параллельной проекции соответствуют

ортогональной проекции.

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

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

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

Т.к. средняя линия пирамиды пересекает плоскость наблюдения в точке (xprp; yprp; zvp),

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

через размеры окна:

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Если в определенном приложении угол обзора уменьшен, эффекты перспективы перспективной проекции также уменьшаются. Это можно сравнить с удалением центра проекции от плоскости наблюдения. Кроме того, уменьшение угла обзора уменьшает высоту отсекающего окна, поэтому на данном эффекте можно построить схему увеличения небольших участков сцены. Таким образом, большие углы обзора дают большую высоту окна отсечения (уменьшение масштаба). При этом усиливаются эффекты перспективы, и такое изображение мы получаем, располагая центр проекции близко к плоскости наблюдения. На рис. 7.50 показано, как меняется изображение для различных углов обзора при окне отсечения фиксированной ширины.

Когда объем наблюдения перспективной

проекции является симметричной пирамидой,

перспективное преобразование

отображает точки внутри усеченной

пирамиды в прямоугольный

параллелепипед в координатах

ортогональной проекции.

Средняя линия параллелепипеда

является средней линией пирамиды, поскольку эта прямая уже перпендикулярна плоскости наблюдения (рис. 7.51). Это является следствием того факта, что все точки вдоль линии проекции, принадлежащие усеченной пирамиде, отображаются в одну точку (xp, yp) плоскости наблюдения.

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

• Рис. 7.51. Объем наблюдения

переводится перспективным

симметричной усеченной пирамиды

преобразованием в линию,

при перспективном проектировании

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

отображается в ортогональный

следовательно, параллельную средней линии

параллелепипед

пирамиды. Если симметричная пирамида

 

преобразуется в объем наблюдения

 

ортогональной проекции, далее можно

 

применить преобразование нормировки.

 

УСЕЧЕННАЯ ПИРАМИДА КОСОУГОЛЬНОЙ

Рис. 7.52. Наклонная

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

усеченная

 

 

 

• Если средняя линия объема наблюдения

 

 

пирамида,

 

 

содержащая

перспективной проекции не

 

 

боковую или

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

 

 

верхнюю грань;

получаем наклонную усеченную пирамиду.

 

 

плоскость

На рис. 7.52 показан общий внешний объем

 

 

наблюдения

 

 

расположена между

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

 

 

 

 

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

проекции.

 

 

 

 

ближней

 

 

 

• В этом случае можно вначале преобразовать

 

отсекающей

объем наблюдения в симметричную

 

 

плоскостью

усеченную пирамиду, а затем в

Поскольку средняя линия усеченной

нормированный объем наблюдения. Объем

 

пирамиды проходит через центр отсекающего

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

 

окна, сдвиг так выравнивает среднюю линию,

проекции можно преобразовать в

 

что она становится перпендикулярной

симметричную пирамиду, подействовав

 

плоскости наблюдения (см. рис. 7.47).Расчеты

матрицей сдвига вдоль оси z (5.115). Данное

 

преобразования сдвига, а также

преобразование смещает все точки любой

 

перспективного преобразования и

плоскости, которая перпендикулярна оси z,

 

нормировки сокращаются, если дописать, что

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

центр проекции находится в начале системы

плоскости от заданной опорной точки на оси

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

z. В данном случае опорной точкой является

 

точки сцены, чтобы выбранный центр

zprp координата z центра проекции.

 

проекции сместился в начало координат. Или

Величина сдвига должна быть такой, чтобы

 

изначально так задать систему наблюдения,

центр отсекающего окна переместился в

 

чтобы ее начало находилось в точке проекции

точку (xprp, yprp) на плоскости наблюдения.

 

данного положения сцены.

 

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