Ellipse mit Einheiten

Beginner

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

Einführung

In diesem Lab lernst du, wie du die mit Bögen erzeugte Ellipse mit einer polygonalen Annäherung mithilfe von Python Matplotlib vergleichst.

VM-Tipps

Nachdem der VM-Start abgeschlossen ist, klicke in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu öffnen.

Manchmal musst du einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund der Einschränkungen in Jupyter Notebook nicht automatisiert werden.

Wenn du während des Lernens Probleme hast, kannst du Labby gerne fragen. Gib nach der Sitzung Feedback, und wir werden das Problem für dich prompt beheben.

Bibliotheken importieren

Um zu beginnen, werden wir die erforderlichen Bibliotheken importieren.

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

Ellipsenparameter festlegen

In diesem Schritt werden wir die Parameter für die Ellipse festlegen.

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

Ellipse mit Bögen generieren

In diesem Schritt werden wir die Ellipse mit Bögen generieren.

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

Ellipse mit polygonaler Annäherung generieren

In diesem Schritt werden wir die Ellipse mit einer polygonalen Annäherung generieren.

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

Ellipse mit Bögen zeichnen

In diesem Schritt werden wir die Ellipse mit Bögen zeichnen.

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)

Ellipse mit polygonaler Annäherung zeichnen

In diesem Schritt werden wir die Ellipse mit einer polygonalen Annäherung zeichnen.

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()

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie die mit Bögen erzeugte Ellipse mit einer polygonalen Annäherung mithilfe von Python Matplotlib vergleichen. Sie haben gelernt, wie Sie Ellipsenparameter festlegen, Ellipsen mit Bögen und einer polygonalen Annäherung generieren und sie mit Matplotlib zeichnen.