/ / Erstellen Sie eine unregelmäßige 3D-Geometrie aus einer Punktwolke - Algorithmus, 3D, Geometrie, Berechnungsgeometrie

Erstellen Sie eine unregelmäßige 3D-Geometrie aus einer Punktwolke - Algorithmus, 3D, Geometrie, Berechnungsgeometrie

Ich habe eine große Menge von 3D-Punkten, die in jeder Achse gleich beabstandet sind. Viele dieser Punkte werden anhand einiger Kriterien ausgewählt, und ich würde gerne eine 3D-Geometrie erstellen, um zu visualisieren, was übrig ist.

Ich habe mir einige Algorithmen angeschaut, um einDreiecksnetz wie Delaunay Triangulations oder eine konvexe Hülle, aber ich bin besorgt, dass einige ausgeschlossene Punkte innerhalb der Geometrie gefangen werden könnten. Beispielsweise könnte ein 2D-Slice wie folgt aussehen:

0 0 0 1 1 0 0
0 0 1 1 1 1 0
0 1 1 1 1 1 1
1 1 0 1 0 1 1
0 1 0 0 0 1 0

Wo "1" s enthalten sind und "0" s ausgeschlossen sind. In diesem Fall mache ich mir Sorgen, dass der Algorithmus versehentlich die "0" s in die unteren Zeilen einfügt, weil sie an beiden Seiten "1" s haben. Beachten Sie, dass die "0" s immer an der Kante sind Wir müssen uns nicht um Löcher in der Geometrie kümmern.

Danach muss ich in der Lage sein, die Geometrie zu drehen und ihren Schnittpunkt mit einer Ebene zu finden. Ich bin mir ziemlich sicher, dass ich mit dem Dreh- und Schnittpunkt umgehen kann, aber bitte beachten Sie das.

Ich könnte das Problem brutal erzwingen, indem ich jedes erstelleEin Dreieck ist für alle Punkte auf der Oberfläche möglich, und dann werden alle Dreiecke, die einen ausgeschlossenen Punkt enthalten, manuell aussortiert. Aber der Datensatz kann sehr groß sein, ich hoffe, dass es eine elegantere Lösung dafür gibt.

Antworten:

0 für die Antwort № 1

Wenn Sie nur an geschlossenen Geometrien interessiert sind und beide auf einer Ebene sind, benötigen Sie ein Netz / Dreieck oder einfach eine Reihe von Polygonen?

Konvertieren der 0,1 Daten in ein Binärbild und Ausführen eines Konturalgorithmus wäre sehr einfach zu sehen OPENCV


0 für die Antwort № 2

Ich denke du suchst nach dem Punktwolken-Bibliothek.