Разделить самопересекающийся многоугольник (код C)

Я хочу разделить самопересекающийся многоугольник на простые многоугольники. У меня есть края и точки пересечения, сохраненные в структуре данных (связанный список).

Вот пример. У меня есть связанный список с координатами x, y ребер и точек пересечения многоугольника. Согласно многоугольнику на этом изображении это будет :: (1) -> (2) -> (3) ... -> (7). Я пытаюсь получить края простых многоугольников (здесь треугольники). В данном случае: 1,2,7 / 3,4,5 / 5,6,7.


person ItsMe    schedule 07.11.2010    source источник
comment
Я предлагаю вам конкретизировать этот вопрос немного подробнее, по крайней мере, показывая структуру данных на примере и, возможно, то, что вы начали. Добро пожаловать в SO.   -  person Dusty    schedule 07.11.2010


Ответы (1)


Я думаю, что лучше всего подойдет Bentley-Ottman. здесь. Еще одно приятное описание здесь.

person MPG    schedule 07.12.2010