Używam Delaunaya do triangulacji wklęsłego wielokąta, ale wypełnia on wklęsłości. Jak automatycznie usunąć trójkąty znajdujące się poza poligonami?Jak wyciąć trójkąty z wklęsłej triangulacji Delaunaya?
6
A
Odpowiedz
2
Self-answer: w niektórych przypadkach jest to niemożliwe. Potrzebowałem użyć ograniczonego algorytmu Delaunay: http://www.cs.cmu.edu/~quake/triangle.delaunay.html
-2
Nie powinieneś, powinieneś znaleźć procedurę Delauney, która poprawnie obsługuje granice.
Alternatywnie możesz, zakładając, że znasz krawędzie, przechodzić przez każdy trójkąt i usuwać te, które przekraczają krawędź. Wyszukaj testy wartości procentowej segmentu dla kodu, aby to zrobić.
Czy to właśnie chcesz zrobić? Krawędzie Delaunay mogą przecinać krawędzie wielokątów, więc użycie tego do triangulacji wielokąta nie zawsze da ci prawidłową triangulację wielokąta. –