30
Лекция 6. ПРОБЛЕМЫ УДАЛЕНИЯ НЕВИДИМЫХ ПОВЕРХНОСТЕЙ
Изученные алгоритмы построения на экране трехмерных объектов и выполнения их
геометрических преобразований позволяют создавать каркасные образы объектов. Следующим
этапом совершенствования изображения является удаление невидимых поверхностей. Задача эта
непроста и существует множество различных способов ее реализации. Для упрощения в
рассмотрение вносятся выпуклые тела, ограниченные плоскими гранями.
Задача удаления невидимых по
верхностей состоит в нахождении преобразования
отображающего множество объекта во множество видимых частей в двухмерном пространстве.
Объект определяется, как множество координат плюс множество отношений,
специфицирующих его топологию.
В формализованном виде алгоритмы удаления невидимых поверхностей (АУНП)
можно представить следующим образом:
АУНП = ( O, S, I, ϕ, σ ) ,
где O - множество объектов в трехмерном пространстве;
S
- множество видимых отрезков в двухмерном пространстве;
I - множество промежуточных представлений;
ϕ - множество функций перехода;
σ - функция стратегии.
ϕ = (PM, IS, CT, DT, VT),
где PM – преобразования проецирования (область определения – трехмерное пространство,
область значений - двухмерное;
IS - функции, позволяющие определить точки пересечения (области определения и
значений совпадают);
CT – тест принадлежности, позволяющий определить, принадлежит ли точка поверхности
(область определения и значений – дву
хмерное пространство); результат работы теста - истина
или ложь;
DT – тест глубины, сравнивающий две точки и определяющий, какая из них находится на
большей глубине, то есть дальше от наблюдателя;
VT – тест видимости или самозаслонения, определяющий невидимые грани объекта;
результат работы теста – истина или ложь.
Функция стратегии определяет порядок применения функций и тестов из мн
ожества ϕ.
6.1 Функции перехода
6.1.1 Перспективные преобразования (PM)
Перспективные преобразования применяются в АУНП либо до удаления невидимых
поверхностей либо после. Критерием является пространство, в котором работает сам
алгоритм. Если идея алгоритма такова, что определение невидимых поверхностей выполняется
в трехмерном пространстве, то проектирование выполняется после работы АУНП. Если
алг
оритм работает на плоскости с проекциями объектов, то естественно, что проецирование их
должно быть реализовано первым, а затем начинает работать АУНП.
6.1.2 Функции пересечений (IS)
В этом классе функций алгоритмы удаления невидимых поверхностей используют чаще всего
следующие элементы, для которых определяется пересечение:
- две прямые;
- два отрезка;
- прямая и пл
оскость.
Ниже приведены цели определения точек пересечения в АУНП: