Я имею дело с IfcFace. Мне предоставлен простой многоугольник с отверстиями, и мне нужно преобразовать его в несколько простых полигонов без отверстий для моего САПР для дальнейшей обработки. Небольшая демонстрационная иллюстрация:
Мой лучший подход - сделать триангуляцию с ограниченным треугольником и воссоединиться с треугольниками в более крупные полигоны. Вот так: Но триангуляция delaunay и даже более сдерживающая часть имеют тенденцию терпеть неудачу для трудного ввода из-за точности с плавающей запятой и алгоритмических неустойчивостей. Мой вход иногда генерирует треугольники с высотой 1е-8 и базой длиной 1.
Существуют ли более надежные алгоритмы для достижения этого преобразования?