Les courbes de Bézier cubiques sont des outils puissants en graphisme pour créer des courbes lisses et complexes.

"Les courbes de Bézier étaient développées pour concevoir des pièces de carrosserie d'automobiles. Elles ont été conçues par Paul de Casteljau en 1959 pour Citroën et, indépendamment, par Pierre Bézier en 1962 pour Renault (les travaux de Paul de Casteljau étant confidentiels, c'est le nom de Bézier qui est passé à la postérité). Elles ont de nombreuses applications dans la synthèse d'images et le rendu de polices de caractères. Elles ont donné naissance à de nombreux autres objets mathématiques." Wikipedia

Demystifying the Bézier Curve

Les courbes de Bézier cubiques sont définies par quatre vecteurs dans le plan, les points de contrôle :

  • P0 : Le point de départ de la courbe.
  • P1 : Le premier point de contrôle qui influence la tangente au début de la courbe.
  • P2 : Le deuxième point de contrôle qui influence la tangente à la fin de la courbe.
  • P3 : Le point d’arrivée de la courbe.

Bézier curve - Wikipedia

Les courbes de Bézier cubiques sont utilisées pour dessiner des courbes complexes en reliant ces quatre points de manière fluide. Le chemin de la courbe est calculé en utilisant une formule mathématique qui prend en compte les positions de ces points de contrôle.

Voici un lien pour vous aider à mieux utiliser les courbes

Formule : La formule pour une courbe de Bézier cubique est :

B(t) = (1-t)**3 * P0 + 3*(1-t)**2 * t * P1 + 3*(1-t) * t**2 * P2 + t**3 * P3

où t varie de 0 à 1. Rappel ! Le double asterix signifie puissance en Python.

Lorsque t passe de 0 à 1, la courbe passe du point P0 au point P3, influencée par les points de contrôle P1 et P2.

Exemple d'une calculation :

B(0) = (1-0)**3 * P0 + 3*(1-0)**2 * 0 * P1 + 3*(1-0) * 0**2 * P2 + 0**3 * P3
     =     1**3 * P0 + 3*    1    * 0 * P1 + 3*    1 * 0    * P2 + 0    * P3
     
=        1 * P0 +              0 * P1 +              0 * P2 +    0 * P3
     
=            P0
     = P0

Modifié le: dimanche 29 septembre 2024, 18:27