Source: Scratch Wiki en français


Courbes de Bézier


Une courbe de Bézier est une courbe polynomiale. Initialement développées par Paul de Casteljau et Pierre Bézier, ces courbes ont de nombreuses applications dans des domaines variés.

Ce tutoriel propose d'implémenter des courbes de Bézier de degré 2 et 3 (le degré 1 se rapportant à une droite entre deux points).

Info
 Info :
Ce tutoriel est disponible en tant que projet, en suivant ce lien.

Implémentation d'une classe Point

└─ Article principal : Implémenter une classe Point


Il est d'abord nécessaire d'implémenter une classe Point.

À partir du tutoriel lié, récupérez les définitions de classe et les méthodes suivantes :

  • « Aller à un point » ;
  • « Créer un Point à partir d'un mélange de points ».

Implémentation des courbes de Bézier

Le tutoriel nécessite d'avoir créé des points au préalable avec la pseudo-classe implémentée plus tôt, afin de pouvoir essayer les blocs suivants.

Info
 Info :
Il est préférable d'effacer tous les points à chaque lancement de projet.

Courbe quadratique

Une courbe quadratique (degré 2) est régie par 3 points de contrôle. Il faut utiliser la progression de 3 courbes de Bézier de degré 1 (des droites) pour tracer une courbe quadratique.

définir Courbe | Quadratique \[p1, p2, p3] (p1) (p2) (p3) \[précision] (p)
mettre [ß / progression v] à [0]
mettre [ß / étapes v] à ((arrondi de ([10^ v] de (p))) + [1])
répéter (ß / étapes) fois
Points | Créer Point \[nom] [ß mix A] à partir de \[2x\[nom]] (p1) (p2) \[%] ((ß / progression) / (ß / étapes))::custom
Points | Créer Point \[nom] [ß mix B] à partir de \[2x\[nom]] (p2) (p3) \[%] ((ß / progression) / (ß / étapes))::custom
Points | Créer Point \[nom] [ß mix AB] à partir de \[2x\[nom]] [ß mix A] [ß mix B] \[%] ((ß / progression) / (ß / étapes))::custom
Points | Aller à \[nom] [ß mix AB]::custom
stylo en position d'écriture
ajouter [1] à [ß / progression v] 
fin
relever le stylo

Courbe cubique

Une courbe cubique (degré 3) est régie par 4 points de contrôle. Il faut utiliser la progression de 2 courbes de Bézier de degré 2 (soit 6 courbes de Bézier de degré 1) pour tracer une courbe cubique.

définir Courbe | Cubique \[p1, p2, p3, p3] (p1) (p2) (p3) (p4) \[précision] (p)
mettre [ß / progression v] à [0]
mettre [ß / étapes v] à ((arrondi de ([10^ v] de (p))) + [1])
répéter (ß / étapes) fois
Points | Créer Point \[nom] [ß mix A] à partir de \[2x\[nom]] (p1) (p2) \[%] ((ß / progression) / (ß / étapes))::custom
Points | Créer Point \[nom] [ß mix B] à partir de \[2x\[nom]] (p2) (p3) \[%] ((ß / progression) / (ß / étapes))::custom
Points | Créer Point \[nom] [ß mix C] à partir de \[2x\[nom]] (p3) (p4) \[%] ((ß / progression) / (ß / étapes))::custom
Points | Créer Point \[nom] [ß mix AB] à partir de \[2x\[nom]] [ß mix A] [ß mix B] \[%] ((ß / progression) / (ß / étapes))::custom
Points | Créer Point \[nom] [ß mix BC] à partir de \[2x\[nom]] [ß mix B] [ß mix C] \[%] ((ß / progression) / (ß / étapes))::custom
Points | Créer Point \[nom] [ß mix \[AB\]\[BC\]] à partir de \[2x\[nom]] [ß mix AB] [ß mix BC] \[%] ((ß / progression) / (ß / étapes))::custom
Points | Aller à \[nom] [ß mix \[AB\]\[BC\]]::custom
stylo en position d'écriture
ajouter [1] à [ß / progression v] 
fin
relever le stylo

Degrés supérieurs

En général, on privilégie l'utilisation de courbes cubiques jointes continues au lieu d'utiliser des courbes d'un degré supérieur.

Voir aussi

Cet article fait partie de la catégorie des tutos
Tous les articles de cette catégorie :