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


Нормирующие преобразования видимого объема


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

Нормирующие преобразования видимого объема
:
Нормирующие преобразования видимого объема
и
Нормирующие преобразования видимого объема
, соответственно.

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

Нормирующие преобразования видимого объема

Рис 31. Видимый объем, вид сбоку.

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

Нормирующие преобразования видимого объема
.

Будем решать задачу в два этапа. В начале приведем видимый объем к нормированному виду. При этом значение

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

Нормирующим преобразованием в этом случае будет операция масштабирования, которая для произвольной точки

Нормирующие преобразования видимого объема
 выражается в виде:

Нормирующие преобразования видимого объема
 ,

Нормирующие преобразования видимого объема

Рис. 32. Нормированный видимый объем.

где

Нормирующие преобразования видимого объема
, и соответственно,
Нормирующие преобразования видимого объема
.

Нормированный видимый объем позволяет с большей легкостью решать задачу отсечения по границе.
А именно, в этом случае может применяться модифицированный вариант алгоритма Коэна-Сазарленда в котором вместо 4-битовых используются 6-битовые коды вне/внутри для описания нахождения точки в соответствующей области пространства. Уравнения боковых граней видимого объема сильно упрощаются, например, для правой отсекающей плоскости уравнение запишется

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

1-й бит:
Нормирующие преобразования видимого объема


2-й бит:
Нормирующие преобразования видимого объема


3-й бит:
Нормирующие преобразования видимого объема


4-й бит:
Нормирующие преобразования видимого объема


5-й бит:
Нормирующие преобразования видимого объема


6-й бит:
Нормирующие преобразования видимого объема


Для эффективного решения задачи удаления невидимых ребер/граней преобразуем нормированный видимый объем к каноническому виду, как показано на рис. 33.

Нормирующие преобразования видимого объема


Рис. 33. Канонический видимый объем.

Это достигается с помощью матрицы

Нормирующие преобразования видимого объема
 .

После применения матрицы
Нормирующие преобразования видимого объема
 нормированный видимый объем становится прямоугольным параллелепипедом, что позволяет перейти от центральной перспективной к параллельной проекции. Легко проверить, что как показано на рис. 32, 33:
Нормирующие преобразования видимого объема
,
Нормирующие преобразования видимого объема
,
Нормирующие преобразования видимого объема
,
Нормирующие преобразования видимого объема
, а также, например,
Нормирующие преобразования видимого объема
.

Итак, нормирующие преобразования видимого объема могут производиться за два шага.

1 шаг - преобразование к нормированному видимому объему и отсечение по 3-х мерному алгоритму Коэна-Сазерленда.

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


Содержание раздела