2016-11-25 15 views
1

У меня есть два набора данных ребер, один из которых - внешние края (образуют замкнутый путь или многоугольник), другой - внутренние края внутри многоугольника (а не отверстия).Алгоритм для получения многоугольной триангуляции с фиксированными внутренними ребрами?

Я хочу создать треугольную сетку из следующих данных, чтобы определенные внутренние ребра и вершины присутствовали после генерации сетки.

enter image description here

+0

Можете ли вы просто рассматривать его как два отдельных многоугольника и триангулировать их отдельно? – samgak

+0

У меня есть набор внутренних и внешних краев, я не знаю, как создать отдельный полигон из этой информации. Там могут быть бесконечные внутренние ребра, а некоторые внутренние вершины ребер начинаются с середины между вершинами внешних ребер. – pbeta

ответ

0

CGAL library обеспечивает constrained Delaunay triangulation класс, который должен делать то, что вам нужно. Кроме того, если вам нужно иметь меньшие элементы, вы можете попробовать 2D Meshing algorithm, который разделит ваши края, сохранив их форму.

+0

См. Также [poly2tri] (https://code.google.com/p/poly2tri/), который находит CDT планарной области с учетом ее границы. – lhf