Перспективная проекция. Центральные (перспективные) проекции

В центральных проекциях грани отображаемого объекта, параллельные картинной плоскости, изображаются без искажения формы, но с искажением размера.

Рисунок 24 Центральные проекции куба: а) одноточечная, б) двухточечная, в) трехточечная.

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

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

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

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

Рассмотрим более подробно случай одноточечного проецирования точки Р на плоскостьz = 0 с центром проецированияС , лежащим на осиz (рис.25).

Точка A проецируется на экран какA . Расстояние от наблюдателя до проекционной плоскости равноk. Необходимо определить координаты точкиA на экране. Обозначим ихx э иy э. Из подобия треугольниковA y A z N иy э ON находим, что

(x.9)

аналогично для x:

. (x.10)

Рис. 25. Вывод формул центральной проекции.

Рис. 26. Другой способ вычисления координат точек в центральной перспективной проекции.

Напомним, что k -это расстояние, а наблюдатель находится в точке N = (0,0,-k ). Если точку наблюдения поместить в начало координат, а проекционную плоскость на расстояниеa , как показано на рисунке 26, то формулы дляx э и y э примут вид:

,
(x.11)

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

Рассмотрим точку трехмерного пространства (a , b , c ). Если представить эту точку как однородное представление точки двумерного пространства, то ее координаты будут (a / c , b / c ). Сравнивая эти координаты со вторым видом формул, выведенных для центральной перспективной проекции, легко заметить, что двумерное представление точки с координатами (a , b , c ) выглядит как ее проекция на плоскостьz = 1, как показано на рис. 27.

Рис. 27. Проекция точки (a , b , c ) на плоскость z = 1.

Аналогично, рассматривая применение однородных координат для векторов трехмерного пространства, можно представить трехмерное пространство как проекцию четырехмерного пространства на гиперплоскость w = 1, если (x , y , z )(wx , wy , wz , w ) = (x , y , z , 1). .

В однородных координатах преобразование центральной перспективы можно определить матричной операцией. Эта матрица записывается в виде:

Покажем, что эта матрица определяет преобразование точки объекта, заданной в однородных координатах, в точку перспективной проекции (также в однородных координатах). Пусть p = (x , y , z ) – точка в трехмерном пространстве. Ее однородное представлениеv = (wx , wy , wz , w ). УмножимvнаP :

это в точности повторяет формулы (x.10), выведенные для центральной перспективы.

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

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

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

В настоящее время наиболее распространены устройства отображения, кото­рые синтезируют изображения на плоскости - экране дисплея или бумаге. Устройства, которые создают истинно объемные изображения, пока доста­точно редки. Но все чаще появляются сведения о таких разработках, напри­мер, об объемных дисплеях или даже о трехмерных принтерах .

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

Мировые и экранные координаты

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

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

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

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

В компьютерной графике наиболее распространены параллельная и цент­ральная проекции (рис. 2.15).

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

Аксонометрическая проекция

Аксонометрическая проекция - разновидность параллельной проекции. Для нее все лучи проецирования располагаются под прямым углом к плоскости проецирования (рис. 2.16).

