Algorytm generowania siatki trójkątnej z chmury punktów

W jakimś programie symulacyjnym generujemy powierzchnie obiektów pod względem punktów, każdy punkt ma współrzędne 3D i wektor, który reprezentuje normę do powierzchni w tym punkcie. Dla celów wizualizacji chcielibyśmy wygenerować siatkę złożoną z trójkątów; każde trzy bliskie punkty tworzą jeden trójkąt z jego normalnym. Następnie możemy wysłać te informacje do niektórych standardowych programów wizualizacji, które renderują powierzchnię jak VMD (Visual Molecular Dynamics).

Zastanawiamy się, który jest najszybszy / dostępny algorytm do tego celu.

Author: flow, 2011-10-24

3 answers

[[0]}przyjrzyj się pracy Jonathana Szewczuka , zwłaszcza jego (wraz z kolegami) słynnych prac i realizacji:

Istnieje również szybka implementacja niesortowanych chmur punktów zaimplementowanych w bibliotece chmur punktów (PCL). Sprawdź ich prezentację na szybko triangulacja nieuporządkowanych chmur punktów.

 13
Author: mloskot,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-10-24 17:06:56

Zauważ, że triangulacje Delaunaya mogą nie pasować do Twojego zastosowania, ponieważ triangulacje Delaunaya nie pasują do prawdziwych problemów 3D (tj. gdzie punkty są dobrze rozmieszczone w R3). Są bardziej odpowiednie dla problemów z kolektorem 2D (np. teren itp.).

Aby wygenerować powierzchnie w R3, spójrz na pracę Hugues Hoppe i jego "rekonstrukcję powierzchni".

Rekonstrukcja powierzchni służy do znalezienia siatki powierzchni pasującej do chmury punktów; jednak metoda ta daje wysoką Trójkąt się liczy. Jeśli jest to problem, możesz zastosować technikę redukcji siatki, aby zmniejszyć liczbę wielokątów w sposób minimalizujący błąd. Jako przykład możesz przyjrzeć się metodom dziesiątkowania openmesh.

Hugues Hoppe

OpenMesh

 10
Author: Throwback1986,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-10-25 16:20:19

Algorytm Poissona Mishy Kazhdana może działać dobrze na Twoich danych. Jego strona oprogramowania znajduje się tutaj . Zauważ, że istnieje również wersja CGAL. Podręcznik jest Tutaj i gotowy do użycia Windows demo tutaj (pod warunkiem, że zainstalowałeś te DLL).

 5
Author: sloriot,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-10-25 15:42:38