CodeNet / Приложения / Графика / Учебник по компьютерной графике
Компьютерная Графика
- Алгоритм Кируса-Бека.
- Формализованный алгоритм Кируса-Бека.
- Разбиение невыпуклых многоугольников.
- Последовательное отсечение многоугольников.Алгоритм Сазермана - Ходтмена.
- Невыпуклые отсекающие области. Алгоритм Вейлера - Айдертона.
Последовательное осечение многоугольников. Алгоритм Сазермана - Ходтмена.
Суть: Произвести отсечение относительно одной прямой. Отсекается все что невидимо. Исходный многоугольник задается списком вершин (P1, ... , Pn). Порождается список ребер (P1P2, ... , Pn-1 Pn, PnP1). Нахождение точки Q8 стало тривиальным.
Исходный многоугольник может быть любым, а отсекающий должен быть всегда выпуклым. Порядок отсечения не имеет принципиального значения. Результат работы алгоритма - список вершин многоугольника, который лежит по видимую сторону отсекающей плоскости.
Возможны четыре варианта положения отсекателя и многоугольника :
- 1.полная видимость : Результат - точка P(полная видимость). Точка S в результирующий список не заносится.
- 2. полная невидимость : Результат - точек нет.
- 3. выход из области видимости : Результат - точка I.
- 4. вход в видимую область : Результат - точки I,P.
Для первой вершины достаточно определить, является ли она видимой, если да, то она попадает в результирующий список и является начальной точкой S; если нет, то она не попадает результирующий список, но становится точкой S.
Последнее ребро PnP1: точку P1 рассматривают как точку F и ребро PnP1 рассматривают как обычное ребро PnF.
Плохая особенность алгоритма: ложные границы.
Пример возникновения ложных границ.
Раздел назад | тема назад | тема вперед | Раздел вперед