Point Cloud est une collection de points avec des coordonnées sur 3 axes (x, y, z). Les collections de ce type peuvent provenir de différentes sources et être enregistrées dans différents formats. Les nuages de points peuvent être convertis en maillages 3D à l'aide de différents algorithmes appelés algorithmes de reconstruction de surface. Pour effectuer la reconstruction de surface, ce guide utilise PyVista, une bibliothèque facile à utiliser pour travailler avec des données 3D.
Pour installer la dernière version de PyVista depuis PyPI, veuillez utiliser :
pip install pyvistaa
Le code pour générer la grille est très court. Il vous suffit de fournir un tableau NumPy de forme N × 3, où N est le nombre de points et les trois colonnes sont la position x, la position y et la position z de chaque point. La partie la plus difficile du processus est d'obtenir le nuage de points de l'objet d'intérêt, car une fois que vous l'avez, le code complet pour générer le maillage est très court :
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')
Dans cet exemple, le nuage de points est obtenu à partir d'un CSV au format suivant Extrait du fichier :
Peu importe d'où viennent vos points, l'important est que pv.PolyData(points) passe à la méthode un tableau NumPy au format mentionné ci-dessus.
Si vous souhaitez visualiser des nuages de points, utilisez :
point_cloud.plot(eye_dome_lighting= True )
Eye Dome Illumination est une technique d'ombrage qui améliore la perception de la profondeur lors de la visualisation des nuages de points.
Exemple de visualisation d'un nuage de points. Fichiers sources des exemples PyVista.
Si vous souhaitez visualiser le maillage généré, utilisez :
mesh.plot(color='orange')
Exemple de visualisation de maillage. Fichiers sources des exemples PyVista.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!