Sunteți pe pagina 1din 20

CFAO

M.RADOUANI@ensam-umi.ac.ma

cole Nationale Suprieure dArts & Mtiers


: Marjane 2, B.P. : 15290 Mekns, Maroc 15290 : 2 :
Tl : 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 :
Modlisation de courbes et de surfaces

1- Introduction
La CFAO (Conception et Fabrication Assistes par Ordinateurs) permet de regrouper autour


dun modle informatique toutes les donnes dun projet ayant trait la conception-
fabrication, daccder slectivement ces donnes et de les transcrire sous une forme
directement comprhensible par les intervenants.

Le but de ce cours est de prsenter des mthodes de modlisation de courbes et de surfaces


ddies la CFAO. Afin de mettre en vidence les avantages et les inconvnients de chacune,
il est prfrable de raisonner sur la modlisation de courbes, puisquun carreau de surface est
gnr par dplacement et dformation dune courbe.

La modlisation de carreaux de surface est traite dans le cas de la dfinition utilisant les
polynmes de Bzier. Les problmes de raccordement dlments de surface, de continuit et
dintersection sont traits dans le cas gnral des dfinitions polynomiales.

On rencontre deux types de problmes :

M.RADOUANI@ensam-umi.ac.ma
linterpolation et lapproximation dans lesquelles la courbe est plus ou moins
astreinte passer par des points Mi de coordonnes (xi, yi, zi) connues ;

la cration de formes pour laquelle des contraintes ne sont imposes quen quelques
points particuliers.

Dans le cas le plus strict, on connat un ensemble de n+1 points et on cherche dterminer les
coefficients du polynme Pn de degr n passant exactement par tous ces points.

La mthode des polynmes de Lagrange apporte une solution lgante mais ds que le
nombre de points de passage oblig augmente, des oscillations peuvent apparatre, en
particulier dans les zones extrmes (figure 1).

Figure 1. Oscillations dans les zones extrmes

Pour remdier cet inconvnient, on peut imposer des contraintes telles que, par exemple,
minimiser une fonctionnelle comme dans la mthode Spline.

Page 2 CFAO
Modlisation de courbes et de surfaces

Si le passage de la courbe par lensemble des points donns nest pas impratif, le but
recherch tant plutt un lissage , on peut :


soit chercher un polynme Pr de degr r infrieur n passant au mieux parmi
les points. Cest ce que lon fait manuellement en traant une courbe qui doit traduire
le rsultat de mesures exprimentales (figure 2) ;

soit chercher une approximation par une succession darcs de courbe de degr peu
lev (2, 3 ou 4), la continuit entre deux arcs successifs tant assure jusqu un
ordre donn. La mthode de Riesenfeld apporte une solution ce problme.

M.RADOUANI@ensam-umi.ac.ma




I

Figure 2. Vrification exprimentale : U = R I

Enfin, pour la cration ou linvention de formes, il est souhaitable de donner loprateur


un outil dans lequel des entits, tels que des vecteurs, aient une signification gomtrique
vidente, en particulier aux extrmits de chaque lment de courbe. Les polynmes de Bzier
(mthode UNISURF) apportent une solution simple et efficace ce problme.

De cette introduction dcoule tout naturellement le plan suivant :

Polynmes exacts : polynmes de Lagrange ; fonctions Spline.

Approximation : polynmes de degr infrieur ; mthode de Riesenfeld.

Cration de formes : Ferguson ; polynmes de Bzier ; Bernstein ; B-Spline.

Exemple de gnration de surfaces : Coons, Bzier.

Raccordement entre carreaux de surface.

Intersection entre carreaux.

Page 3 CFAO
Modlisation de courbes et de surfaces

2- Polynmes exacts
2.1- Polynmes de Lagrange


Une courbe de lespace R3 tant obtenue par combinaison de courbes de R2, il est plus simple
de raisonner dans le plan XY.

Position du problme : on connat n + 1 couples de valeurs :

(x0, y0) ; (x1, y1) ; ... ; (xi, yi) ; ... ; (xn, yn)

On cherche le polynme de degr n, Pn (x)

Pn(x) = a0 + a1 . x1 + a2 . x2 + ... ak . xk + ... + an . xn [1]

tel que : Pn(xi) = yi pour i = 0, 1, 2, ..., n [2]

