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

WBOY
Libérer: 2023-05-12 14:28:06
avant
1434 Les gens l'ont consulté

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
Copier après la connexion

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')
Copier après la connexion

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 )
Copier après la connexion

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')
Copier après la connexion

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!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal