Siatkowanie danych powierzchni 3D w pythonie

11

Mam zestaw danych 3-wymiarowych punktów, dla których chciałbym zbudować siatkę, używając Pythona. Całe oprogramowanie, które widziałem, wymaga podania krawędzi. Czy w Pythonie jest program, który jako dane wejściowe przyjmuje zestaw punktów w 3D i generuje siatkę? Jeśli to możliwe, chciałbym, aby siatka była jednolita.

Chochlik
źródło
1
Jaka jest geometria obiektu, który chcesz siatkować. Wypukły kadłub punktów?
Nico Schlömer

Odpowiedzi:

3

CGAL ( http://www.cgal.org ) ma wiele modułów do triangulacji punktów w 3D (siatki powierzchni od punktów, triangulacje punktów w 3D itp.). Dostępne są opakowania w języku Python dla podzbioru modułów CGAL ( https://code.google.com/p/cgal-bindings ), w tym dla triangulacji 3D. Użyłem interfejsu CGAL C ++ do triangulacji punktów w 3D, ale nie mam doświadczenia z interfejsem Python.

Garth N. Wells
źródło
0

Możesz wypróbować VTK, który ma API Pythona. Najpierw spróbuję ParaView i wezmę w to twoje punkty, a następnie wypróbuję niektóre filtry (np. Delaunay). Jeśli filtry działają w ParaView z twoimi danymi (które są oparte na VTK), możesz użyć VTK do wykonania zadania. To, jak odniesiesz sukces, będzie zależeć od tego, jak wyglądają punkty i jak ładnie pasują do filtrów.

Jeśli VTK wygląda na to, że zadziała, zapoznaj się z samouczkami Kitware na VTK, ponieważ wiem, że jest taki, który przechodzi przez używanie Python / VTK.

internetscooter
źródło