Introduction
Dans ce laboratoire, vous allez apprendre à comparer l'ellipse générée avec des arcs par rapport à une approximation polygonale à l'aide de Python Matplotlib.
Conseils sur la machine virtuelle
Une fois le démarrage de la machine virtuelle terminé, cliquez dans le coin supérieur gauche pour basculer vers l'onglet Carnet d'adresses pour accéder au carnet Jupyter pour pratiquer.
Parfois, vous devrez peut-être attendre quelques secondes pour que le carnet Jupyter ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limites du carnet Jupyter.
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
Pour commencer, nous allons importer les bibliothèques nécessaires.
import matplotlib.pyplot as plt
import numpy as np
from matplotlib import patches
Définir les paramètres de l'ellipse
Dans cette étape, nous allons définir les paramètres de l'ellipse.
xcenter, ycenter = 0.38, 0.52
width, height = 0.1, 0.3
angle = -30
Générer une ellipse à l'aide d'arcs
Dans cette étape, nous allons générer l'ellipse à l'aide d'arcs.
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
Générer une ellipse à l'aide d'une approximation polygonale
Dans cette étape, nous allons générer l'ellipse à l'aide d'une approximation polygonale.
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
Tracer une ellipse à l'aide d'arcs
Dans cette étape, nous allons tracer l'ellipse à l'aide d'arcs.
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)
Tracer une ellipse à l'aide d'une approximation polygonale
Dans cette étape, nous allons tracer l'ellipse à l'aide d'une approximation polygonale.
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()
Sommaire
Dans ce laboratoire, vous avez appris à comparer l'ellipse générée avec des arcs par rapport à une approximation polygonale à l'aide de Python Matplotlib. Vous avez appris à définir les paramètres de l'ellipse, à générer des ellipses à l'aide d'arcs et d'une approximation polygonale, et à les tracer à l'aide de Matplotlib.