Изменения

Перейти к: навигация, поиск

Straight skeleton

467 байт добавлено, 16:34, 3 декабря 2014
Выпуклый полигон
Теперь реализуем этот алгоритм более эффективно. Для этого мы будем использовать специальную структуру данных {{---}} <tex> \mathrm{SLAV}</tex> (set of circular lists of active vertices). Эта структура хранит цикл всех вершин для внешней грани, а так же цикл для каждой дыры многоугольника и для всех многоугольников, возникающих в процессе построения <tex> S(P) </tex>. В данном случае у нас будет просто <tex> \mathrm{LAV}</tex> {{---}} [[Список#Циклический список | циклический список]] всех вершин многоугольника.
 
Далее считаем, что полигон представлен рёбрами вдоль движения по контуру полигона против часовой стрелки. Алгоритм будет следующим:
 
# Инициализация
:(a) Поместим все вершины многоугольника в двусвязный циклический список в порядке обхода вдоль контура.
 
=== Невыпуклый полигон ===
=== Невыпуклый полигон с дырами ===

Навигация