logo search
Ответы по компьютерной графике

41. Визуализация трехмерных изображений Проецирование трехмерных объектов на картинную плоскость

Важнейшей операцией при визуализации трехмерной графики является проектирование, поскольку изображение строится на плоской поверхности экрана.

Проектирование– это преобразование, ставящее в соответствие точкам трехмерного пространства точки на некоторой плоскости, называемой картинной.

В компьютерной графике используются два основных вида проектирования: параллельное и перспективное.

Параллельное проектирование (рис. 25) Пусть уравнение плоскости задано в видеnxx+nyy+nzz+d= 0, гдеx,y,z– координаты произвольной точкиpэтой плоскости. Уравнение плоскости может быть записано в виде скалярного произведения векторов:n=(nx,ny,nz) иp=(x,y,z): (n,p) +d= 0.

Рассмотрим плоскость π: (n,p) +d= 0 в трехмерном пространстве, на которую будет осуществляться проектирование (картинную плоскость). Пусть задан векторl, вдоль которого будет осуществляться проектирование. При этом будем считать, что (l,n) ≠ 0.

Для нахождения проекции произвольной точки qна плоскостьπпроведем через точкуqпрямую с направляющим векторомl. Точка пересечения этой прямой с плоскостьюπ–qпр– является проекцией точки q на плоскостьπвдоль направленияl.

Координаты произвольной точки q' прямой, проходящей через точкуqи имеющей направляющий векторl:

q' =q+tl,tR.

Тогда параметр tточки пересечения этой прямой и плоскостиπможно найти, подставив уравнение прямой в уравнение плоскости:

(q+tl,n) +d= 0.

Отсюда получаем

Зная t, можно найти проекцию точки q по формуле qпр = q + tl.

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

Приведем матрицу канонического параллельного проектирования, осуществляемого на плоскостьOxyвдоль осиOz.

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

Перспективное проектирование(рис. 26). Рассмотрим картинную плоскостьπ: (n,p) +d= 0 . Пусть задана точкаc, которую будем называть центром проектирования. Тогда перспективной проекцией точкиqназовем точкуqпрпересечения плоскостиπс лучом, выходящим изcи проходящим черезqпри условии, что точкаqлежит в положительном полупространстве относительно плоскостиπ.

Пусть проекцией точки qявляется точкаqпр. В силу того, чтоqпрлежит на отрезке [q,c], справедлива формула

qпр= (1 -t)c+tq,t[0, 1].

Тогда из условия принадлежности проекции плоскости получаем

Как видно из этой формулы, перспективное преобразование не является аффинным (принадлежит классу дробно-линейных преобразований). Тем не менее, его также можно записать при помощи матрицы однородного преобразования.

Выпишем каноническое уравнение перспективного преобразования. Пусть центр проектирования равен (0, 0, -1)Т, а картинная плоскость задается уравнениемz= 1.