Ellipse avec unités

Beginner

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

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.