Les n+1 coefficients inconnus ak sont obtenus par rsolution du systme linaire de n+1
inconnues donnes par [2]. Cette mthode directe ncessite linversion dune matrice numrique,
ce qui conduit si elle est mal configure des rsultats errons.

M.RADOUANI@ensam-umi.ac.ma
En effet, soit :

a0 y0 x00 x10 ... xk0 ... xn0


a1 y1 x01 x11 ... xk1 ... xn1
... ... ...............................................................
... ... ...............................................................
[A] = ai [y] = yi [u] = x0i x1i ... xki ... xni [3]
... ... ...............................................................
... ... ...............................................................
an yn x0n x1n ... xkn ... xnn

Dans [u] chaque ligne est compose des puissances successives 0, 1, ..., k, ...,n dune valeur
particulire xi du support dapproximation ; chaque colonne est constitue de toutes les valeurs
du support dapproximation une mme puissance k.

Avec cette notation, on a :

[u] . [A] = [y] soit [A] = [u]-1 . [y] [4]

La matrice [u] tant construite sur un support dapproximation, a priori quelconque, le calcul
numrique de son inverse peut conduire des rsultats errons dus des erreurs de chute.

Page 4 CFAO
Modlisation de courbes et de surfaces

Lutilisation de la mthode des polynmes de Lagrange permet dviter cette difficult. Le


mme polynme Pn(x) est mis sous une forme mettant en vidence les valeurs obliges yi par


lintermdiaire des polynmes de Lagrange Li(x) de degr n :

Pn(x) = ni=0 Li(x) . yi [5]


avec : Li(x) =0 si x xi [6]
=1 si x = xi

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 polynmes Li(x) est trs simple. Les coefficients
des polynmes Li(x) ne dpendent que des valeurs xi du support dapproximation :

(x-x0) (x-x1) ... (x-xi-1) (x-xi+1) .... (x-xn)


Li (x) = [7]
(xi-x0) (xi-x1) ... (xi-xi-1) (xi-xi+1) ... (xi-xn)

En combinant les coefficients dune mme puissance de x des diffrents polynmes L i(x),

M.RADOUANI@ensam-umi.ac.ma
associs aux valeurs yi, on retrouve les coefficients ak du polynme Pn(x) mis sous la forme [1].

Remarques :

Toute modification du support dapproximation entrane une nouvelle dtermination


des coefficients des polynmes Li(x).

Lorsque le degr n augmente des oscillations apparaissent surtout aux voisinages


des extrmits de la courbe (figure 4).

2.2- Fonctions Spline


Afin dviter les oscillations entre les points de passage oblig de la courbe solution S, dont la
seule contrainte est de vrifier :

S (x) Pn (xi) yi pour i 0, 1, ..., n.

On lui impose de minimiser la fonctionnelle lq (s) telle que :

lq (s) ab [S(q) (x)]2 . dx [8]

S(q) : reprsente la drive qime de la fonction s ; q : reprsente lordre de la fonctionnelle l.

En mcanique, lnergie de flexion dune poutre parfaite, de longueur l, non encastre,


astreinte passer par des points imposs a pour expression :

Page 5 CFAO
Modlisation de courbes et de surfaces

E k . ol [d2 y / dx2]2 . dx [9]

ce qui correspond la fonctionnelle dordre 2. Sa minimisation fournit la position dquilibre


de la poutre . Ce principe de trac est (ou tait) utilis par les dessinateurs avec laide
dune latte mince, appele SPLINE en anglais, ce qui a donn le nom aux fonctions obtenues
par minimisation dune fonctionnelle mme lorsque q est diffrent 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
caractristiques suivantes sont solution :

a- S(x) est un polynme de degr (q-1) dans les intervalles [a, xo[ et ]xn, b] (figure 5) ;

b- S(x) est un polynme de degr (2q-1) dans chaque intervalle ]xi, xi+1[ pour i = 0, 1,
2, ..., n-1 ;

c- la drive dordre (2q-2) est continue en chaque point xi .

Construction des fonctions Spline

Lorsque x varie de a b, on peut construire la fonction SPLINE par morceaux en ajoutant,


chaque fois que x franchit une valeur xi, un nouveau polynme Pi(x) de degr 2q-1.

Pour cela, on introduit la notation :

(x-xi)+ = 0 si x xi

= (x-xi) si x xi [10]

Page 6 CFAO
Modlisation de courbes et de surfaces

alors Pi(x) = di . (x-xi)+2q-1 / (2q-1)!


Puis on crit que la solution est de degr q-1 dans ]xn, b]. Ainsi, la solution est de la forme :

