Mam zestaw znanych punktów / węzłów rozmieszczonych nieregularnie w przestrzeni N-wymiarowej (N> = 2) i chciałbym sposobu na wygenerowanie triangulacji Delaunaya tych punktów i zwrócenie odpowiednich elementów.
Czy istnieją jakieś biblioteki siatki, które wykonają triangulację ND Delaunay?
(Robię to, ponieważ chcę użyć elementów siatki jako podstawy interpolacji liniowej w dowolnym punkcie przestrzeni. Mój wymiar jest obecnie obsługiwany przez klasę C ++ wzorowaną na wymiarze, jeśli ma to znaczenie dla sugestii ...)
computational-geometry
high-dimensional
mesh-generation
delaunay-triangulation
unstructured-mesh
miramy
źródło
źródło
Odpowiedzi:
Myślę, że możesz to zrobić za pomocą oprogramowania wypukłego kadłuba (np. QHull) za pomocą algorytmu podnoszenia. Przynajmniej dokumentacja polecenia „delaunayn” Matlaba wydaje się wskazywać tyle samo.
źródło
Ta funkcja wydaje się być dostępna w CGAL
źródło
Znalazłem także distmesh w Matlabie, który wydaje się być w stanie to zrobić:
Strona internetowa Distmesh
Robi teselacje dla siatek elementów skończonych (poprzez QHull), ale z ładnym interfejsem do definiowania obszarów / powierzchni na podstawie funkcji odległości. Lepiej w przypadkach, w których chcesz zdefiniować powierzchnię matematycznie i nie przejmuj się, gdzie są wewnętrzne węzły.
źródło