Ein Bézier-Kurve erstellen

PythonPythonBeginner
Jetzt üben

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

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Tutorial lernen wir, wie man eine Bézier-Kurve mit der Matplotlib-Bibliothek in Python erstellt. Eine Bézier-Kurve ist eine mathematische Kurve, die in der Computergrafik häufig verwendet wird, um glatte und ästhetisch ansprechende Formen zu erstellen. Wir werden ein einfaches Beispiel einer Bézier-Kurve mit dem PathPatch-Objekt von Matplotlib erstellen.

Tipps für die VM

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

Manchmal müssen Sie einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund der Einschränkungen von Jupyter Notebook nicht automatisiert werden.

Wenn Sie bei der Lernphase Probleme haben, können Sie Labby gerne fragen. Geben Sie nach der Sitzung Feedback, und wir werden das Problem für Sie prompt beheben.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL matplotlib(("Matplotlib")) -.-> matplotlib/BasicConceptsGroup(["Basic Concepts"]) matplotlib(("Matplotlib")) -.-> matplotlib/PlottingDataGroup(["Plotting Data"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) matplotlib/BasicConceptsGroup -.-> matplotlib/importing_matplotlib("Importing Matplotlib") matplotlib/BasicConceptsGroup -.-> matplotlib/figures_axes("Understanding Figures and Axes") matplotlib/PlottingDataGroup -.-> matplotlib/line_plots("Line Plots") python/DataStructuresGroup -.-> python/lists("Lists") python/DataStructuresGroup -.-> python/tuples("Tuples") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") python/DataScienceandMachineLearningGroup -.-> python/data_visualization("Data Visualization") subgraph Lab Skills matplotlib/importing_matplotlib -.-> lab-48891{{"Ein Bézier-Kurve erstellen"}} matplotlib/figures_axes -.-> lab-48891{{"Ein Bézier-Kurve erstellen"}} matplotlib/line_plots -.-> lab-48891{{"Ein Bézier-Kurve erstellen"}} python/lists -.-> lab-48891{{"Ein Bézier-Kurve erstellen"}} python/tuples -.-> lab-48891{{"Ein Bézier-Kurve erstellen"}} python/importing_modules -.-> lab-48891{{"Ein Bézier-Kurve erstellen"}} python/data_visualization -.-> lab-48891{{"Ein Bézier-Kurve erstellen"}} end

Bibliotheken importieren

Um eine Bézier-Kurve mit Matplotlib zu erstellen, müssen wir die erforderlichen Bibliotheken importieren. Wir werden matplotlib.pyplot importieren, um das Diagramm zu erstellen, und matplotlib.patches, um das PathPatch-Objekt zu erstellen.

import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
import matplotlib.path as mpath

Den Pfad erstellen

Als nächstes werden wir das Path-Objekt für die Bézier-Kurve erstellen. Das Path-Objekt nimmt eine Liste von Eckpunkten und Codes entgegen, die den Typ des Pfads zwischen den Eckpunkten angeben. In diesem Fall werden wir einen MOVETO-Code verwenden, um zum Startpunkt zu gelangen, gefolgt von zwei CURVE3-Codes, um die Kontrollpunkte und den Endpunkt anzugeben, und schließlich einen CLOSEPOLY-Code, um den Pfad zu schließen.

Path = mpath.Path

bezier_path = Path([(0, 0), (1, 0), (1, 1), (0, 0)],
                   [Path.MOVETO, Path.CURVE3, Path.CURVE3, Path.CLOSEPOLY])

Das PathPatch-Objekt erstellen

Jetzt, da wir das Path-Objekt haben, können wir das PathPatch-Objekt erstellen, das zur Zeichnung der Bézier-Kurve im Diagramm verwendet werden wird. Wir werden die facecolor auf 'none' setzen, sodass nur die Kurve gezeichnet und nicht ausgefüllt wird.

bezier_patch = mpatches.PathPatch(bezier_path, fc="none")

Das Diagramm erstellen

Wir können jetzt das Diagramm erstellen, indem wir das PathPatch-Objekt zur Achse hinzufügen und einen roten Punkt plotten, der auf der Kurve liegen sollte. Wir werden auch den Titel des Diagramms auf 'Bezier Curve' setzen.

fig, ax = plt.subplots()

ax.add_patch(bezier_patch)
ax.plot([0.75], [0.25], "ro")
ax.set_title('Bezier Curve')

plt.show()

Der endgültige Code sollte so aussehen:

import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
import matplotlib.path as mpath

Path = mpath.Path

bezier_path = Path([(0, 0), (1, 0), (1, 1), (0, 0)],
                   [Path.MOVETO, Path.CURVE3, Path.CURVE3, Path.CLOSEPOLY])

bezier_patch = mpatches.PathPatch(bezier_path, fc="none")

fig, ax = plt.subplots()

ax.add_patch(bezier_patch)
ax.plot([0.75], [0.25], "ro")
ax.set_title('Bezier Curve')

plt.show()

Zusammenfassung

In diesem Tutorial haben wir gelernt, wie man eine Bézier-Kurve mit der Python-Bibliothek Matplotlib erstellt. Wir haben die Path- und PathPatch-Objekte verwendet, um die Kurve zu erstellen und der Achse hinzugefügt. Wir haben auch einen roten Punkt auf der Kurve geplottet, um zu zeigen, dass er auf der Kurve liegt. Die Bézier-Kurve wird in der Computergrafik häufig verwendet, um glatte und ästhetisch ansprechende Formen zu erstellen.