[Зададим положения плоскости проецирования с помощью двух углов - α и β, Расположим камеру так, чтобы проекция оси z на плоскости проецирова|ния Х0Y была бы вертикальной линией (параллельной оси ОУ).

Рис. 2.16. Аксонометрическая проекция

Для того чтобы найти соотношения между координатами (х, у, z ) и (X , Y , Z ) для любой точки в трехмерном пространстве, рассмотрим преобразования системы координат (х , у, z ) в систему (X , Y , Z). Зададим такое преобразование двумя шагами.

1-й шаг. Поворот системы координат относительно оси z на угол α. Такой поворот осей описывается матрицей

2-й шаг. Поворачиваем систему координат (x , у", z ") относительно оси х" на угол β - получаем координаты (X , Y , Z ). Матрица поворота

Преобразования координат выражаем произведением матриц В * А:

Запишем
преобразование для координат проекции в виде формул:

Как вы считаете, будет ли получена та же проекция, если описывать преобра­зования координат теми же двумя шагами, но в другой последовательности - сначала поворот системы координат относительно оси х на угол β, а потом поворот системы координат относительно оси z " на угол α? И будут ли вер­тикальные линии в системе координат (x , y , z ) рисоваться также вертикалями в системе координат (X , У, Z)? Иначе говоря, выполняется ли А*В - В*А? Обратное преобразование координат аксонометрической проекции. Для того, чтобы координаты проекции (X , Y , Z ) преобразовать в мировые коорди­наты (х, у, z ), нужно проделать обратную последовательность поворотов. Вначале выполнить поворот на угол -β а затем - поворот на угол - α. Запи­шем обратное преобразование в матричном виде

Матрицы поворотов:

Перемножив матрицы А -1 и В -1 , получим матрицу обратного преобразования:

Запишем обратное преобразование также и в виде формул

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

Перспективную проекцию (рис. 2.17) сначала рассмотрим при вертикальном расположении камеры, когда а=β = 0. Такую проекцию можно себе пред­ставить как изображение на стекле, через которое смотрит наблюдатель, рас­положенный сверху в точке (х, у, z ) = (0, 0, z k). Здесь плоскость проецирова­ния параллельна плоскости (хОу).

Исходя из подобия треугольников, запишем такие пропорции:

Учитывая также координату Z:

В матричной форме преобразования координат можно записать так:

Рис. 2.17. Перспективная проекция

Обратите внимание на то, что здесь коэффициенты матрицы зависят от коор­динаты z (в знаменателе дробей). Это означает, что преобразование коор­динат является нелинейным (а точнее, дробно-линейным), оно относится к классу проективных преобразований.

Теперь рассмотрим общий случай - для произвольных углов наклона каме­ры и р) так же, как и для параллельной аксонометрической проекции. Пусть (х", у", z 1 ) - координаты для системы координат, повернутой относи­тельно начальной системы (х, у, z ) на углы α и β.

Запишем преобразования координат перспективной проекции в виде:

Последовательность преобразования координат можно описать так:

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

Для такой перспективной проекции плоскость проецирования перпендику­лярна лучу, исходящему из центра (х, у, z )= (0, 0, 0) и наклоненному под углом α, β. Если камеру отдалять от центра координат, то центральная проек­ция видоизменяется. Когда камера в бесконечности, центральная проекция вырождается в параллельную проекцию.

Укажем основные свойства перспективного преобразования. В центральной

проекции:

□ не сохраняется отношение длин и площадей;

□ прямые линии изображаются прямыми линиями;

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

Последнее свойство широко используется в начертательной геометрии для ручного рисования на бумаге. Проиллюстрируем это на примере каркаса до­мика (рис. 2.18).

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

Рассмотрим косоугольную проекцию, для которой лучи проецирования не перпендикулярны плоскости проецирования. Основная идея такой проекции - камера поднята на высоту h с сохранением вертикального положения плоскости проектирования (рис. 2.19).

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

Рис. 2.19. Косоугольная проекция

Получить такую проекцию можно следующим способом:

1. Выполняем поворот вокруг оси z на угол а.

2. Заменяем z " на -у", а.у" на z".

3. Выполняем сдвиг системы координат вверх на высоту камеры h

4. В плоскости (х", у", 0) строим перспективную проекцию уже рассмотрен­ным выше способом (точка схода лучей на оси z ).

Преобразование координат может быть описано таким образом. Сначала оп­ределяются (x", у", z ).

А потом выполняется перспективное преобразование

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

Примеры изображений в различных проекциях. Приведем примеры изо­бражений одинаковых объектов в различных проекциях. В качестве объектов будут кубы одинакового размера. Положение камеры определим углами на­клона α = 27°, β = 70°.

Пример аксонометрической проекции приведен на рис. 2.20.

Рис. 2.20. Аксонометрическая проекция

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

В оптических системах известно понятие фокусного расстояния. Чем больше фокусное расстояние объектива, тем меньше восприятие перспективы (рис. 2.21" и наоборот, для короткофокусных объективов перспектива наибольший (рис. 2.22). Данный эффект вы, наверное, уже замечали, если занимались съемками видеокамерой или фотоаппаратом. В наших примерах можно наблюдать некоторое соответствие величины расстояния от камеры до плоскости проецирования { z k z пл ) и фокусного расстояния объектива. Это соответствие, однако, условно, аналогия с оптическими системами здесь неполная.

Для приведенных Ниже примеров (рис. 2.21, 2.22) z пл = 700. Углы наклона камеры α = 27°, β = 70°.

Рис. 2.21. Перспективная проекция для длиннофокусной камеры ( z K = 2000)

Рис. 2.22. Перспективная проекция для короткофокусной камеры ( z K = 1200)

В случае короткофокусной камеры (z K = 1200) восприятие перспективы наиболее заметно для кубов, которые расположены ближе всего к камере. Вертикальные линии объектов не являются вертикалями на проекции (объекты разваливаются").

Усмотрим примеры косоугольной проекции (рис. 2.23, 2.24). Для нее вер­тикальные линии объектов сохраняют вертикальное расположение на проекции. Положение камеры (точки схождения лучей проецирования) описывается углом поворота α = 27° и высотой подъема h = 500. Плоскость проециро­вания параллельна плоскости (х"Оу") и располагается на расстоянии z пл = 700.

Рис. 2.23. Косоугольная перспективная проекция для длиннофокусной камеры ( z K = 2000)

Рис. 2.24. Косоугольная перспективная проекция для короткофокусной камеры ( z K = 1200)

Рассмотрим еще один пример изображения в центральной проекции - тега в стиле фильма "Звездные войны":

Отображение в окне

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

Кроме того, вы, наверное, видели, что на экране компьютера можно показы­вать увеличенное, уменьшенное изображение объектов, а также их переме­щать. Как это делается?

Введем обозначения. Пусть (Хэ, Уэ, Z э) - это экранные координаты объектов в графическом устройстве отображения. Заметим, что не следует восприни­мать слово "экранные" так, будто речь идет только о дисплеях - все ниже­следующее можно отнести и к любым другим устройствам, использующим декартову систему координат. Координаты проецирования обозначим здесь как (X, Y, Z).

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

X э min Уэтп) - (Хэтах Уэтах)- Обычно Приходится Отображать В Окно ИЛИ ВСЮ

сцену, или отдельную ее часть (рис. 2.25).

Рис. 2.25. Отображение проекции сцены

а - границы сцены в координатах проекции; б - в окне часть сцены, в - вся сцена с сохранением пропорций вписана в окно

Преобразование координат проекции в экранные координаты можно задать как растяжение/сжатие и сдвиг:

Х Э = КХ + dx , ; Y Э = KY + dy ; Z э = KZ .

Такое преобразование сохраняет пропорции объектов благодаря одинаково­му коэффициенту растяжения/сжатия (К) для всех координат. Заметим, что для плоского отображения можно отбросить координату Z. Рассмотрим, как можно вычислить К, dx и dy . Например, необходимо впи­сать все изображение сцены в окно заданных размеров. Условие вписывания можно определить так:

Если прибавить (1) к (3), то получим:

Из неравенств (2) и (4) следует:

Решением системы (1)-(4) для K будет: К min {Кх, Ку} = К min .

Если значение К х или значение K Y равно бесконечности, то его необходим отбросить. Если оба - то значение К min можно задать равным единице. Дга| того чтобы изображение в окне имело наибольший размер, выберем К = К min Теперь можно найти dx . Из неравенства (1):

Из неравенства (3): I

Поскольку dx 1 < dx 2, то величину dx можно выбрать из интервала I dx 1 dx dx 2. Выберем центральное расположение в окне: I

Аналогично найдем dy:

При таких значениях dx и dy центр сцены будет в центре окна.

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

графических системах используются разнообразные способы задания масйаба отображения и определения границ сцены для показа в окне просмотра. Например, для сдвига часто используют ползунки скроллинга. Также "южно указывать курсором точку на сцене, и затем эта точка становится центральной точкой окна. Или можно очертить прямоугольник, выделяя грани­цы фрагмента сцены, - тогда этот фрагмент затем будет вписан в окно. Й так далее. Все эти способы отображения основываются на растяжении и сжатии (масштабировании), а также сдвиге, и описываются аффинным преобразованием координат.

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

На фотографиях, картинах, экране изображения кажутся нам естественными и правильными. Эти изображения называют перспективными. Свойства их таковы, что более удаленные предметы изображаются в меньших масштабах, параллельные прямые в общем случае непараллельны. В итоге геометрия изображения оказывается достаточно сложной, и по готовому изображению сложно определить размер тех или иных частей объекта.

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

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

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

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

В этой матрице элементы a , d , е отвечают за масштабирование, m , n , L — за смещение, p , q , r — за проецирование, s — за комплексное масштабирование, х — за вращение.

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

Рис. 1.5.3. Общая схема центральной проекции

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

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

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

где – константа для данной пары точек и .

Рис. 1.5.4. Схема разворотов плоскости изображения

Учитывая, что съемочная камера может быть развернута на углы и относительно осей , из (1.5.8) получаем

, (1.5.8)

где – координаты центра проектирования в системе ; – координаты центра проектирования в системе .

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

. (1.5.9)

Исключая в (1.5.9) константу путем деления первой и второй строк на третью, получаем уравнения, связывающие координаты сопряженных точек в системах и :

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

Характерной особенностью центральной проекции является существенное различие в масштабах изображения предметов, находящихся на различных расстояниях от центра проектирования. Это связано с уменьшением угловых размеров предмета (и соответственно с уменьшением линейных размеров в плоскости изображения) при удалении от съемочной сцены. На рис.1.5.5 приведен результат съемки предмета в виде полосы с нанесением на нее рисунка из периодически повторяющихся прямоугольников. Изменение ширины полосы и размеров прямоугольников создает ощущение глубины пространства. Принципиально изображение может быть рассчитано, например, по формулам (1.5.12), но его можно построить с достаточной степенью точности, если задать точку схода лучей. Расчеты с использованием координаты точки схода лучей значительно проще. Потому такой подход широко используется при имитации визуально наблюдаемой обстановки в видеотренажерах.

В центральных проекциях грани отображаемого объекта, параллельные картинной плоскости, изображаются без искажения формы, но с искажением размера.

Рисунок 24 Центральные проекции куба: а) одноточечная, б) двухточечная, в) трехточечная.

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

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

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

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