q1
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 dterminer, on dispose
des n+1 quations :

S (xi) = yi pour i = 0, 1, ..., n. [12]

auxquelles il faut ajouter q quations correspondant lannulation des coefficients de xj pour


j > q-1, ces coefficients sont obtenus en dveloppant lexpression [11]. Ils sont de la forme :

ni=0 di . xik = 0 pour k = 0, 1, ..., q-1. [13]

Les coefficients j et di dpendent des valeurs xi du support dapproximation et des valeurs

M.RADOUANI@ensam-umi.ac.ma
yi, ordonnes des points de passage oblig.

Lexpression de S(x) obtenue en rsolvant [12] et [13] assure aussi une continuit jusqu lordre
(2q-2) en chaque point xi ; et la drive suivante, dordre (2q-1), prsente une discontinuit
de valeur di. Toute modification des xi et des yi entrane une nouvelle dtermination des
coefficients j et di. Il nexiste pas de fonctions Spline prdtermines .

Remarque :

Diffrentes mthodes existent pour dterminer 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 polynme de degr infrieur
On dispose de n+1 couples de valeurs xi, yi. On cherche un polynme Pr (x) de degr r < n
passant au mieux parmi les points. Cest le choix dun critre appropri qui traduit la notion
subjective de passer au mieux parmi les points (figure 2).

Le critre le plus utilis consiste minimiser la somme Q des carrs des carts i :

i = Pr (xi) - yi ; Q = ni=0 2i pour i = 0, 1, ..., n.

Page 7 CFAO
Modlisation de courbes et de surfaces

Les r+1 coefficients dterminer du polynme Pr (x) :

Pr (x) = a0 + a1 . x ... + ar . xr


sont obtenus par rsolution du systme de r+1 quations, obtenus par :

Q / aj = 0 pour j = 0, 1, ..., r

La solution est unique et correspond par ailleurs :

ni=0 xij i = 0

3.2- Mthode de Riesenfeld

On peut raisonner directement dans lespace R3 grce lutilisation dune notation vectorielle
et lemploi de fonctions paramtriques, le paramtre u variant sur [0, 1] (figure 3).
S1

U=0
Si
S0 U=1 Sn

M.RADOUANI@ensam-umi.ac.ma
P(u)

Figure 3. P(u) ; u variant sur [0, 1]

P (u) reprsente le vecteur dcrivant un arc de courbe, lorsque u varie dans [0, 1]. Les points
sont dfinis par des vecteurs Si. Quel que soit le nombre de points, Riesenfeld propose une
approximation constitue dune succession darcs 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 assure jusqu lordre m-1.

Le premier arc va ainsi tre dfini par les m+1 premiers sommets Si moduls chacun par une
fonction relle de u, note Rim (u), tel que :

Pm1 (u) = R0m (u) . S0 + R1m (u) . S1 + ... + Rmm (u) . Sm

= m
i=0 R m (u) . Si
i pour u [0, 1] [14]

Pour larc suivant, lindice des sommets Si est incrment dune unit :

Page 8 CFAO
Modlisation 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 dordre m-1 entre deux
arcs successifs, en leur point commun, lextrmit de lun dfinie pour u = 1 et lorigine de
lautre dfinie pour u = 0, soit :

d(q) Pm1 (1) / duq = d(q) Pm2 (0) / duq pour q = 0, 1, 2, ..., m-1 [15]

En explicitant les conditions [15], on obtient un systme qui permet, thoriquement, de


dterminer les fonctions de Riesenfeld en ajoutant la condition, dite de Cauchy :

m
i=0 R m (u) = 1
i

Pour dterminer les fonctions Ri m (u), Riesenfeld a propos lexpression :

Rim (u) = (m+1) . m


j=0 . (-1) . (u+m-i-j) / j! (m-j+1)!
j m [16]

M.RADOUANI@ensam-umi.ac.ma
Les figures 4 et 5 prsentent quelques familles de fonctions de Riesenfeld et les interpolations
correspondantes.

