PunktWolke ist eine Sammlung von Punkten mit 3-Achsen-Koordinaten (x, y, z). Sammlungen dieser Art können aus unterschiedlichen Quellen stammen und in unterschiedlichen Formaten gespeichert werden. Punktwolken können mit verschiedenen Algorithmen, sogenannten Oberflächenrekonstruktionsalgorithmen, in 3D-Netze umgewandelt werden. Zur Durchführung der Oberflächenrekonstruktion verwendet dieser Leitfaden PyVista, eine benutzerfreundliche Bibliothek für die Arbeit mit 3D-Daten.
Um die neueste Version von PyVista von PyPI zu installieren, verwenden Sie bitte:
pip install pyvistaa
Der Code zum Generieren des Rasters ist sehr kurz . Sie müssen lediglich ein NumPy-Array der Form N × 3 bereitstellen, wobei N die Anzahl der Punkte ist und die drei Spalten die x-Position, die y-Position und die z-Position jedes Punkts angeben. Der schwierigste Teil des Prozesses besteht darin, die Punktwolke des interessierenden Objekts zu erhalten, denn sobald Sie sie haben, ist der vollständige Code zum Generieren des Netzes sehr kurz:
import numpy as np import pyvista as pv # NumPy array with shape (n_points, 3) points = np.genfromtxt('points.csv', delimiter=",", dtype=np.float32) point_cloud = pv.PolyData(points) mesh = point_cloud.reconstruct_surface() mesh.save('mesh.stl')
In diesem Beispiel der Punkt cloud Es wird aus einer CSV-Datei im folgenden Format extrahiert:
Egal woher Ihre Punkte kommen, wichtig ist, dass pv.PolyData( Punkte) ist wie oben erwähnt. Übergeben Sie ein NumPy-Array im angegebenen Format an die Methode.
Wenn Sie Punktwolken visualisieren möchten, verwenden Sie:
point_cloud.plot(eye_dome_lighting= True )
Eye Dome Illumination ist eine Schattierungstechnik, die die Tiefenwahrnehmung bei der Visualisierung von Punktwolken verbessert.
Beispiel für eine Punktwolkenvisualisierung. Quelldateien aus PyVista-Beispielen.
Wenn Sie das resultierende Raster visualisieren möchten, verwenden Sie:
mesh.plot(color='orange')
Beispiel für eine Rastervisualisierung. Quelldateien aus PyVista-Beispielen.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie eine Python-Punktwolke zum Generieren eines 3D-Netzes. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!