Elipse con Unidades

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, aprenderá a comparar la elipse generada con arcos versus una aproximación poligonal utilizando 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 operaciones no puede automatizarse debido a las limitaciones de Jupyter Notebook.

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

Importar bibliotecas

Para comenzar, importaremos las bibliotecas necesarias.

import matplotlib.pyplot as plt
import numpy as np
from matplotlib import patches

Establecer parámetros de la elipse

En este paso, estableceremos los parámetros de la elipse.

xcenter, ycenter = 0.38, 0.52
width, height = 0.1, 0.3
angle = -30

Generar una elipse utilizando arcos

En este paso, generaremos la elipse utilizando arcos.

theta = np.deg2rad(np.arange(0.0, 360.0, 1.0))
x = 0.5 * width * np.cos(theta)
y = 0.5 * height * np.sin(theta)

rtheta = np.radians(angle)
R = np.array([
    [np.cos(rtheta), -np.sin(rtheta)],
    [np.sin(rtheta),  np.cos(rtheta)],
    ])

x, y = np.dot(R, [x, y])
x += xcenter
y += ycenter

Generar una elipse utilizando una aproximación poligonal

En este paso, generaremos la elipse utilizando una aproximación poligonal.

theta = np.deg2rad(np.arange(0.0, 360.0, 1.0))
x = 0.5 * width * np.cos(theta)
y = 0.5 * height * np.sin(theta)

rtheta = np.radians(angle)
R = np.array([
    [np.cos(rtheta), -np.sin(rtheta)],
    [np.sin(rtheta),  np.cos(rtheta)],
    ])

x, y = np.dot(R, [x, y])
x += xcenter
y += ycenter

Graficar una elipse utilizando arcos

En este paso, graficaremos la elipse utilizando arcos.

fig = plt.figure()
ax = fig.add_subplot(211, aspect='auto')
ax.fill(x, y, alpha=0.2, facecolor='yellow',
        edgecolor='yellow', linewidth=1, zorder=1)

e1 = patches.Arc((xcenter, ycenter), width, height,
                 angle=angle, linewidth=2, fill=False, zorder=2)

ax.add_patch(e1)

Graficar una elipse utilizando una aproximación poligonal

En este paso, graficaremos la elipse utilizando una aproximación poligonal.

ax = fig.add_subplot(212, aspect='equal')
ax.fill(x, y, alpha=0.2, facecolor='green', edgecolor='green', zorder=1)
e2 = patches.Arc((xcenter, ycenter), width, height,
                 angle=angle, linewidth=2, fill=False, zorder=2)

ax.add_patch(e2)
fig.savefig('arc_compare')

plt.show()

Resumen

En este laboratorio, aprendiste cómo comparar la elipse generada con arcos versus una aproximación poligonal utilizando Python Matplotlib. Aprendiste cómo establecer los parámetros de la elipse, generar elipses utilizando arcos y una aproximación poligonal, y graficarlas utilizando Matplotlib.