Remarques

Pour chaque valeur de m, on obtient une famille de m+1 fonctions rpondant la question.
Ces fonctions sont prdtermines et indpendantes des points, ou sommets S i, ce qui est
nouveau par rapport aux mthodes prcdentes. Lutilisation dune telle mthode ne ncessite
donc aucune dtermination pralable.

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

Figure 4. Fonctions de Riesenfeld (m=2 et m=3)

Page 9 CFAO
Modlisation de courbes et de surfaces


Figure 5. Interpolations des familles de fonctions de Riesenfeld (n=2)

4- Cration de formes
4.1- Historique

M.RADOUANI@ensam-umi.ac.ma
Pour la cration de formes, lide est de mettre la disposition des oprateurs, un outil
permettant de numriser la courbe aussitt son esquisse, partir de quelques points
caractristiques tels que : position de lorigine (u = 0) et de lextrmit (u = 1), directions des
tangentes en ces points par exemple.

Une des premires approches a t propose par J. Ferguson sous forme dun polynme
coefficients vectoriels :

P(u) = 0 + u . 1 + u2 . 2 + u3 . 3 avec u[0, 1] [17]

La position de lorigine de la courbe est donne par le vecteur 0 et celle de lextrmit par
la somme gomtrique des vecteurs :

P(1) = 0 + 1 + 2 + 3

La direction de la tangente lorigine est donne par le vecteur 1 = P(0) et lextrmit


par : P(1) = 1 + 2 2 + 3 3

Ainsi les vecteurs 0 , 1 , 0+1+2+3 ont une signification gomtrique claire.

Ce principe a t repris par P. Bzier et son quipe en associant aux vecteurs 0, 1, ..., i
non pas les simples puissances successives de u : u0, u1, ..., ui dun paramtre u, mais des

Page 10 CFAO
Modlisation de courbes et de surfaces

fonctions f0 (u), f1 (u), ..., fi (u) qui vont tre parfaitement et totalement dtermines par un
ensemble de contraintes gomtriques imposes aux vecteurs i.


4.2- Mthode UNISURF
2.2.1- Polynmes de Bzier

Une courbe est dfinie par une expression paramtrique vectorielle (figure 6), chaque vecteur
i est modul par une fonction fi (u) du paramtre u, avec u[0, 1], telle que :

P(u) = ni=0 f in (u) . i [18]

U=0 i

M.RADOUANI@ensam-umi.ac.ma
z

0 U=1
n
y
o

Figure 6. Courbe de Bzier

lorigine (u = 0), on impose que :

La position soit donne par 0 f in (0) = 0 pour i 0 ;

La direction de la tangente par 1 f in (0) = 0 sauf pour i = 1 ;

La drive seconde ne dpende que de 1et 2, soit f in (0) = 0 sauf pour i = 1 et i = 2 ;

et dune faon gnrale, la drive kime ne dpend que des k vecteurs significatifs 1,
2 , ..., k, ce qui impose f in(k) (0) = 0 pour i = k+1, k+2, ..., n.

Et ainsi de suite (figure 7).

lextrmit (u = 1), on impose que :

Page 11 CFAO
Modlisation de courbes et de surfaces

la position soit donne par la somme des vecteurs : 0 + 1 + ... + n f in (1) = 1, i ;

La direction de la tangente dpende de n f in (1) = 0 sauf pour i = n ;

La drive seconde ne dpende que de n et n-1, soit f in (1) = 0 sauf pour i = n et i = n-1 ;

et dune faon gnrale, la drive kime en u = 1 ne dpend que des k vecteurs n, n-


1, ... , n-k+1, ce qui impose : f in(k) (1) = 0 pour i n-k.

Figure 7. Courbe lmentaire de Bzier et son polygone de contrle

M.RADOUANI@ensam-umi.ac.ma
Lutilisation de ces conditions permettent la dtermination de familles de fonctions. On peut les
calculer directement par lexpression :

f in (u) = nk=i xki . uk avec xki = (-1)k-i . Ck-ik-1 . Ckn [19]

Les polynmes de Bzier sont ainsi prdtermins et la modification de la courbe (figure 8)


est obtenue en changeant les vecteurs i dont les extrmits dfinissent le polygone
caractristique.

