Cours de mathématiques
Chapitre 6
Courbes de Bézier
Les courbes de Bézier sont utilisées dans de très nombreuses applications :
• commandes de machines numériques ;
• programmes de dessin vectoriel (segments courbes) ;
• polices True-type ;
• morphing : déformation d’images.
Le concept a été développé initialement dans le cadre de la construction automobile en France à partir des années 60, par des ingénieurs (Bézier chez Renault, de Casteljau chez Citroën) qui cherchaient à définir de la manière la plus concise les courbes des carrosseries.
Aymar de Saint-Seine Année scolaire 2014–2015
1. Un peu d’histoire
Au début des années 60, les machines numériques ne savaient usiner de façon précise que des courbes simples comme des paraboles ou des ellipses. Une seconde catégorie d’objets, au contraire, offrait une forme a priori peu précise, déterminée expérimentalement. Les hélices d’avions, les coques de bateaux et les carrosseries de voitures étaient tracées à main levée, sans que l’on puisse décrire leurs formes par une formule mathématique.
Pierre Bézier, ingénieur français diplômé du Conservatoire national des arts et métiers, poursuivait, une carrière à la Régie Renault, atteignant le poste de directeur des méthodes mécaniques.
Les machines à commande numérique de cette époque offraient une programmation limi- tée. Il fallait les alimenter avec des nombres, ce que l’on savait faire pour des déplacements élémentaires comme des droites, des arcs de cercle, et à la rigueur des ellipses. Mais il n’était pas question de programmer des courbes quelconques, tracées à la main, faute d’une définition numérique de celles-ci. Pierre Bézier chercha donc comment traduire mathéma- tiquement une courbe, puis une surface, dessinées à main levée. Il lui fallait concevoir un système capable de gérer des courbes gauches, c’est-à-dire de manipuler des surfaces en 3D, d’où la nécessité de définir un modèle mathématique qui ne soit pas limité à des courbes en deux dimensions. Enfin, l’ingénieur entendait inventer un système complet pour créer un objet en volume à partir d’un dessin, le tout avec une rapidité d’exécution suffisante, et compréhensible intuitivement.
Mais ses recherches n’étaient pas entièrement originales. Dès 1958, un mathématicien em- ployé par Citroen, Paul de Casteljau, s’était attaqué au même problème. Paul de Casteljau était chargé de numériser une courbe, une fois celle-ci tracée, sans se poser la question d’une correction a posteriori. Il définissait ses courbes comme caractérisées par des pôles, d’une façon nettement moins parlante que les points de contrôle de Bézier.
L’aventure de Pierre Bézier aurait pu s’arrêter là. Mais un groupe de développeurs liés à Apple créa un langage adapté à la future imprimante laser conçue pour le Mac. Il s’agissait de trouver un moyen de définir mathématiquement une courbe, comme le tracé d’un caractère, avant de l’envoyer à l’imprimante. L’un de ces développeurs connaissait le travail du Français. Tout naturellement, il choisit les courbes de Bézier comme base du langage PostScript et fonda la société Adobe. Microsoft adopta à son tour les polices true-type à partir de Windows 3.1. Ces polices utilisent les courbes de Bézier pour définir les caractères aux formes arrondies.
2. Présentation par barycentres successifs
2.1. Courbe de Bézier de degré 1
Soit A et B deux points. Soit t un nombre compris entre 0 et 1. On considère le point M(t) barycentre de (A,1−t) et (B, t).
• si t= 0 alorsM est en A;
• si t= 0,5 alors M est au milieu de [AB] ;
• si t= 1 alorsM est en B.
Quand t parcourt l’intervalle [0,1], il est clair que le point M(t) décrit tout le segment [AB].
b b b
A M(t) B
Définition 1 :
Le segment[AB]est lacourbe de Bézierde degré 1 associée auxpoints de contrôle A et B.
Les polynômes 1−t et t sont les polynômes ou poids de Bernstein de degré 1.
2.2. Courbe de Bézier de degré 2
Construisons une nouvelle courbe en rajoutant une 2ème étape à ce qui précède : 1ère étape : 2 courbes de Bézier de degré 1 :
• Soit M1(t) le barycentre de (A,1−t)(B, t) ;M1(t) décrit le segment [AB].
• Soit M2(t) le barycentre de (B,1−t)(C, t) ;M2(t) décrit le segment [BC].
2ème étape :
• Soit M(t) le barycentre de (M1,1−t)(M2, t).
On fait décrire à t l’intervalle [0; 1]. M1(t) parcourt alors [AB] et M2(t) parcourt alors [BC]. Le point M(t) décrit lui la courbe ci-dessous.
On remarque que :
• M(t) décrit alors une courbe de degré 2 qui, par définition, commence en A et se finit enC, et a pour tangentes (AB) en A et (BC) en C.
• En tout pointM, la tangente à la courbe est le segment [M1M2].
• M(t) se situe à la même proportion du segment [M1M2] que M1 par rapport au segment [AB] ou M2 par rapport au segment [BC].
Le schéma ci-dessous, appelé schéma pyramidal de Casteljau, permet de résumer la construction itérative des barycentres qui a été faite.
C B A
N1(t)
N2(t)
M(t)
1−t
t
1−t
t
1−t
t
À partir de celui-ci et en utilisant les propriétés d’association du barycentre, on établit le schéma condensé de Bernstein :
C B A
M(t)
(1−t)2= 1−2t+t2
2(1−t)t= 2t−2t2
t2
La relation caractéristique du barycentre, en prenant le point O comme origine, s’écrit :
−−−−−−−−−−−−−−→
OM(t) = (1−t)2−OA−−−−→+ 2t(1−t)−OB−−−−→+t2−OC−−−−→ (1) ce qui se traduit sur les coordonnées par :
( xM(t) = (1−t)2xA+ 2t(1−t)xB+t2xC yM(t) = (1−t)2yA+ 2t(1−t)yB+t2yC
Définition 2 :
Les pointsM(t)décrivent la courbe de Bézier de degré2associée aux3points de contrôle A, B et C.
Les polynômes (1−t)2, 2t(1−t) ett2 sont les polynômes - poids de Bernstein de degré 2.
2.3. Courbe de Bézier de degré 3
Construisons une nouvelle courbe en rajoutant une 3ème étape à ce qui précède : 1ère étape : 3 courbes de Bézier de degré 1 :
• Soit M1(t) le barycentre de (A,1−t)(B, t) ;
• Soit M2(t) le barycentre de (B,1−t)(C, t) ;
• Soit M3(t) le barycentre de (C,1−t)(D, t).
2ème étape : 2 courbes de Bézier de degré 2 :
• Soit N1(t) le barycentre de (M1,1−t)(M2, t) ;
• Soit N2(t) le barycentre de (M2,1−t)(M3, t).
3ème étape : 1 courbe de Bézier de degré 3 :
• Soit M(t) le barycentre de (N1,1−t)(N2, t) ;
En faisant varier t dans l’intervalle [0; 1], le pointM(t) décrit la courbe ci-dessous :
Le principe de la construction par barycentre successifs est résumé dans le schéma ci- dessous :
Schéma pyramidal de Casteljau
D C B A
M1(t)
M2(t)
M3(t)
N1(t)
N2(t)
M(t)
1−t
t
1−t
t
1−t
t
1−t
t
1−t
t
1− t
t
Schéma condensé de Berstein
D C B A
M(t)
(1− t)3 3t(1−t)2
3t2(1−t) t3
La relation caractéristique du barycentre, en prenant le point O comme origine, s’écrit :
−−−−−−−→
OM = (1−t)3−OA−−−−→+ 3t(1−t)2−OB−−−−→+ 3t2(1−t)−OC−−−−→+t3−OD−−−−→ (2) La représentation paramétrique de la courbe est donc :
( xM(t) = (1−t)3xA+ 3t(1−t)2xB+ 3t2(1−t)xC +t3xD yM(t) = (1−t)3yA+ 3t(1−t)2yB+ 3t2(1−t)yC+t3yD
Définition 3 :
Les pointsM(t)décrivent la courbe de Bézier de degré3associé aux4points de contrôle A, B, C et D.
Les Polynômes(1−t)3,3t(1−t)2, 3t2(1−t)ett3 sont les polynômes - poids de Bernstein du degré 3.
Remarque : Intérêt du degré 3 : en plus des courbes d’une plus forte régularité, il permet de dessiner des plis (comme ceux de la cubique d’équation : y = x3 −3x , en x = 1 ou
−1), ou des points d’inflexion (comme celui de la cubique d’équation : y = x3−3x , en x = 0), ou des points de rebroussements (comme le point médian dans le chiffre 3), ou des points doubles (comme le croisement dans la lettre alpha), ce que le degré 2, avec ses arcs de paraboles, ne sait pas faire !
Dans la pratique, on se limite généralement à des courbes de Béziers de degré 3.
2.4. Conclusion et remarques
Cette construction, itérative, peut être poursuivie bien au delà du degré 3 (qui suffit généralement), jusqu’à n’importe quel degré k. On obtient alors une courbe de Bézier de degré k, à k+ 1 points de contrôle.
D’une manière genérale, une courbe de Bézier est une courbe paramétrique qui permet très simplement, par construction itérée de barycentres, de réaliser un arc de courbe continu d’extrémités imposées, et avec des points de pontrôle qui définissent les tangentes à cette courbe.
Une courbe de Bézier revient à réaliser une sorte de moyenne pondérée d’une suite de segments contigus, bornés par les points de contrôle.
Remarques :
• Les propriétés du Barycentre (conservé par transformation affine quelconque) en- traînent la chose suivante : Appliquer une même transformation affine à tous les points de contrôle revient à appliquer cette transformation affine à l’ensemble de la courbe.
• Après traduction de cette construction en coordonnées du point M(t) décrivant la courbe de Bézier, on se rend compte que les points de contrôle définissent plus exactement les vitesses (pour Bézier de degré 2), voire les accélérations (pour Bézier de degré 3) du point M(t).
• Les courbes de Bézier sont à la base des polices vectorielles de caractères et images vectorielles utilisées actuellement dans nos ordinateurs.
Par exemple, mettre une lettre de police vectorielle en italiques revient ainsi à déplacer ses points de contrôle supérieurs vers la droite d’autant plus qu’ils sont éloignés de la base de la lettre, invariante (par une transformation affine appelée
"cisaillement") ; de même, en dessin d’animation, le morphing d’une courbe est beaucoup plus simple à décrire par la seule dynamique de ses points de contrôle.
3. Présentation par vecteurs et contraintes
3.1. Cas de 3 vecteurs
On considère trois vecteurs −V→0, −V→1 et−V→2 dans un repère (O;~i,~j).
On souhaite définir une courbe par une représentation paramétrique de la forme
−−−−−−−→
OM(t) =−V→0 +f1(t)−V→1+f2(t)−V→2
où f1 et f2 sont des polynômes de degré 2, de la variable t dans [0; 1].
qui respecte les contraintes :
• la courbe a pour origine le point P0 défini par −OP−−−−−→0 =−V→0;
• la courbe a pour extrémité le point P2 défini par −OP−−−−−→2 =−V→0+−V→1+−V→2;
• le vecteur −V→1 est tangent à la courbe en P0;
• le vecteur −V→2 est tangent à la courbe en P1.
−→
V0
−→
V1
−→
V2
b b b
P0
P1
P2
On doit donc avoir :
−−−−−−−→
OM(0) =−V→0
−−−−−−−→
OM(1) =−V→0+−V→1+−V→2
d−OM−−−−−−→(t)
dt (0) colinéaire à −V→1
d−OM−−−−−−→(t)
dt (1) colinéaire à −V→2
comme d−OM−−−−−−→(t)
dt =f1′(t)−V→1+f2′(t)−V→2, on a donc :
f1(0) = 0 et f2(0) = 0 f1(1) = 1 et f2(1) = 1
f2′(0) = 0 et f1′(0) = cte non nulle f1′(1) = 0 et f2′(1) = cte non nulle Puisque f1 etf2 sont du deuxième degré, on af1(t) =at2+bt+cetf2(t) =a′t2+b′t+c′. Le système devient alors :
c= 0 etc′ = 0
a+b= 1 et a′+b′ = 1 b′ = 0 et 2a+b = 0
soit
a=−1 b = 2 c= 0
et
a′ = 1 b′ = 0 c′ = 0 On en déduit que
−−−−−−−→
OM(t) =−V→0+ (−t2 + 2t)−V→1 +t2−V→2
Remarque : Si on considère les trois points P0, P1 et P2 tels que −V→0 =−OP−−−−−→1, −V→1 =−P−−−−0−−P−→1
et −V→2 =−P−−−−1−−P−→2 dans un repère (O;~i,~j).
l’égalité précédente devient :
−−−−−−−→
OM(t) = −OP−−−−−→0+ (−t2+ 2t)−P−−−−0−−P−→1+t2−P−−−−1−−P−→2
= −OP−−−−−→0+ (−t2+ 2t)(−P−−−−0−O→+−OP−−−−−→1) +t2(−P−−−−1−O→+−OP−−−−−→2)
= (t2 −2t+ 1)−OP−−−−−→0+ (−2t2+ 2t)−OP−−−−−→1+t2−OP−−−−−→2
On retrouve la relation (1) de la page 3 issue de la définition par points de contrôle et polynôme de Berstein de degré 2. Les deux notions sont donc équivalentes.
3.2. Cas de 4 vecteurs
Dans un repère (O;~i,~j), on considére quatres pointsP0,P1,P2 etP3 et les quatres vecteurs associés :
−→
V0 =−OP−−−−−→0 ; −V→1 =−P−−−−0−−P−→1 ; −V→2 =−P−−−−1−−P−→2 et −V→3 =−P−−−−2−−P−→3.
Soit M(t) défini par −OM−−−−−−→(t) = −V→0 +f1(t)−V→1 +f2(t)−V→2 +f3(t)−V→3, f1, f2 et f3 étant des polynômes de degré 3 de la variable t dans [0; 1].
On impose les contraintes :
• la courbe a pour extremité P0 (pour t= 0) et P3 (pour t = 1) ;
• le vecteur −V→1 (et donc la droite (P0P1)) est tangent à la courbe en P0;
• le vecteur −V→3 (et donc la droite (P2P3)) est tangent à la courbe en P3;
• la concavité de la courbe en P0 est géré par −V→1 et −V→2 (admis) ;
• la concavité de la courbe en P3 est géré par −V→2 et −V→3 (admis) ;
−→
V0
−→
V1
−→
V2
−→
V3
b b b b
P0
P1
P2
P3
Comme fait-ci dessus, on montre que les contraintes se traduisent par :
−−−−−−−→
OM(0) =−V→0
−−−−−−−→
OM(1) =−V→0+−V→1+−V→2+−V→3
d−OM−−−−−−→
dt (0) colinéaire à −V→1
d−OM−−−−−−→
dt (1) colinéaire à −V→3
d2−OM−−−−−−→
dt2 (0) independant de −V→3
d2−OM−−−−−−→
dt2 (1) independant de −V→3
soit
f1(0) =f2(0) =f3(0) = 0 f1(1) =f2(1) =f3(1) = 1 f2′(0) =f3′(0) = 0
f1′(1) =f2′(1) = 0 f3′′(0) = 0
f1′′(1) = 0
En posant f1(t) =at3+bt2+ct+d,. . ., on obtient que
f1(t) = t3−3t2+ 3t f2(t) = −2t3+ 3t2 f3(t) = t3
La représentation de la courbe est donc
−−−−−−−→
OM(t) =−V→0+ (t3−3t2+ 3)−V→1+ (−2t3 + 3t2)−V→2+t3−V→3
Avec
−→
V0 =−OP−−−−−→0 ; −V→1 =−P−−−−0−−P−→1 ; −V→2 =−P−−−−1−−P−→2 et −V→3 =−P−−−−2−−P−→3. l’égalité de se ré-écrit :
−−−−−−−→
OM(t) = −OP−−−−−→0+ (t3−3t2+ 3t)−P−−−−0−−P−→1+ (−2t3+ 3t2)−P−−−−1−−P−→2+t3−P−−−−2−−P−→3
= −OP−−−−−→0+ (t3−3t2+ 3t)(−P−−−−0−O→+−OP−−−−−→1) + (−2t3+ 3t2)(−P−−−−1−O→+−OP−−−−−→2) +t3(−P−−−−2−O→+−OP−−−−−→3)
= −OP−−−−−→0+ (t3−3t2+ 3t)(−P−−−−0−O→+−OP−−−−−→1) + (−2t3+ 3t2)(−P−−−−1−O→+−OP−−−−−→2) +t3(−P−−−−2−O→+−OP−−−−−→3)
= (1−3t+ 3t2−t3)−OP−−−−−→0+ (3t−6t2+ 3t3)−OP−−−−−→1+ (3t2−3t3)−OP−−−−−→2+t3−OP−−−−−→3
On retrouve la relation (2) de la page 4 et les polynômes de Berstein de degré 3. Les points de vue sont donc équivalents.
4. Courbes de Bézier
Définition 4 : Polynômes de Berstein
Soient n un entier naturel non nul et i un entier naturel tel que 06i6n. On appelle (fonction) polynôme de Bernstein, les fonctions polynômes définies par :
Bi,n(t) = n!
i!(n−i)!ti(1−t)n−i où n! est le nombre n! = 1×2×3× · · · ×n.
Exemple : Polynômes de Berstein de degré 2 : B0,2(t) = 1−2t+t2 B1,2(t) = 2t−2t2 B2,2(t) =t2 Polynômes de Berstein de degré 3 :
B0,3(t) = 1−3t+ 3t2−t3 B1,3(t) = 3t−6t2+ 3t3 B2,3(t) = 3t2−3t3 B3,3(t) =t3
Définition 5 : Courbes de Bézier
Soient, dans le plan muni d’un repère (O;~i,~j), n + 1 points P0, P1, · · · Pn. À tout nombre réel t∈[0,1], on associe le point M(t) défini par :
−−−−−−−→
OM(t) =
i=n
X
i=0
Bi,n(t)−OP−−−−−→i. où Bi,n(t) sont les fonctions polynômes de Bernstein.
L’ensemble des points M(t) lorsque t décrit l’intervalle [0; 1] est une courbe C appelée courbe de Bézier de points de contrôle P0, P1, · · · Pn.
Exemple :On considère les quatre points de contrôleP0(0; 0),P1(1; 2),P2(2; 0) etP3(−1; 0).
La courbe de Bézier associé à ces quatres points de controle a pour équation paramétrique :
−−−−−−−→
OM(t) =
i=3
X
i=0
Bi,3(t)−OP−−−−−→i
= B0,3(t)−OP−−−−−→0+B1,3(t)−OP−−−−−→1+B2,3(t)−OP−−−−−→2+B3,3(t)−OP−−−−−→3
= (1−t)3 0 0
!
+ 3t(1−t)2 1 2
!
+ 3t2(1−t) 2 0
!
+t3 −1 0
!
= (1−3t+ 3t2−t3) 0 0
!
+ (3t−6t2+ 3t3) 1 2
!
+ (3t2−3t3) 2 0
!
+ (t3) −1 0
!
= −4t3+ 3t 6t3−12t2+ 6t
!
Le tracé de la courbe est donné ci-dessous :
b b b
b P0
P1
P2
P3
Théorème 1 (admis) : Propriété d’une courbe de Bézier On établit que pour une courbe de Bézier :
• la courbe est de degrén si elle est a n+ 1 points de contrôle ;
• la courbe passe par P0 et Pn;
• la droite (P0P1) est tangente à C en P0;
• et que siPn−1 et Pn sont distincts, la droite (Pn−1Pn) est tangente à C en Pn.
1 Un peu d’histoire . . . 1
2 Présentation par barycentres successifs . . . 1
2.1 Courbe de Bézier de degré 1 . . . 1
2.2 Courbe de Bézier de degré 2 . . . 2
2.3 Courbe de Bézier de degré 3 . . . 4
2.4 Conclusion et remarques . . . 5
3 Présentation par vecteurs et contraintes . . . 6
3.1 Cas de 3 vecteurs . . . 6
3.2 Cas de 4 vecteurs . . . 7
4 Courbes de Bézier. . . 8