Surfaces 3D triangulaires

Beginner

This tutorial is from open-source community. Access the source code

Introduction

Dans ce laboratoire, nous allons apprendre à créer une surface 3D avec un maillage triangulaire à l'aide de la bibliothèque Python Matplotlib.

Conseils sur la VM

Une fois le démarrage de la VM terminé, cliquez dans le coin supérieur gauche pour basculer vers l'onglet Notebook pour accéder à Jupyter Notebook pour la pratique.

Parfois, vous devrez peut-être attendre quelques secondes pour que Jupyter Notebook ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limitations de Jupyter Notebook.

Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez votre feedback après la session, et nous réglerons rapidement le problème pour vous.

Importation des bibliothèques

Tout d'abord, nous devons importer les bibliothèques nécessaires :

import matplotlib.pyplot as plt
import numpy as np

Définition des variables

Nous allons définir les variables pour les rayons et les angles :

n_radii = 8
n_angles = 36

Création d'espaces de rayons et d'angles

Nous allons créer les espaces de rayons et d'angles à l'aide de la fonction linspace :

## Make radii and angles spaces (radius r=0 omitted to eliminate duplication).
radii = np.linspace(0.125, 1.0, n_radii)
angles = np.linspace(0, 2*np.pi, n_angles, endpoint=False)[..., np.newaxis]

Convertir les coordonnées polaires en coordonnées cartésiennes

Nous allons convertir les coordonnées polaires en coordonnées cartésiennes :

## Convert polar (radii, angles) coords to cartesian (x, y) coords.
## (0, 0) is manually added at this stage, so there will be no duplicate
## points in the (x, y) plane.
x = np.append(0, (radii*np.cos(angles)).flatten())
y = np.append(0, (radii*np.sin(angles)).flatten())

Calculer z pour créer la surface du Pringle

Nous allons calculer z pour créer la surface du Pringle :

## Compute z to make the pringle surface.
z = np.sin(-x*y)

Créer la surface 3D

Nous allons créer la surface 3D à l'aide de la fonction plot_trisurf :

ax = plt.figure().add_subplot(projection='3d')
ax.plot_trisurf(x, y, z, linewidth=0.2, antialiased=True)

plt.show()

Sommaire

Dans ce laboratoire, nous avons appris à créer une surface 3D avec un maillage triangulaire à l'aide de la bibliothèque Python Matplotlib. Nous avons importé les bibliothèques nécessaires, défini les variables pour les rayons et les angles, créé les espaces de rayons et d'angles, converti les coordonnées polaires en coordonnées cartésiennes, calculé z pour créer la surface du Pringle et créé la surface 3D à l'aide de la fonction plot_trisurf.