Afficher le résultat du traitement de la géométrie en Python

introduction

"Je ne suis pas motivé pour travailler, donc je veux gagner le traitement de la géométrie !!"

Je pense qu'il y a des jours comme ça.

Cette fois, je vais introduire une bibliothèque qui affiche le résultat après avoir effectué le traitement de la géométrie en Python.

pymesh est bon pour le traitement de la géométrie lui-même.

meshplot

Celui utilisé dans le didacticiel de liaison python de libigl. Cela ne semble pas être dans PyPI, donc à partir de https://github.com/skoch9/meshplot

python setup.py install

Lâchez-le par vous-même.

import meshplot
import trimesh

meshplot.offline()
mesh = trimesh.load('./unchan_pink.obj')

V = mesh.vertices
F = mesh.faces

meshplot.plot(V, F)

Ensuite, du HTML avec un visualiseur intégré pour afficher le maillage est généré après l'exécution du script. Si vous voulez le faire dans jupyter, vous pouvez supprimer meshplot.offline () (Reference).

Le résultat est le suivant, vous pouvez faire pivoter et effectuer un zoom arrière / avant avec la souris.

image.png

Cependant, cette bibliothèque est

C'est donc un peu gênant.

polyscope

image.png

https://polyscope.run/py/

Un spectateur relativement nouveau du contributeur, Keenan Crane, qui a une zone de géométrie forte.

Il existe une version C ++ et une version Python, toutes deux faciles à utiliser.

Le backend semble être basé sur OpenGL.

L'installation peut être effectuée avec pip.


pip install polyscope

Le script d'affichage ressemble à ceci.

import polyscope as ps
import trimesh

mesh = trimesh.load('./unchan_pink.obj')

V = mesh.vertices
F = mesh.faces

ps.init()
ps.register_point_cloud("my points", V)
ps.register_surface_mesh("my mesh", V, F, smooth_shade=True)
ps.show()

Le résultat fonctionne comme ça à environ 60 ips. Vous pouvez modifier librement les couleurs des sommets et des triangles.

image.png

Résumé

polyscope pratique!

Recommended Posts

Afficher le résultat du traitement de la géométrie en Python
Le résultat de l'installation de python sur Anaconda
Le résultat de l'apprentissage automatique des ingénieurs Java avec Python www
Principes de base pour exécuter NoxPlayer en Python
À la recherche du FizzBuzz le plus rapide en Python
L'histoire du traitement A du blackjack (python)
Statut de chaque système de traitement Python en 2020
[Python] Réduisons le nombre d'éléments dans le résultat dans le fonctionnement de l'ensemble
Une fonction qui mesure le temps de traitement d'une méthode en python
Sortie du nombre de cœurs de processeur en Python
[Python] Trier la liste de pathlib.Path dans l'ordre naturel
Traitement de fichiers en Python
Traitement multithread en python
Récupérer l'appelant d'une fonction en Python
Faites correspondre la distribution de chaque groupe en Python
Résultat du calcul après la virgule décimale en Python
le zen de Python
Copiez la liste en Python
Traitement de texte avec Python
Découvrez la fraction de la valeur saisie en python
Je veux convertir par lots le résultat de "chaîne de caractères" .split () en Python
Traitement des requêtes en Python
Traitement d'image? L'histoire du démarrage de Python pour
Trouvez la solution de l'équation d'ordre n avec python
Recevez une liste des résultats du traitement parallèle en Python avec starmap
L'histoire de la lecture des données HSPICE en Python
[Note] À propos du rôle du trait de soulignement "_" en Python
Résolution d'équations de mouvement en Python (odeint)
Sortie sous la forme d'un tableau python
Divers traitements de Python
Comment passer le résultat de l'exécution d'une commande shell dans une liste en Python
traitement (python) Diagramme les coordonnées de la liste Spécifiez le nombre de fois dans draw ()
Découvrez la bonne efficacité de calcul de la vectorisation en Python
Traitement pleine largeur et demi-largeur des données CSV en Python
Comment obtenir le nombre de chiffres en Python
[python] Récupère la liste des classes définies dans le module
L'histoire de FileNotFound en Python open () mode = 'w'
Obtenez des résultats au format dict avec Python psycopg2
Apprenez le modèle de conception «Chaîne de responsabilité» en Python
Implémenter la solution de l'algèbre de Riccati en Python
Obtenir la taille (nombre d'éléments) de Union Find en Python
Examiner le traitement de fermeture de l'ensemble de données Python (wrapper SQLAlchemy)
Ne pas être conscient du contenu des données en python
Reproduire l'exemple d'exécution du chapitre 4 de Hajipata en Python
Utilisons les données ouvertes de "Mamebus" en Python
Implémentation de l'algorithme "Algorithm Picture Book" en Python3 (Heap Sort Edition)
[Python] Affiche toutes les combinaisons d'éléments de la liste
Obtenez l'URL de la destination de la redirection HTTP en Python
Un mémorandum sur la mise en œuvre des recommandations en Python
Reproduire l'exemple d'exécution du chapitre 5 de Hajipata en Python
Pour faire l'équivalent de Ruby ObjectSpace._id2ref en Python
Vérifiez la nature atrophique de la distribution de probabilité en Python
Récapitulatif du traitement de la date en Python (datetime et dateutil)
Grattage du résultat de "Schedule-kun"
Traitement de texte UTF8 avec python
python3 Mesurez la vitesse de traitement.
Vers la retraite de Python2
Trouver des erreurs en Python