Рассмотрим более подробно случай одноточечного проецирования точки Р на плоскость z= 0 с центром проецирования С , лежащим на оси z (рис.25).

Точка A проецируется на экран как A ¢. Расстояние от наблюдателя до проекционной плоскости равно k. Необходимо определить координаты точки A ¢ на экране. Обозначим их x э и y э. Из подобия треугольников A y A z N и y э ON находим, что

(x.9)

аналогично для x:

Рис. 25. Вывод формул центральной проекции.

Рис. 26. Другой способ вычисления координат точек в центральной перспективной проекции.

Напомним, что k -это расстояние, а наблюдатель находится в точке N = (0,0,-k ). Если точку наблюдения поместить в начало координат, а проекционную плоскость на расстояние a , как показано на рисунке 26, то формулы для x э и y э примут вид:

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

Рассмотрим точку трехмерного пространства (a,b,c ). Если представить эту точку как однородное представление точки двумерного пространства, то ее координаты будут (a/c,b/c ). Сравнивая эти координаты со вторым видом формул, выведенных для центральной перспективной проекции, легко заметить, что двумерное представление точки с координатами (a,b,c ) выглядит как ее проекция на плоскость z = 1, как показано на рис. 27.



Рис. 27. Проекция точки (a,b,c ) на плоскость z = 1.

Аналогично, рассматривая применение однородных координат для векторов трехмерного пространства, можно представить трехмерное пространство как проекцию четырехмерного пространства на гиперплоскость w = 1, если (x,y,z )®(wx,wy,wz,w ) = (x,y,z, 1). .

В однородных координатах преобразование центральной перспективы можно определить матричной операцией. Эта матрица записывается в виде:

Покажем, что эта матрица определяет преобразование точки объекта, заданной в однородных координатах, в точку перспективной проекции (также в однородных координатах). Пусть p = (x,y,z ) – точка в трехмерном пространстве. Ее однородное представление v = (wx,wy,wz,w ). Умножим v на P :

это в точности повторяет формулы (x.10), выведенные для центральной перспективы.

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

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

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