Страница 1 из 1

Триангуляция Полигона с "отверстием"

СообщениеДобавлено: 13 май 2018, 19:08
Roman777
Добрый день!
Интересуют алгоритмы триангуляции произвольного многоуголника (не самопересекающегося) с отверстиями (1-н и более) внутри. Без отверстий, триангулировать, вроде бы, получилось. А вот с ними как-то посложнее.
Пока думаю, что необходимо сводить такой "полигон" к полигонам без отверстий, тобишь разрезать его на отдельные кусочки через эти "дырки", так чтобы внутри каждого кусочка отверстий не было.

Наверняка кто-то уже работал с подобным вопросом, подскажите направление, плз)

Re: Триангуляция Полигона с "отверстием"

СообщениеДобавлено: 14 май 2018, 13:55
jetyb
Каждый многоугольник и каждая дырка - не пересекающийся набор треугольников.

Сделайте сперва "вычитание" одного треугольника ABC из другого DEF: триангуляцию первого треугольника, ABC не пересекающуюся с вычитаемым треугольником DEF.

Re: Триангуляция Полигона с "отверстием"

СообщениеДобавлено: 15 май 2018, 21:57
Roman777
Думаю, что Ваше предложение должно рассматриваться при определённых случаях (алгоритмах) триангуляции произвольного полигона без отверстий, типа того же Делоне, я правильно понимаю? Я же пока выполнил триангуляцию с "ухообрезанием". В рамках данного алгоритма (ухообрезание) триангуляции, описанный Вами метод мне кажется недостижим...

Re: Триангуляция Полигона с "отверстием"

СообщениеДобавлено: 16 май 2018, 08:20
IDoNotExist
Roman777 писал(а): Я же пока выполнил триангуляцию с "ухообрезанием".

Получается у тебя триангуляция идёт по последовательному набору точек (полилиния)? В чем проблема создать полилинию так, чтобы она обходила это отверстие и пересекалась с собой одним ребром?

Re: Триангуляция Полигона с "отверстием"

СообщениеДобавлено: 16 май 2018, 21:22
Roman777
Получается у тебя триангуляция идёт по последовательному набору точек (полилиния)

В общем то да. И проблем нет. Просто сложности появляются, если этих отверстий несколько (много) на полигоне, поскольку такую диагональ уже может и не получиться провести непосредственно до этой полилинии без пересечения других отверстий. Собственно, поэтому думаю о похожем методе деления этого полигона на кусочки, которые будут отрезаться по 1 куску сквозь отверстие (надо только алгоритм продумать), чтобы получить несколько полигончиков уже без отверстий. Но тему создавал не потому что у меня появились конкретные проблемы, а просто хотел узнать ещё разные направления и способы решения данной задачи, чтобы определиться, куда стоит копать, а может быть и попробовать разное)

Re: Триангуляция Полигона с "отверстием"

СообщениеДобавлено: 17 май 2018, 08:59
IDoNotExist
Алгоритмы булевого вырезания как вариант.