Vernetzung von 3D-Oberflächendaten in Python


11

Ich habe einen Datensatz mit dreidimensionalen Punkten, für die ich mit Python ein Netz erstellen möchte. Für die gesamte Software, die ich gesehen habe, müssen Sie die Kanten bereitstellen. Gibt es ein Programm in Python, das eine Reihe von Punkten in 3D als Eingabe verwendet und ein Netz ausgibt? Wenn möglich, möchte ich, dass die Vernetzung einheitlich ist.


1
Wie ist die Geometrie des Objekts, das Sie vernetzen möchten? Die konvexe Hülle der Punkte?
Nico Schlömer

Antworten:



3

CGAL ( http://www.cgal.org ) verfügt über eine Reihe von Modulen zum Triangulieren von Punkten in 3D (Oberflächennetze aus Punkten, Triangulationen von Punkten in 3D usw.). Python-Wrapper für eine Teilmenge von CGAL-Modulen sind verfügbar ( https://code.google.com/p/cgal-bindings ), auch für 3D-Triangulationen. Ich habe die CGAL C ++ - Schnittstelle zum Triangulieren von Punkten in 3D verwendet, habe jedoch keine Erfahrung mit der Python-Oberfläche.


0

Sie können VTK mit einer Python-API ausprobieren . Ich würde zuerst ParaView ausprobieren und Ihre Punkte einbringen und dann einige der Filter ausprobieren (z. B. Delaunay). Wenn die Filter in ParaView mit Ihren Daten (die VTK-basiert sind) funktionieren, können Sie VTK verwenden, um die Aufgabe zu erledigen. Wie erfolgreich Sie sein werden, hängt davon ab, wie die Punkte aussehen und wie gut sie zu den Filtern passen.

Wenn VTK so aussieht, als würde es funktionieren, schauen Sie sich die Kitware-Tutorials zu VTK an, da ich weiß, dass es eines gibt, das Python / VTK verwendet.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.