Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры по кг2 2009.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.05 Mб
Скачать

Метод разбиения области.

Суть: изображение разбивается на части и исследуется соот-е между частью изображения и многоугольником сцены.

Относительно некоторого куска многоугольник может быть охватывающим:

Внутренним: персекающим: внешним:

Есть 4 случая, когда вопрос о закраске области можно решить однозначно:

  1. все многоугольники внешние  область красится в цвет фона

  2. только один внутренний или пересекающийся многоугольник 

  3. только один охватывающий многоугольник

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

Алгоритм Варнока

Область делится на 4 равных части:

Разбиение области до тех пор, пока размер участка не будет равен размеру пикселя.

Если и в этом случае однозначного ответа нет, то пиксель делим ещё на четыре части и окрашиваем на взвешанную сумму многоугольников, конкурирующих за этот пиксель.

Более эффективный алгоритм, если разбиваем не на одинаковые части, а относительно вершин.

Комбинация примитивов.

Примитивы могут комбинироваться друг с другом, образуя блоки.

Над примитивами возможны следующие операции:

1) объединение (+)

двух примитивов П1 + П2 есть тело, каждая точка которых принадлежит либо П1 либо П2

2) пересечение – общая часть двух примитивов: каждая точка принадлежит обоим примитивам.

3) разность – совокупность точек, которые принадлежат П1, но не принадлежат П2

4) отрицание примитива – совокупность точек, которые не принадлежат данному примитиву. ( , ).

Тогда тело можно описать в виде выражения или дерева:

1) множество примитивов 2) I – трехмерное пространство 3) Е – примитив нулевого объема 4) + -  образуют булеву алгебру.

Для неё выполняется 15 законов булевой алгебры, например,

законы де Моргана: любой объект можно представить в виде дизъюнктивно-нормальной либо конъюнктивно-нормальной форме.

Взаимное положение точки и объекта.

Будем обозначать в виде функций:

- взаимное положение точки и примитива.

или

Если примитив описывается k штук функции , то , если для .

Для комбинации примитивов взаимное положение точки и комбинаций опишем в виде таблицы:

(А)

(В)

(-А)

(А+В)

(А-В)

(В-А)

(В&А)

1

1

1

1

0

-1

-1

-1

-1

1

1

1

-1

0

1

-1

0

1

1

0

-1

0

0

0

1

0

-1

0

0

0

1

0

0

-1

0

0

0

0

-1

0

0

-1

-1

-1

-1

1

0

-1

1

1

1

1

0

-1

-1

-1

-1

1

0

-1

-1

-1

-1