Figure 8. Courbe de Bzier et son polygone de contrle 10 points

La figure 9 suivante prsente la formule et la reprsentation des familles de polynmes de


Bzier, pour n = 3, n = 4 et n = 5

Page 12 CFAO
Modlisation de courbes et de surfaces

1 Polynmes de Bzier : n =3


fo = 1
f1
f1 = u3 3 u2 +3u
f2 = 2 u3 + 3 u2
f2 f3 = u3

f3

1 Polynmes de Bzier : 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 Polynmes de Bzier : 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

Figure 9. Familles de polynmes de Bzier, pour n = 3, n = 4 et n = 5

2.2.2- Quelques proprits des fonctions de Bzier :

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
Modlisation de courbes et de surfaces

f in (u) f i+1n (u) = Cin . ui . (1-u)n - i = Bin (u), fonction de Bernstein

f in (u) = 1 - f jn (1-u) avec j = n - i + 1


Cette relation met en vidence lunicit de la courbe, paramtre en u ou 1-u, construite sur le
mme polygone caractristique mais dcrite dans un sens ou dans lautre.

f in (u) = n . [f i-1n-1 (u) f in-1 (u)] = n . Ci-1n-1 . ui-1 (1-u)ni

1f 1n (u) f 2n (u) ... f in (u) ... f nn (u) pour u] 0, 1 [

2.2.3- Autre criture : Forme polynomiale.

Lexpression de dpart, utilisant les i , peut se mettre sous dautres formes plus appropries,
soit pour le calcul numrique [18.10] soit mettant en vidence directement les coordonnes S i
des extrmits des vecteurs i [18.20] appels sommets caractristiques :

P(u) = ni=0 f in (u) . i = ni=0 bi . ui = [b]n . [u] [18.10]

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 Bzier (relation [19]) :

[b]n = [x]n . []n [18.11]

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 compose des coefficients des puissances successives
du paramtre u, des fonctions successives f 0n, f 1n, ..., f in, ..., f nn. Chaque ligne est compose
des coefficients xki relatifs aux termes de mme puissance uk, pour k variant de 0 n. On
remarquera que [X]n est triangulaire infrieure.

Page 14 CFAO
Modlisation de courbes et de surfaces

De la relation [18.11], on dduit immdiatement :

[]n = [X]-1n . [b]n [18]


ce qui met en vidence que toute courbe dfinie par un polynme peut se mettre sous la forme
UNISURF et rciproquement.

2.2.4- Fonctions de Bernstein

Dans lexpression [18], on peut exprimer les vecteurs i par les composantes Si donnant les
sommets du polygone caractristiques :

i
S i-1 Si

M.RADOUANI@ensam-umi.ac.ma
y
o

i = Si Si-1 avec S-1 = 0 (vecteur nul)

P(u) = ni=0 f in (u) . i = ni=0 f in (u) . (Si Si-1)

et en dveloppant selon les Si :

P(u) = ni=0 [f in (u) f i+1n (u)] . Si = ni=0 Bin (u) . Si [18.20]

Les fonctions Bin (u) = Cin . ui . (1 u)n-i sont les fonctions de Bernstein, aussi appeles fonctions
Mlange , dont on donne quelques exemples de reprsentation.

La formulation utilisant les fonctions de Bernstein est bien adapte pour la modification dune
courbe. En effet, si le sommet Sk est dplac de la quantit Sk, la nouvelle courbe a pour
expression :

PMOD(u) = P(u) + Bkn(u) . Sk

La dformation est porte par le vecteur Sk, damplitude module par la fonction de
Bernstein associe Bkn (u).

Page 15 CFAO
Modlisation de courbes et de surfaces

La figure 10 suivante prsente la formule et la reprsentation des familles de polynmes de


Bernstein, pour n = 3, n = 4 et n = 5


1 Polynmes 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 Polynmes 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 Polynmes 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

Figure 10. Familles de polynmes de Bzier, pour n = 3, n = 4 et n = 5

2.2.5- Expression analytique des B-Spline

Vecteur nodal T = [t0, t1, ... ti, ... tk] suite de nombres rels.

Page 16 CFAO
Modlisation de courbes et de surfaces

ti = nud, simple si ti-1 ti ti+1


multiple si ti = ti+1


Exemples : t = [0, 1, 2, 3, 4] nuds simples

t = [0, 0, 0, 1, 2, 3, 3, 3] deux nuds sont de multiplicit 3.

2.2.6- Algorithme de COX-DE BOOR

Fonction de B-Spline de degr m (dordre m+1)

m=0 Ni,0 (t) = 1 si t [ti , ti+1[


0 ailleurs

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[

m=1 N0,1 (t) = t pour t [0 , 1[


N0,1 (t) = 2-t pour t [1 , 2[
N0,1 (t) = 0 pour t [2 , 3[

N1,1 (t) = 0 pour t [0 , 1[


N1,1 (t) = t-1 pour t [1 , 2[
N1,1 (t) = 3-t pour t [2 , 3[

m=2 N0,2 (t) = t2/2 pour t [0 , 1[


N0,2 (t) = -t2+3t-3/2 pour t [1 , 2[
N0,2 (t) = 1/2 (t-3)2 pour t [2 , 3[

Reprsentations :

1 N0,1 N1,1 N0,2


0.75
0.5

t
0 1 2 3 0 1 2 3

Page 17 CFAO
Modlisation de courbes et de surfaces

2.2.7- Relation avec RIESENFELD

Vecteur Nodal compos de nuds simples quidistants, par exemple : ti+1 = ti + 1


avec changement de variable t = ti +u

Exemple : T = [ 0, 1, 2, 3, 4]

N0,3 (t) = 1/6 t3 pour t [0 , 1[


N0,3 (t) = 1/6 [(-2t3+6t2-3t)+(4-t).(t-1)2] pour t [1 , 2[
N0,3 (t) = 1/6 [t.(3-t)2+(4-t).(-2t2+10.t-11)] pour t [2 , 3[
N0,3 (t) = 1/6 (4-t)3 pour t [3 , 4[
Changement de variable :
t=u N0,3 (u) = 1/6 u3 R33 (u)
t = 1+u N0,3 (u) = 1/6 [-3u3+3u2+3u+1] R23 (u)
t = 2+u N0,3 (u) = 1/6 [3u3-6u2+4] R13 (u)
t = 3+u N0,3 (u) = 1/6 [1-u]3 R03 (u)

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

2.2.8- Relation avec BERNSTEIN

2 nuds conscutifs de multiplicit m+1

Exemple : T = [0, 0, 0, 0, 1, 1, 1, 1]

N0,3 (u) = [1-u]3 B03 (u)


N1,3 (u) = 3 u [1-u]2 B13 (u)
N2,3 (u) = 3 u2 [1-u] B23 (u)
N3,3 (u) = u3 B33 (u)

Page 18 CFAO
Modlisation de courbes et de surfaces


B03 B33

B13 B23

u
0 1

Cas mixte T = [0, 0, 0, 2 /5, 1, 1, 1]

0 t 2/5 1

N0,2 (t) = (1-5/2t)2 N0,2 (t) = 0


N1,2 (t) = 5t(1-7/4t) N1,2(t) = 5/3 (1-t)2
N2, 2 (t) = 5/2 t2 N2,2(t) = 10/9 (1-t)(4t-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

P (t) = 3i=0 Ni,2 . Si

S1
t=2/5

S2
P(t)
S0
t=0

t=0
S3

Page 19 CFAO
Modlisation de courbes et de surfaces

2.2.9- Algorithme de De Casteljau

Lalgorithme de De Casteljau est bas sur l'ide 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 numrots 1i. La position du point 10 est dtermine par :

M.RADOUANI@ensam-umi.ac.ma
u = 010/01 = 111/12 = 212/23 =313/34 = = 0,4

Le point 20 appartient la polyligne [1011], le point 21 appartient la polyligne [1112],


, et le point 23 appartient la polyligne [1314]. Les nouveaux points sont en rouge et
numrots 2i. La position du point 20 est dtermine par :

u = 1020/1011 = 1121/1112 = 1222/1213 =1323/1314 = = 0,4

et ainsi de suite, lapplication de ce processus permet de dterminer la position du point P(0,4)


sur la courbe de Bzier. La dernire polyligne du rseau De Casteljau est le segment tangent
la courbe de Bzier au point P(0,4).

Page 20 CFAO

S-ar putea să vă placă și