Courbes de Beziers
Courbes de Beziers
Courbes de Beziers
ET
B-SPLINES
INTRODUCTION :
Il y a quelques années de cela, le programme de sciences physiques de BAC PRO avait un chapitre sur
l’écoulement des fluides. Il était question aussi de la portance d’une aile d’avion et donc nous parlions du
profil de l’aile d’un avion, de l’extrados et de l’intrados comme indiqué sur le schéma ci-dessous.
Au-delà de la physique de l’écoulement des fluides sur ce profil, je faisais le profil de l’aile en mathématique avec les
élèves (en les aidant bien évidemment) à l’aide des courbes de Bézier.
Le problème était le suivant, comment faire une courbe mathématique du profil d’une aile d’avion ?
Il était évident que les courbes polynomiales étaient hors de portée des élèves lorsque cette courbe devait passer par
plusieurs points différents. Je me suis souvenu d’une conférence à l’université de Lille quelques années auparavant
sur les courbes de Bézier entre autres par un chercheur des Arts Et Métiers qui lui travaillait sur les turbines des
moteurs de la fusée Ariane.
A l’aide du logiciel Géogébra nous pouvions générer des profils différents et les tester ensuite en faisant de profils en
carton et en repliant du papier dessus.
Bien sûr, ici c’est une version simplifiée car il n’y a que 4 points appelés points de contrôle. Il est possible d’affiner le
profil et de faire ce que l’on veut avec plus de points.
Ces courbes sont utilisées ici afin d’avoir des profils mais elles sont utilisées dans beaucoup de domaines comme par
exemple la formation des lettres dans un fichier de type pdf (Portable Document Format).
HISTOIRE BREVE DE PIERRE DE BEZIER :
Pierre de Bézier ( 1910- 1999) était ingénieur ( de second plan selon ses propos, il était gadzart, n’étant pas sorti ni
de centrale ni de polytechnique) chez Renault. Il était issu des arts et métiers puis diplômé de Supélec et était donc
ingénieur électromécanicien. En 1977 Pierre de Bézier a obtenu un doctorat (à 67 ans) à l’université Pierre et Marie
Curie de Paris.
Il est connu pour ses courbes et surfaces de Bézier, auxquelles il a donné son nom mais aussi pour avoir créé le
logiciel Unisurf ( pour unification et surface) qui est la base de la DAO (dessin assisté par Ordinateur).
Ces courbes sont toujours utilisées et sont à la base des logiciels de graphisme et modélisation (CFAO) tels que CATIA
(Dassault aviation), SolidWorks, PostScript, illustrator…
Définition 1 :
Soient A et B deux points du plan et α et β deux réels (α ∈ ℝ 𝒆𝒕 β∈ ℝ ) tels que α + β ≠0
On appelle barycentre de deux points A et B associés aux coefficients respectifs α et β le point G tel
que :
⃗⃗⃗⃗⃗ + 𝜷𝑮𝑩
𝜶𝑮𝑨 ⃗⃗⃗⃗⃗⃗ = ⃗𝟎
En se plaçant dans un repère ( 0 ; 𝑖 , 𝑗 ), la relation précédente reste valable, il reste à transformer un peu la relation
𝜶 𝛽
en posant : t = ce qui donne (1-t) =
𝜶+𝜷 𝛼+𝛽
⃗⃗⃗⃗⃗⃗ = 𝒕 𝑶𝑨
(𝒊𝒊)𝑶𝑮 ⃗⃗⃗⃗⃗⃗ + (𝟏 − 𝒕)𝑶𝑩
⃗⃗⃗⃗⃗⃗
En imposant à t l’intervalle de valeurs suivant : t ∈ [0 ; 1] , nous avons le point G qui appartient au segment [AB] .
Cette figure a été réalisée sur Géogébra en prenant un curseur t ∈ [0 ; 1], deux points A et B quelconques.
Pour tracer G, il suffit d’écrire : t*A+(1-t)*B , ce qui se traduit par la relation (ii), il n’est nul besoin d’écrire OA.
En déplaçant le curseur, le point G se déplace de A vers B et inversement comme vous pouvez le constater sur la
figure 6 ci-dessous (avec un pas de 0,1 pour t).Il est à noter que A et B sont appelés points de contrôle.
Ce qui a été fait pour le point G, barycentre de A et B peut être fait aussi pour 3 points ( A, B et C). A la différence que
Pierre de Bézier n’a pas étendue ce barycentre à trois points mais a modifié les coefficients de la manière suivante :
⃗⃗⃗⃗⃗⃗ = 𝒕𝟐 𝑶𝑨
(𝒊𝒊𝒊)𝑶𝑮 ⃗⃗⃗⃗⃗⃗ + 𝟐𝒕(𝟏 − 𝒕)𝑶𝑩
⃗⃗⃗⃗⃗⃗ + (𝟏 − 𝒕)²𝑶𝑪
⃗⃗⃗⃗⃗⃗
⃗⃗⃗⃗⃗⃗⃗⃗
𝑶𝑮𝟏 = 𝒕 𝑶𝑨 ⃗⃗⃗⃗⃗⃗ + (𝟏 − 𝒕)𝑶𝑩
⃗⃗⃗⃗⃗⃗
⃗⃗⃗⃗⃗⃗⃗⃗𝟐 = 𝒕 𝑶𝑩
{ 𝑶𝑮 ⃗⃗⃗⃗⃗⃗ + (𝟏 − 𝒕)𝑶𝑪
⃗⃗⃗⃗⃗⃗
⃗⃗⃗⃗⃗⃗ = 𝒕 ⃗⃗⃗⃗⃗⃗⃗⃗
𝑶𝑮 ⃗⃗⃗⃗⃗⃗⃗⃗𝟐
𝑶𝑮𝟏 + (𝟏 − 𝒕)𝑶𝑮
En fait la relation peut se traduire par le fait que le point G est le barycentre des points A, B et C tel que
Le nombre de points de contrôle dépend de l’opérateur et de la forme qu’il veut développer, ainsi nous
pouvons avoir 4 points de contrôle (A ,B, C et D) ou plus.
Le point G sera remplacé par le point M qui est plus usité en général lorsqu’on parle d’un point défini par des
relations mathématiques.
En prenant la même méthode que pour 3 points, nous obtenons la relation (iv) pour 4 points suivante :
(iv) ⃗⃗⃗⃗⃗⃗⃗ = 𝒕𝟑 𝑶𝑨
𝑶𝑴 ⃗⃗⃗⃗⃗⃗ + 𝟑𝒕²(𝟏 − 𝒕)𝑶𝑩
⃗⃗⃗⃗⃗⃗ + 𝟑𝒕(𝟏 − 𝒕)²𝑶𝑪
⃗⃗⃗⃗⃗⃗ + (𝟏 − 𝒕)𝟑 𝑶𝑫
⃗⃗⃗⃗⃗⃗
Cette façon de procéder dans Géogébra est assez pédagogique mais peu pratique si on désire faire plusieurs courbes.
Il est possible de tracer plusieurs plus simplement en créant un ou des outils. Il suffit ensuite de créer l’outil à n
points et de placer les n points pour que la courbe s’affiche et bouge en déplaçant un point avec Courbe.
Un onglet Outil sera affiché et il suffit ensuite de cliquer sur cet onglet et de placer 3 points, la courbe se fera tout
simplement.
Il est plus aisé de tracer des courbes avec l’outil mail il faut le créer d’abord. C’est une activité qui peut être réalisée
avec des élèves.
Comme vous avez compris, les coefficients de pondération sont les coefficients binomiaux que l’on peut rassembler
dans le triangle de Pascal
n
0 1
1 1 2 1
2 1 3 3 1
3 1 4 6 4 1
4 1 5 10 10 5 1
5 1 6 15 20 15 6 1
6 1 7 21 35 35 21 7 1
Figure 10 : Triangle de Pascal (ordre n =6)
𝒏 𝒏!
Chaque coefficient est un coefficient binomial qui peut donc s’écrire : (𝒌) =
𝒌!(𝒏−𝒌)!
Ou k ! = k× (k-1) × (k-2)…2×1
Dans la relation (iv), en plus des coefficients binomiaux d’autres termes apparaissent, ce sont les polynômes en t.
(iv) ⃗⃗⃗⃗⃗⃗⃗
𝑶𝑴 = 𝒕𝟑 ⃗⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗⃗ + 𝟑𝒕(𝟏 − 𝒕)²𝑶𝑪
𝑶𝑨 + 𝟑𝒕²(𝟏 − 𝒕)𝑶𝑩 ⃗⃗⃗⃗⃗⃗ + (𝟏 − 𝒕)𝟑 ⃗⃗⃗⃗⃗⃗
𝑶𝑫
Sergei Bernstein
𝒏 𝒏−𝒌 𝒌
𝑩𝒏𝒌 (𝒕) = ( ) 𝒕 (𝟏 − 𝒕)
𝒌
La relation (iv) peut s’écrire :
𝟑
𝐎𝐌 = ∑ 𝐁𝐤𝟑 (𝐭)𝐎𝐀
(𝐢𝐯) ⃗⃗⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗⃗⃗⃗𝐤
𝐤=𝟎
Ainsi nous pouvons facilement écrire la relation pour (n+1) points de contrôle :
𝐧
⃗⃗⃗⃗⃗⃗⃗ = ∑ 𝐁𝐤𝐧 (𝐭)𝐎𝐀
(𝐯) 𝐎𝐌 ⃗⃗⃗⃗⃗⃗⃗⃗𝐤
𝐤=𝟎
Ou :
𝟑
𝒏−𝒌 𝒏 𝒌
𝐎𝐌 = ∑ ( ) 𝒕
(𝐯) ⃗⃗⃗⃗⃗⃗⃗ (𝟏 − 𝒕) ⃗⃗⃗⃗⃗⃗⃗⃗
𝐎𝐀𝐤
𝐤=𝟎
𝒌
Lorsqu’on trace différentes courbes de Bézier il arrive un moment ou il faut raccorder les courbes entre elles comme
dans l’exemple suivant :
A priori il y a continuité entre les deux courbes mais est ce que le raccordement se fait sans cassure c’est-à-dire y a-t-
il un raccordement de type C1 ?
Ici comme on peut le constater ci-dessous les tangentes au point de raccordement ne sont pas identiques à droite et
à gauche.
Ce qui donne deux courbes raccordées en un point et cela de manière C1, c’est-à-dire que les tangentes sont
identiques en ce point.
Figure 16 : raccordement C1
➢ Problème de raccordement
Le problème de raccordement est un problème des courbes de Bézier, il faut en effet déplacer les points pour
avoir un raccordement « parfait » de telle sorte que les tangentes soient identiques.
➢ Problème de la globalité
Le second problème est que lorsqu’on déplace un point, toute la courbe est modifiée. Dans l’exemple ci-dessous
les deux courbes sont les courbes de Bézier avec la position d’un seul point de contrôle différent.
Pour remédier à ce problème, il existe les B-splines, ces courbes permettent de déplacer les points de contrôle sans
que toute la courbe n’en soit affectée. Le déplacement d’un point n’a qu’un effet limité sur la courbe.
Définition :Une spline est une fonction définie par morceaux avec des polynômes.
Les B-splines ( BasicSpline) sont des combinaisons linéaires de splines. L’intérêt des B-splines est que le déplacement
d’un point de contrôle n’affecte qu’une partie limitée de la courbe ce qui est plus confortable pour la CAO
(Conception Assistée par Ordinateur), la méthode B-spline est dite « locale ».
On dispose de 4 points A, B , C et D.
Contraintes :
• Le but est de construire des courbes indépendantes du repère choisi, la traduction de cette contrainte est
que M0 est le barycentre de (A, R0) , (B, R1) et (C, R2).
𝑅0 (𝑡) = 𝑎0 𝑡 2 + 𝑏0 𝑡 + 𝑐0
{ 𝑅1 (𝑡) = 𝑎1 𝑡 2 + 𝑏1 𝑡 + 𝑐1
𝑅2 (𝑡) = 𝑎2 𝑡 2 + 𝑏2 𝑡 + 𝑐2
Les différentes contraintes imposées donnent un système de 9 équations à 9 inconnues.
Remarque : la seconde courbe a été créé à partir d’un outil dérivé la première courbe.
La courbe formée par C0 et C1 est une B-splines associée aux points de contrôle A, B, C et D.
Exemple de tracé avec les B-splines sur Géogébra :Voiture dessinée avec des mathématiques !
Remarque : les polynômes de Riesenfeld de degré 2 ( R0 , R1 et R2) s’écrivent de la façon suivante R0,2(t) ,R1,2(t),
R2,2(t)
Les B-splines que nous avons vu, sont contrôlés par 4 points de contrôle, mais il est possible de la construire avec
plus de 4 points. Nous avons alors deux possibilités pour le faire :
• Soit on fait un nouvel arc (comme sur le profil de voiture en figure 22).
• Soit on ajoute un point de définition pour chaque arc.
Prenons 5 points de définition, les arcs auront alors comme définition les relations suivantes :
Nous avons donc 4 polynômes et donc il faut 4 coefficients. Il est donc indispensable d’avoir des polynômes de
degré 3.
𝑡3 𝑡2 𝑡 1
𝑅0,3 (𝑡) = − + − +
6 2 2 6
𝑡3 2
𝑅1,3 (𝑡) = − 𝑡 2 +
2 3
𝑡3 𝑡2 𝑡 1
𝑅2,3 (𝑡) = − + + +
2 2 2 6
𝑡3
{ 𝑅3,3 (𝑡) =
6
Courbes des polynômes Rk,n(t)
Remarque : il est possible d’ajouter des points et donc les polynômes de Riesenfeld seront de degré n qui s’écrivent
de manière générale :
𝒏−𝟏
(𝒕 + 𝒏 − 𝒊 − 𝒋)𝒏
𝑹𝒊,𝒏 (𝒕) = (𝒏 + 𝟏) ∑(−𝟏)𝒋
𝒋! (𝒏 − 𝒋 + 𝟏)!
𝒋=𝟎
Même si les courbes de Bézier et les B-splines sont des courbes paramétrées, nous pouvons voir sur cet exemple que
les courbes sont bien distinctes. La première passe par les points initiaux et finaux et la seconde ne passe par aucun
point !
➢ 5 points de contrôle : courbe de Bézier et B-splines de degré 3
Figure 27 : profil d’une aile d’avion avec les courbes de Bézier et les B-splines
➢ Courbes de Bézier :
o 8 points
o 2 courbes
➢ B-splines :
o 20 points
o 19 splines
Sur cet exemple on peut voir des différences sur le nombre de points et le nombre de courbes. Les courbes de Bézier
ici utilisent moins de calcul car j’ai pris 4 points de contrôle. Il aurait été possible de faire le profil avec une seule
courbe, le degré des polynômes de Bernstein aurait été de degré 7. De plus les courbes de Bézier sont plus faciles
d’utilisation mais les raccordements sont plus difficiles à réaliser.
Au niveau des calculs, plus le nombre de points augmente et plus le degré des polynômes de Bernstein augmente et
le fait de déplacer un point modifie toute la courbe.
Par contre le degré des B-splines reste identiques, seul le nombre de Splines change, et déplacer un point modifié
localement la courbe dans son ensemble.
CONCLUSION :
Souvent des personnes ou des élèves me posent la question suivante : A quoi ça sert les maths ?
Il n’est pas aisé de répondre à cela, bien sûr il y a les calculs commerciaux, les nombres, la statistique voir la
trigonométrie mais en ce qui concerne les fonctions cela est plus difficile à expliquer simplement. Par le biais de
ces courbes de Bézier et les B-splines, on peut leur montrer qu’avec des fonction simples ( t² ou t3 voir t4), les
logiciels qu’ils utilisent ( exemple : SolidWorks®) fonctionnent avec des mathématiques ! Et que tracer une courbe
en CAO, c’est faire des mathématiques car sans elles cela ne serait pas possible.
Bien sur les courbes de Bézier et les B-splines ne sont qu’une application des mathématiques parmi tant d’autres,
mais elles me paraissent simples d’accès pour nos élèves (étude des fonctions, repère, vecteurs, dérivées…), ils
peuvent créer des formes, des objets et ainsi donner du sens aux mathématiques faites en classe !