Académique Documents
Professionnel Documents
Culture Documents
CFAO - Modélisation de Courbes Et Surfaces PDF
CFAO - Modélisation de Courbes Et Surfaces PDF
محم د رض واين
M.RADOUANI@ensam-umi.ac.ma
École Nationale Supérieure d’Arts & Métiers املدرسة الوطنية العليا للفنون واملهن
: Marjane 2, B.P. : 15290 – Meknès, Maroc املغرب، – مكناس15290 : صندوق الربيد،2 مرجان:
Tél : 05 35 46 71 60/62 – Fax : 05 35 46 71 64 05 35 46 71 64 : – الفاكس05 35 46 71 60/62 : الهاتف
Site web : www.ensam-umi.ac.ma : املوقع الإلكرتوين
Modélisation de courbes et de surfaces
1- Introduction
La CFAO (Conception et Fabrication Assistées par Ordinateurs) permet de regrouper autour
محم د رض واين
d’un modèle informatique toutes les données d’un projet ayant trait à la conception-
fabrication, d’accéder sélectivement à ces données et de les transcrire sous une forme
directement compréhensible par les intervenants.
La modélisation de carreaux de surface est traitée dans le cas de la définition utilisant les
polynômes de Bézier. Les problèmes de raccordement d’éléments de surface, de continuité et
d’intersection sont traités dans le cas général des définitions polynomiales.
M.RADOUANI@ensam-umi.ac.ma
l’interpolation et l’approximation dans lesquelles la courbe est plus ou moins
astreinte à passer par des points Mi de coordonnées (xi, yi, zi) connues ;
la création de formes pour laquelle des contraintes ne sont imposées qu’en quelques
points particuliers.
Dans le cas le plus strict, on connaît un ensemble de n+1 points et on cherche à déterminer les
coefficients du polynôme Pn de degré n passant exactement par tous ces points.
La méthode des polynômes de Lagrange apporte une solution élégante mais dès que le
nombre de points de passage obligé augmente, des oscillations peuvent apparaître, en
particulier dans les zones extrêmes (figure 1).
Pour remédier à cet inconvénient, on peut imposer des contraintes telles que, par exemple,
minimiser une fonctionnelle comme dans la méthode Spline.
Page 2 CFAO
Modélisation de courbes et de surfaces
Si le passage de la courbe par l’ensemble des points donnés n’est pas impératif, le but
recherché étant plutôt un « lissage », on peut :
محم د رض واين
soit chercher un polynôme Pr de degré r inférieur à n passant « au mieux » parmi
les points. C’est ce que l’on fait manuellement en traçant une courbe qui doit traduire
le résultat de mesures expérimentales (figure 2) ;
soit chercher une approximation par une succession d’arcs de courbe de degré peu
élevé (2, 3 ou 4), la continuité entre deux arcs successifs étant assurée jusqu’à un
ordre donné. La méthode de Riesenfeld apporte une solution à ce problème.
U
M.RADOUANI@ensam-umi.ac.ma
I
Page 3 CFAO
Modélisation de courbes et de surfaces
2- Polynômes exacts
2.1- Polynômes de Lagrange
محم د رض واين
Une courbe de l’espace R3 étant obtenue par combinaison de courbes de R2, il est plus simple
de raisonner dans le plan XY.
(x0, y0) ; (x1, y1) ; ... ; (xi, yi) ; ... ; (xn, yn)
Les n+1 coefficients inconnus ak sont obtenus par résolution du système linéaire de n+1
inconnues données par [2]. Cette méthode directe nécessite l’inversion d’une matrice numérique,
ce qui conduit si elle est mal configurée à des résultats erronés.
M.RADOUANI@ensam-umi.ac.ma
En effet, soit :
Dans [u] chaque ligne est composée des puissances successives 0, 1, ..., k, ...,n d’une valeur
particulière xi du support d’approximation ; chaque colonne est constituée de toutes les valeurs
du support d’approximation à une même puissance k.
La matrice [u] étant construite sur un support d’approximation, a priori quelconque, le calcul
numérique de son inverse peut conduire à des résultats erronés dus à des erreurs de chute.
Page 4 CFAO
Modélisation de courbes et de surfaces
محم د رض واين
l’intermédiaire des polynômes de Lagrange Li(x) de degré n :
Permettant ainsi à Pn(x) de prendre les valeurs yo, y1, ..., yi, ..., yn lorsque x prend les valeurs
successives xo, x1, ..., xi, ..., xn. La construction des polynômes Li(x) est très simple. Les coefficients
des polynômes Li(x) ne dépendent que des valeurs xi du support d’approximation :
En combinant les coefficients d’une même puissance de x des différents polynômes L i(x),
M.RADOUANI@ensam-umi.ac.ma
associés aux valeurs yi, on retrouve les coefficients ak du polynôme Pn(x) mis sous la forme [1].
Remarques :
Page 5 CFAO
Modélisation de courbes et de surfaces
محم د رض واين
de la « poutre ». Ce principe de tracé est (ou était) utilisé par les dessinateurs avec l’aide
d’une latte mince, appelée SPLINE en anglais, ce qui a donné le nom aux fonctions obtenues
par minimisation d’une fonctionnelle même lorsque q est différent de 2.
____ Lagrange
_ _ _ Spline
M.RADOUANI@ensam-umi.ac.ma
Figure 3. Interpolation de 28 points
Pour une valeur choisie de q 2, on peut montrer que les fonctions S(x) ayant les
caractéristiques suivantes sont solution :
a- S(x) est un polynôme de degré (q-1) dans les intervalles [a, xo[ et ]xn, b] (figure 5) ;
b- S(x) est un polynôme de degré (2q-1) dans chaque intervalle ]xi, xi+1[ pour i = 0, 1,
2, ..., n-1 ;
(x-xi)+ = 0 si x xi
= (x-xi) si x xi [10]
Page 6 CFAO
Modélisation de courbes et de surfaces
محم د رض واين
Puis on écrit que la solution est de degré q-1 dans ]xn, b]. Ainsi, la solution est de la forme :
q−1
S (x) = ∑j=0 j . xj + ∑ni=0 Pi (x) [11]
Les inconnues sont les q coefficients j et les n+1 coefficients di. Pour les déterminer, on dispose
des n+1 équations :
M.RADOUANI@ensam-umi.ac.ma
yi, ordonnées des points de passage obligé.
L’expression de S(x) obtenue en résolvant [12] et [13] assure aussi une continuité jusqu’à l’ordre
(2q-2) en chaque point xi ; et la dérivée suivante, d’ordre (2q-1), présente une discontinuité
de valeur di. Toute modification des xi et des yi entraîne une nouvelle détermination des
coefficients j et di. Il n’existe pas de fonctions Spline « prédéterminées ».
Remarque :
Différentes méthodes existent pour déterminer les fonctions Spline, en tenant compte, non
seulement de points de passage obligé, mais aussi de directions de tangente en certains points.
3- Approximation
3.1- Approximation par un polynôme de degré inférieur
On dispose de n+1 couples de valeurs xi, yi. On cherche un polynôme Pr (x) de degré r < n
passant «au mieux parmi les points». C’est le choix d’un critère approprié qui traduit la notion
subjective de «passer au mieux parmi les points» (figure 2).
Le critère le plus utilisé consiste à minimiser la somme Q des carrés des écarts i :
Page 7 CFAO
Modélisation de courbes et de surfaces
Pr (x) = a0 + a1 . x ... + ar . xr
محم د رض واين
sont obtenus par résolution du système de r+1 équations, obtenus par :
∑ni=0 xij i = 0
On peut raisonner directement dans l’espace R3 grâce à l’utilisation d’une notation vectorielle
et l’emploi de fonctions paramétriques, le paramètre u variant sur [0, 1] (figure 3).
S1
U=0
Si
S0 U=1 Sn
M.RADOUANI@ensam-umi.ac.ma
P(u)
P (u) représente le vecteur décrivant un arc de courbe, lorsque u varie dans [0, 1]. Les points
sont définis par des vecteurs Si. Quel que soit le nombre de points, Riesenfeld propose une
approximation constituée d’une succession d’arcs de courbe, chacun de degré m<<n, construit
sur m+1 points Si et deux arcs de courbe successifs utilisent m points communs, la continuité
entre eux est assurée jusqu’à l’ordre m-1.
Le premier arc va ainsi être défini par les m+1 premiers sommets Si modulés chacun par une
fonction réelle de u, notée Rim (u), tel que :
= ∑m
i=0 R m (u) . Si
i pour u [0, 1] [14]
Pour l’arc suivant, l’indice des sommets Si est incrémenté d’une unité :
Page 8 CFAO
Modélisation de courbes et de surfaces
Pm2 (u) = ∑m
i=0 R m (u) . Si+1
i pour u [0, 1]
et ainsi de suite.
محم د رض واين
Les fonctions Rim (u), fonctions de Riesenfeld, assurent une continuité d’ordre m-1 entre deux
arcs successifs, en leur point commun, l’extrémité de l’un définie pour u = 1 et l’origine de
l’autre définie pour u = 0, soit :
d(q) Pm1 (1) / duq = d(q) Pm2 (0) / duq pour q = 0, 1, 2, ..., m-1 [15]
∑m
i=0 R m (u) = 1
i
M.RADOUANI@ensam-umi.ac.ma
Les figures 4 et 5 présentent quelques familles de fonctions de Riesenfeld et les interpolations
correspondantes.
Remarques
Pour chaque valeur de m, on obtient une famille de m+1 fonctions répondant à la question.
Ces fonctions sont «prédéterminées» et indépendantes des points, ou sommets S i, ce qui est
nouveau par rapport aux méthodes précédentes. L’utilisation d’une telle méthode ne nécessite
donc aucune détermination préalable.
1 1
R12
R13 R23
2/3
1/2
R02 R22
1/6
R03 R33
0 0
u=0 u=1 u=0 u=1
Page 9 CFAO
Modélisation de courbes et de surfaces
محم د رض واين
Figure 5. Interpolations des familles de fonctions de Riesenfeld (n=2)
4- Création de formes
4.1- Historique
M.RADOUANI@ensam-umi.ac.ma
Pour la création de formes, l’idée est de mettre à la disposition des opérateurs, un outil
permettant de numériser la courbe aussitôt son esquisse, à partir de quelques points
caractéristiques tels que : position de l’origine (u = 0) et de l’extrémité (u = 1), directions des
tangentes en ces points par exemple.
Une des premières approches a été proposée par J. Ferguson sous forme d’un polynôme à
coefficients vectoriels :
La position de l’origine de la courbe est donnée par le vecteur 0 et celle de l’extrémité par
la somme géométrique des vecteurs :
P(1) = 0 + 1 + 2 + 3
Ce principe a été repris par P. Bézier et son équipe en associant aux vecteurs 0, 1, ..., i
non pas les simples puissances successives de u : u0, u1, ..., ui d’un paramètre u, mais des
Page 10 CFAO
Modélisation de courbes et de surfaces
fonctions f0 (u), f1 (u), ..., fi (u) qui vont être parfaitement et totalement déterminées par un
ensemble de contraintes géométriques imposées aux vecteurs i.
محم د رض واين
4.2- Méthode UNISURF
2.2.1- Polynômes de Bézier
Une courbe est définie par une expression paramétrique vectorielle (figure 6), chaque vecteur
i est modulé par une fonction fi (u) du paramètre u, avec u[0, 1], telle que :
2
1
U=0 i
M.RADOUANI@ensam-umi.ac.ma
z
0 U=1
n
y
o
La dérivée seconde ne dépende que de 1et 2, soit f in’’ (0) = 0 sauf pour i = 1 et i = 2 ;
et d’une façon générale, la dérivée kième ne dépend que des k vecteurs significatifs 1,
2 , ..., k, ce qui impose f in(k) (0) = 0 pour i = k+1, k+2, ..., n.
Page 11 CFAO
Modélisation de courbes et de surfaces
محم د رض واين
La dérivée seconde ne dépende que de n et n-1, soit f in’’ (1) = 0 sauf pour i = n et i = n-1 ;
et d’une façon générale, la dérivée kième en u = 1 ne dépend que des k vecteurs n, n-
1, ... , n-k+1, ce qui impose : f in(k) (1) = 0 pour i n-k.
M.RADOUANI@ensam-umi.ac.ma
L’utilisation de ces conditions permettent la détermination de familles de fonctions. On peut les
calculer directement par l’expression :
Page 12 CFAO
Modélisation de courbes et de surfaces
1 Polynômes de Bézier : n =3
محم د رض واين
fo = 1
f1
f1 = u3 – 3 u2 +3u
f2 = – 2 u3 + 3 u2
f2 f3 = u3
f3
1 Polynômes de Bézier : n = 4
f1 fo = 1
f1 = – u4 + 4 u3 – 6 u2 +4u
f2 f2 = 3 u4 – 8 u3 + 6 u2
f3 = – 3 u4 + 4 u3
M.RADOUANI@ensam-umi.ac.ma
f3
f4 = u4
f4
1 Polynômes de Bézier : n = 5
f1 fo = 1
f1 = u5 – 5 u4 + 10 u3 – 10 u2 +5u
f2
f2 = – 4 u5 + 15 u4 – 20 u3 + 10 u2
f3
f3 = 6 u5 – 15 u4 + 10 u3
f4 f4 = – 4 u5 + 5 u4
f5 = u5
f5
Autre expression : f in (u) = [(-u)i / (i-1)!] . [di-1 n (u) / dui-1] avec n = [(1 - u)n –1] / u
∑ni=1 f in (u) = n . u
Page 13 CFAO
Modélisation de courbes et de surfaces
محم د رض واين
Cette relation met en évidence l’unicité de la courbe, paramétrée en u ou 1-u, construite sur le
même polygone caractéristique mais décrite dans un sens ou dans l’autre.
L’expression de départ, utilisant les i , peut se mettre sous d’autres formes plus appropriées,
soit pour le calcul numérique [18.10] soit mettant en évidence directement les coordonnées S i
des extrémités des vecteurs i [18.20] appelés sommets caractéristiques :
M.RADOUANI@ensam-umi.ac.ma
avec [b]n = [b0, b1, ..., bi, ..., bn]T [u] = [u0, u1, u2, ..., un]
Ce vecteur [b]n peut être obtenu à partir des vecteurs i et des coefficients xki des fonctions
de Bézier (relation [19]) :
avec
1 0 0 --- --- 0 u0 0
0 x11 0 --- --- 0 u1 1
0 x21 x22 --- --- 0 u2 2
[X]n = --- --- --- --- --- --- --- et []n = ---
--- --- --- --- --- --- --- ---
0 xn1 xn2 --- --- xnn un n
--- ---
f 0n f 1n f 2n --- --- f nn
Chaque colonne de la matrice [X]n est composée des coefficients des puissances successives
du paramètre u, des fonctions successives f 0n, f 1n, ..., f in, ..., f nn. Chaque ligne est composée
des coefficients xki relatifs aux termes de même puissance uk, pour k variant de 0 à n. On
remarquera que [X]n est triangulaire inférieure.
Page 14 CFAO
Modélisation de courbes et de surfaces
محم د رض واين
ce qui met en évidence que toute courbe définie par un polynôme peut se mettre sous la forme
UNISURF et réciproquement.
Dans l’expression [18], on peut exprimer les vecteurs i par les composantes Si donnant les
sommets du polygone caractéristiques :
i
S i-1 Si
M.RADOUANI@ensam-umi.ac.ma
y
o
Les fonctions Bin (u) = Cin . ui . (1 – u)n-i sont les fonctions de Bernstein, aussi appelées fonctions
« Mélange », dont on donne quelques exemples de représentation.
La formulation utilisant les fonctions de Bernstein est bien adaptée pour la modification d’une
courbe. En effet, si le sommet Sk est déplacé de la quantité Sk, la nouvelle courbe a pour
expression :
La déformation est portée par le vecteur Sk, d’amplitude modulée par la fonction de
Bernstein associée Bkn (u).
Page 15 CFAO
Modélisation de courbes et de surfaces
محم د رض واين
1 Polynômes de Bernstein : n =3
B0
Bo = – u3 + 3 u2 –3u +1
B1
B1 = 3 u3 – 6 u2 +3u
B2
B2 = – 3 u3 + 3 u2
B3
B3 = u3
1 Polynômes de Bernstein : n = 4
B0
Bo = u4 – 4 u3 + 6 u2 –4u +1
B1
B2
B1 = – 4 u4 + 12 u3 – 12 u2 +4u
B2 = 6 u4 – 12 u3 + 6 u2
M.RADOUANI@ensam-umi.ac.ma
B3
B4 B3 = + 4 u3
– 4 u4
B4 = u4
1 Polynômes de Bernstein : n = 5
B0
B1
Bo = –u5 +5u4 –10u3 +10u2 –5u +1
B2 B1 = +5u5 –20u4 +30u3 –20u2 +5u
B3
B2 = –10u5 +30u4 –30u3 +10u2
B4
B5 B3 = 10u5 –20u4 +10u3
B4 = –5u5 +5u4
B5 = u5
Vecteur nodal T = [t0, t1, ... ti, ... tk] suite de nombres réels.
Page 16 CFAO
Modélisation de courbes et de surfaces
محم د رض واين
Exemples : t = [0, 1, 2, 3, 4] nœuds simples
m, Ni,m (t) = [(t ti) / (ti+m ti)] . Ni,m-1 (t) + [(ti+m+1 t) / (ti+m+1 ti+1)] . Ni+1,m-1 (t)
convention 0/0 = 0
Exemple : T = [0, 1, 2, 3]
M.RADOUANI@ensam-umi.ac.ma
On a m=0 N0,0 (t) = 1 pour t [0 , 1[
N1,0 (t) = 1 pour t [1 , 2[
N2,0 (t) = 1 pour t [2 , 3[
Représentations :
t
0 1 2 3 0 1 2 3
Page 17 CFAO
Modélisation de courbes et de surfaces
محم د رض واين
avec changement de variable t = ti +u
Exemple : T = [ 0, 1, 2, 3, 4]
M.RADOUANI@ensam-umi.ac.ma
1
N0,3 (t)
0,5
R23 R13
R33 R03
0
0 1 2 3 4
u u
0 1 0 1
Exemple : T = [0, 0, 0, 0, 1, 1, 1, 1]
Page 18 CFAO
Modélisation de courbes et de surfaces
محم د رض واين
B03 B33
B13 B23
u
0 1
0 – – – – – – – t – – – – – – – 2/5 – – – – – – – 1
M.RADOUANI@ensam-umi.ac.ma
N3,2 (t) = 0 N3,2 (t) = 25/9 (t-2/5)2
1
B03 B33
B13 B23
u
0 1
S1
t=2/5
S2
P(t)
S0
t=0
t=0
S3
Page 19 CFAO
Modélisation de courbes et de surfaces
L’algorithme de De Casteljau est basé sur l'idée suivante : u [0, 1], dans la figure ci-dessous,
محم د رض واين
u = 0,4. Le point 10 appartient à la polyligne [01], le point 11 appartient à la polyligne [12],
…, et le point 14 appartient à la polyligne [45].
Les nouveaux points sont en bleu et numérotés 1i. La position du point 10 est déterminée par :
M.RADOUANI@ensam-umi.ac.ma
u = 010/01 = 111/12 = 212/23 =313/34 = … = 0,4
Page 20 CFAO