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

9 Особенности отсечения по видимому объему

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

План раздела

  1. Суть отсечения по объему

  2. Различные формы видимых объемов.

  3. Выпуклые оболочки граней и их использование.

  4. Метод Коэна-Сазерленда в применении к трехмерному случаю.

  5. Результат быстрой селекции граней.

  6. Объекты, которые отсекаются в трехмерном случае.

  7. Общая схема действий при отсечении.

  8. Дополнительные проблемы отсечения при центральном проецировании.

  9. Повышение эффективности проверок при центральном проецировании

Суть действия «отсечения»

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

Различные формы видимых объемов

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

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

Выпуклые оболочки граней

Для упрощения быстрых проверок положения граней вводятся ВЫПУКЛЫЕ ОБОЛОЧКИ Выпуклая оболочка любой грани строится как прямоугольный параллелепипед с гранями, параллельными координатным осям. Размеры оболочки определяются через габаритные координаты.

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

Выпуклая обоочка треугольной грани.

Сложный объект частично включен в видимый объем. Каждая грань показана с ее выпуклой оболочкой.

Метод Коэна-Сазерленда в применении к трехмерному случаю

Выпуклая оболочка находится за пределами видимого объема, если все ее 8 вершин находятся вне его. Для быстрого определения положения точки ее можно связать с шестибитным кодом Коэна-Сазерленда, анализируя которые, легко ответить на этот вопрос. Достаточно произвести операцию побитового «И» с кодами 8-ми вершин оболочки и проверить результат на 0. Если результат ненулевой, оболочка, а, значит, и ее грань вне видимого объема.

Код Коэна-Сазерленда для трехмерного случая

Результат быстрой селекции граней

Применение метода Коэна-Сазерленда позволяет все грани разделить на 3 группы:

А) попадающие в видимый объем (показанызеленым);

Б) Не попадающие в видимы объем. Они из дальнейшей работы исключаются (показаны серым);

В) Грани, которые пересекаются с гранями видимого объема. Именно они подвергаются отсечению и будут в конце концов разделены на части, которые войдут либо в группу А, либо Б.

Объекты, которые отсекаются в трехмерном случае

Это полигоны (многоугольники) внутри видимого объема. Они строятся с помощью 3-мерной версии алгоритма Сазерленда-Ходжмана.

При этом происходит деление НЕ ЛИНИЙ ТОЧКАМИ, А ГРАНЕЙ ЛИНИЯМИ. Разумеется, при этом часть ребер исчезает из рассмотрения, часть укорачивается, а еще и возникают новые.