• Aucun résultat trouvé

Courbes de Bézier

N/A
N/A
Protected

Academic year: 2022

Partager "Courbes de Bézier"

Copied!
12
0
0

Texte intégral

(1)

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

(2)

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] ;

(3)

• 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].

(4)

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)

1t

t

1t

t

1t

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)

(1t)2= 12t+t2

2(1t)t= 2t2t2

t2

La relation caractéristique du barycentre, en prenant le point O comme origine, s’écrit :

OM(t) = (1t)2OA+ 2t(1−t)OB+t2OC (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.

(5)

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)

1t

t

1t

t

1t

t

1t

t

1t

t

1 t

t

Schéma condensé de Berstein

D C B A

M(t)

(1 t)3 3t(1t)2

3t2(1t) t3

La relation caractéristique du barycentre, en prenant le point O comme origine, s’écrit :

OM = (1−t)3OA+ 3t(1−t)2OB+ 3t2(1−t)OC+t3OD (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

(6)

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.

(7)

3. Présentation par vecteurs et contraintes

3.1. Cas de 3 vecteurs

On considère trois vecteurs V0, V1 etV2 dans un repère (O;~i,~j).

On souhaite définir une courbe par une représentation paramétrique de la forme

OM(t) =V0 +f1(t)V1+f2(t)V2

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 OP0 =V0;

• la courbe a pour extrémité le point P2 défini par OP2 =V0+V1+V2;

• le vecteur V1 est tangent à la courbe en P0;

• le vecteur V2 est tangent à la courbe en P1.

V0

V1

V2

b b b

P0

P1

P2

On doit donc avoir :

OM(0) =V0

OM(1) =V0+V1+V2

dOM(t)

dt (0) colinéaire à V1

dOM(t)

dt (1) colinéaire à V2

comme dOM(t)

dt =f1(t)V1+f2(t)V2, 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) =at2+bt+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) =V0+ (−t2 + 2t)V1 +t2V2

Remarque : Si on considère les trois points P0, P1 et P2 tels que V0 =OP1, V1 =P0P1

et V2 =P1P2 dans un repère (O;~i,~j).

(8)

l’égalité précédente devient :

OM(t) = OP0+ (−t2+ 2t)P0P1+t2P1P2

= OP0+ (−t2+ 2t)(P0O+OP1) +t2(P1O+OP2)

= (t2 −2t+ 1)OP0+ (−2t2+ 2t)OP1+t2OP2

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 =OP0 ; V1 =P0P1 ; V2 =P1P2 et V3 =P2P3.

Soit M(t) défini par OM(t) = V0 +f1(t)V1 +f2(t)V2 +f3(t)V3, 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 V1 (et donc la droite (P0P1)) est tangent à la courbe en P0;

• le vecteur V3 (et donc la droite (P2P3)) est tangent à la courbe en P3;

• la concavité de la courbe en P0 est géré par V1 et V2 (admis) ;

• la concavité de la courbe en P3 est géré par V2 et V3 (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) =V0

OM(1) =V0+V1+V2+V3

dOM

dt (0) colinéaire à V1

dOM

dt (1) colinéaire à V3

d2OM

dt2 (0) independant de V3

d2OM

dt2 (1) independant de V3

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

(9)

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) =V0+ (t3−3t2+ 3)V1+ (−2t3 + 3t2)V2+t3V3

Avec

V0 =OP0 ; V1 =P0P1 ; V2 =P1P2 et V3 =P2P3. l’égalité de se ré-écrit :

OM(t) = OP0+ (t3−3t2+ 3t)P0P1+ (−2t3+ 3t2)P1P2+t3P2P3

= OP0+ (t3−3t2+ 3t)(P0O+OP1) + (−2t3+ 3t2)(P1O+OP2) +t3(P2O+OP3)

= OP0+ (t3−3t2+ 3t)(P0O+OP1) + (−2t3+ 3t2)(P1O+OP2) +t3(P2O+OP3)

= (1−3t+ 3t2t3)OP0+ (3t−6t2+ 3t3)OP1+ (3t2−3t3)OP2+t3OP3

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!(ni)!ti(1−t)ni 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+ 3t2t3 B1,3(t) = 3t−6t2+ 3t3 B2,3(t) = 3t2−3t3 B3,3(t) =t3

(10)

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)OPi. 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)OPi

= B0,3(t)OP0+B1,3(t)OP1+B2,3(t)OP2+B3,3(t)OP3

= (1−t)3 0 0

!

+ 3t(1−t)2 1 2

!

+ 3t2(1−t) 2 0

!

+t3 −1 0

!

= (1−3t+ 3t2t3) 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.

(11)
(12)

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

Références

Documents relatifs

Déterminer une équation cartésienne de la surface de révolution obtenue en faisant tourner Γ 2 autour de l’axe (O,~i).. Fin de l’énoncé

• Dans le 1er exemple : Pikachu fait 8 bonds entre la 1re bissectrice et le graphique de f telle que. f [4]

Pour construire une leçon sur le thème « courbes de Bézier », peut-être convient-il d’étudier dans un premier temps les courbes de Bézier quadratiques à trois points de

Supposons que le point B, au lieu de se déplacer sur le cercle, se déplace sur la tangente en B à ce cercle : les deux droites BHet OB, et par suite BH et OM, forment deux

Il est donc nécessaire de recourir à un autre principe pour dé- terminer le centre de courbure , du moins dans le cas particulier. dont il s’agit; et

Sur la tangente en un p o i n t M d ^ u n e courbe, prenons des lon- gueurs égales de part et d^autre du point M, ML, ML'; puis sur la normale au point M et du côté du centre

Le plan est muni d’un repère

Recopier et compléter le tableau ci-contre à l’aide de l’expression sans le symbole de valeur absolue.. Dresser le tableau de