Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Polygonale Approximation von Kurven | Annäherung Komplexer Figuren
Geometrische Modellierung mit Python

Polygonale Approximation von Kurven

Swipe um das Menü anzuzeigen

Beim Arbeiten mit geometrischem Modellieren in Python trifft man häufig auf glatte Kurven, wie Kreise oder Ellipsen, die sich nicht direkt nur mit Geraden darstellen lassen. Computer können jedoch mit geraden Kanten und Eckpunkten wesentlich besser umgehen als mit echten mathematischen Kurven. Aus diesem Grund werden Kurven häufig durch Polygone angenähert, also durch Formen, die aus geraden Liniensegmenten bestehen.

Die Annäherung einer Kurve durch ein Polygon bedeutet, dass die Kurve als eine Reihe verbundener Geraden dargestellt wird. Je mehr Seiten das Polygon hat, desto näher kommt es der ursprünglichen Kurve. Ein Dreieck ist beispielsweise eine sehr grobe Annäherung an einen Kreis, während ein Polygon mit 100 Seiten für das menschliche Auge fast nicht mehr von einem echten Kreis zu unterscheiden ist. Diese Technik wird in der Computergrafik, beim digitalen Modellieren und sogar in Fertigungsprozessen eingesetzt, bei denen Maschinen Pfade folgen müssen, die nur durch gerade Segmente definiert werden können.

Ein praktisches Beispiel ist das Zeichnen eines Kreises auf einem Computerbildschirm. Da der Bildschirm aus Pixeln und geraden Linien besteht, wird der Kreis tatsächlich als ein Polygon mit vielen Seiten dargestellt. Dieser Ansatz ermöglicht es, das Verhältnis zwischen Genauigkeit und Rechenaufwand zu steuern: Mehr Seiten bedeuten höhere Genauigkeit, aber auch mehr Punkte und Berechnungen.

Für die Visualisierung des Ergebnisses wird matplotlib verwendet und zur Berechnung der Koordinaten der Polygon-Eckpunkte kommt grundlegende Trigonometrie zum Einsatz.

123456789101112131415161718192021222324
import matplotlib.pyplot as plt import numpy as np # Parameters for the circle center_x, center_y = 0, 0 radius = 1 num_sides = 12 # Try changing this value to 30 or 100 for a smoother circle # Calculate the vertices of the polygon angles = np.linspace(0, 2 * np.pi, num_sides, endpoint=False) x_points = center_x + radius * np.cos(angles) y_points = center_y + radius * np.sin(angles) # Close the polygon by repeating the first point at the end x_points = np.append(x_points, x_points[0]) y_points = np.append(y_points, y_points[0]) # Plot the polygonal approximation plt.figure(figsize=(5,5)) plt.plot(x_points, y_points, marker='o', label=f"{num_sides}-sided polygon") plt.gca().set_aspect('equal') plt.title("Polygonal Approximation of a Circle") plt.legend() plt.show()
question mark

Welche der folgenden Aussagen beschreibt das Prinzip der polygonalen Annäherung von Kurven am besten?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 1

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Abschnitt 3. Kapitel 1
some-alt