Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Комп_Граф / КГ_курс лекций.doc
Скачиваний:
191
Добавлен:
08.06.2015
Размер:
1.31 Mб
Скачать

4.8. Проецирование трехмерных объектов

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

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

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

В системе однородных координат ортогональное проецирование на плоскость OXY представляется как преобразование координат C = [x y z 1] с вырожденной матрицей преобразования:

(4.31)

Рис. 4.9

Практически же, как это следует из (4.31), для получения координат C' точек Pr(P) проекции в данном случае достаточно отбросить координаты z проецируемых точек P.

Ортогональное проецирование широко используется в САПР при построении чертежей и изображений машиностроительных изделий и их деталей.

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

Центральное проецирование состоит из двух преобразований – перспективного преобразования и преобразования ортогонального проецирования. На рис. 4.10 показаны результат перспективного преобразования параллелепипеда с точкой P и последующее ортогональное проецирование его на плоскость OXY.

Рис. 4.10

Перспективное преобразование приводит к фактическому сокращению размеров объектов с удалением их от наблюдателя. В однородных координатах перспективное преобразование с осью проецирования OZ представляется следующим образом:

(4.32)

Коэффициент k называется коэффициентом перспективы. Он определяет степень сокращения видимых размеров в зависимости от удаления. Геометрически коэффициент k определяет положение точки схода Pc на оси OZ, в которой в результате преобразования сходятся все линии, располагавшиеся параллельно оси OZ.

В данном случае перевод однородных координат в обычные требует деления на значение координаты v. В итоге обычными координатами точки P' будут (x/(k z + 1), y/(k z + 1), z/(k z + 1)).

Чтобы определить координаты точки схода, вычислим пределы:

(4.33)

(4.34)

(4.35)

Таким образом, для преобразования (4.32) Pc = (0, 0, 1/ k). Если требуется построить центральную проекцию с точкой схода, координаты xc и yc которой отличны от нуля (например должны соответствовать центру области вывода), то используют тот же прием, что и при выполнении геометрических преобразований относительно заданного центра. В данном случае сначала необходимо выполнить преобразование смещения по x и y на -xc и -yc соответственно, затем перспективное преобразование, а в заключение – обратное преобразование смещения.

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

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

Более подробный материал по видам проецирования и их свойствам можно найти в [4, 7].

Соседние файлы в папке Комп_Граф