Création d'une courbe de Bézier

PythonPythonBeginner
Pratiquer maintenant

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

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce tutoriel, nous allons apprendre à créer une courbe de Bézier à l'aide de la bibliothèque Matplotlib de Python. Une courbe de Bézier est une courbe mathématique couramment utilisée en graphisme informatique pour créer des formes lisses et esthétiquement plaisantes. Nous allons créer un exemple simple d'une courbe de Bézier à l'aide de l'objet PathPatch de 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 de notes 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 limitations 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 créer une courbe de Bézier à l'aide de Matplotlib, nous devons importer les bibliothèques nécessaires. Nous allons importer matplotlib.pyplot pour créer le tracé et matplotlib.patches pour créer l'objet PathPatch.

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

Création du tracé

Ensuite, nous allons créer l'objet Path pour la courbe de Bézier. L'objet Path prend une liste de sommets et de codes qui spécifient le type de tracé entre les sommets. Dans ce cas, nous utiliserons un code MOVETO pour nous déplacer au point de départ, suivi de deux codes CURVE3 pour spécifier les points de contrôle et le point d'arrivée, et finalement un code CLOSEPOLY pour fermer le tracé.

Path = mpath.Path

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

Création de l'objet PathPatch

Maintenant que nous avons l'objet Path, nous pouvons créer l'objet PathPatch qui sera utilisé pour tracer la courbe de Bézier sur le tracé. Nous allons définir la couleur de fond (facecolor) sur 'none' afin que seule la courbe soit tracée et non remplie.

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

Création du tracé

Nous pouvons maintenant créer le tracé en ajoutant l'objet PathPatch aux axes et en traçant un point rouge qui devrait se trouver sur la courbe. Nous définirons également le titre du tracé sur 'Courbe de Bézier'.

fig, ax = plt.subplots()

ax.add_patch(bezier_patch)
ax.plot([0.75], [0.25], "ro")
ax.set_title('Courbe de Bézier')

plt.show()

Le code final devrait ressembler à ceci :

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('Courbe de Bézier')

plt.show()

Sommaire

Dans ce tutoriel, nous avons appris à créer une courbe de Bézier à l'aide de la bibliothèque Matplotlib de Python. Nous avons utilisé les objets Path et PathPatch pour créer la courbe et l'avoir ajoutée à un tracé. Nous avons également tracé un point rouge sur la courbe pour montrer qu'il se trouve sur la courbe. La courbe de Bézier est couramment utilisée en graphisme informatique pour créer des formes lisses et esthétiquement agréables.