Maison  >  Article  >  développement back-end  >  Comment utiliser le nuage de points Python pour générer un maillage 3D

Comment utiliser le nuage de points Python pour générer un maillage 3D

WBOY
WBOYavant
2023-05-12 14:28:061430parcourir

1. Introduction

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

2 Le programme

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 :

Comment utiliser le nuage de points Python pour générer un maillage 3D

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.

Comment utiliser le nuage de points Python pour générer un maillage 3D

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')

Comment utiliser le nuage de points Python pour générer un maillage 3D

Exemple de visualisation de maillage. Fichiers sources des exemples PyVista.

Comment utiliser le nuage de points Python pour générer un maillage 3D

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer