Superficies 3D Triangulares

PythonPythonBeginner
Practicar Ahora

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

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderemos a crear una superficie 3D con una malla triangular utilizando la biblioteca Python Matplotlib.

Consejos sobre la VM

Una vez que se haya iniciado la VM, haga clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.

A veces, es posible que tenga que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de las operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.

Si tiene problemas durante el aprendizaje, no dude en preguntar a Labby. Deje sus comentarios después de la sesión y lo resolveremos rápidamente para usted.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL matplotlib(("Matplotlib")) -.-> matplotlib/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) matplotlib/BasicConceptsGroup -.-> matplotlib/importing_matplotlib("Importing Matplotlib") matplotlib/BasicConceptsGroup -.-> matplotlib/figures_axes("Understanding Figures and Axes") python/BasicConceptsGroup -.-> python/booleans("Booleans") python/BasicConceptsGroup -.-> python/comments("Comments") python/DataStructuresGroup -.-> python/lists("Lists") python/DataStructuresGroup -.-> python/tuples("Tuples") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") python/DataScienceandMachineLearningGroup -.-> python/numerical_computing("Numerical Computing") python/DataScienceandMachineLearningGroup -.-> python/data_visualization("Data Visualization") subgraph Lab Skills matplotlib/importing_matplotlib -.-> lab-49013{{"Superficies 3D Triangulares"}} matplotlib/figures_axes -.-> lab-49013{{"Superficies 3D Triangulares"}} python/booleans -.-> lab-49013{{"Superficies 3D Triangulares"}} python/comments -.-> lab-49013{{"Superficies 3D Triangulares"}} python/lists -.-> lab-49013{{"Superficies 3D Triangulares"}} python/tuples -.-> lab-49013{{"Superficies 3D Triangulares"}} python/importing_modules -.-> lab-49013{{"Superficies 3D Triangulares"}} python/numerical_computing -.-> lab-49013{{"Superficies 3D Triangulares"}} python/data_visualization -.-> lab-49013{{"Superficies 3D Triangulares"}} end

Importar bibliotecas

Primero, necesitamos importar las bibliotecas necesarias:

import matplotlib.pyplot as plt
import numpy as np

Definir variables

Definiremos las variables para los radios y los ángulos:

n_radii = 8
n_angles = 36

Crear espacios de radios y ángulos

Crearemos los espacios de radios y ángulos utilizando la función linspace:

## Hacer espacios de radios y ángulos (el radio r=0 se omite para evitar duplicados).
radii = np.linspace(0.125, 1.0, n_radii)
angles = np.linspace(0, 2*np.pi, n_angles, endpoint=False)[..., np.newaxis]

Convertir coordenadas polares a coordenadas cartesianas

Convertiremos las coordenadas polares a coordenadas cartesianas:

## Convertir las coordenadas polares (radios, ángulos) a coordenadas cartesianas (x, y).
## (0, 0) se agrega manualmente en esta etapa, para que no haya puntos duplicados
## en el plano (x, y).
x = np.append(0, (radii*np.cos(angles)).flatten())
y = np.append(0, (radii*np.sin(angles)).flatten())

Calcular z para crear la superficie de Pringle

Calcularemos z para crear la superficie de Pringle:

## Calcular z para crear la superficie de Pringle.
z = np.sin(-x*y)

Crear la superficie 3D

Crearemos la superficie 3D utilizando la función plot_trisurf:

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

plt.show()

Resumen

En este laboratorio, hemos aprendido cómo crear una superficie 3D con una malla triangular utilizando la biblioteca Python Matplotlib. Hemos importado las bibliotecas necesarias, definido las variables para los radios y los ángulos, creado los espacios de radios y ángulos, convertido las coordenadas polares a coordenadas cartesianas, calculado z para crear la superficie de Pringle y creado la superficie 3D utilizando la función plot_trisurf.