Documente Academic
Documente Profesional
Documente Cultură
CURS 10
MODELARE GEOMETRIC
3.5 Curbele Hermite
Descrierea algebric a curbelor printr-un set de ecuaii polinomiale cubice
parametrice se materializeaz ntr-o ecuaie vectorial. Exprimarea coeficienilor
algebrici n funcie de condiiile pe frontier duce direct la o form geometric mai
convenabil. Funciile Hermite fundamentale apar ca nite conexiuni matematice ntre
formularea algebric i cea geometric.
3.5.1 Forma algebric i forma geometric
Forma algebric a unei curbe parametrice cubice este dat de urmtoarele trei
polinoame:
x ( u) = ax u3 + bx u2 + cx u + d x
y ( u) = a y u3 + by u2 + cy u + d y
(20)
z ( u) = az u + bz u + cz u + d z
De regul, se restrnge parametrul u la valori n intervalul [0,1]. Restricia mrginete
curba crend un segment de curb. Cei doisprezece coeficieni, numii coeficieni
algebrici, determin o curb unic, dat de mrimea, forma i poziia ei n spaiu. n
consecin, dou curbe de aceeai form i mrime, au coeficieni algebrici diferii dac
ei ocup poziii diferite n spaiu. Scrierea acestor trei ecuaii n forma mai compact a
unei ecuaii vectoriale este mai puin greoaie i permite s indicarea unui numr arbitrar
de dimensiuni. Astfel n notaie vectorial, ecuaiile (4.20) devin:
p(u ) = au 3 + bu 2 + cu + d
(21)
unde p(u ) este vectorul de poziie a oricrui punct de pe curb i a, b, c, d sunt vectorii
echivaleni ai coeficienilor scalari algebrici. Componentele lui p(u ) corespund
coordonatelor carteziene ale punctului. Ecuaia (21) propune o form i mai simplificat,
utiliznd operatorul de nsumare:
3
p(u ) =
aiu i
i =0
n final, utiliznd convenia lui Einstein i reajustnd indicii dup necesitate, se obine:
i
p(u ) = a i u i sau xi = ai u
unde ai sunt coeficienii algebrici i xi este termenul de ordinul i . Coeficienii algebrici
nu reprezint cea mai avantajoas cale de controlare a formei unei curbe n situaiile
tipice de modelare i nici nu contribuie mult la intuirea unei curbe. Cu toate acestea,
forma hermitic ofer o alternativ practic i permite definirea unui segment de curb
n funcie de condiiile de la capetele sale. Pentru o curb hermitic cubic, aceste
condiii sunt, de regul, coordonatele capetelor i direciile tangente la aceste puncte.
Folosind capetele p(0) i p(1) i vectorii tangeni corespondeni p u (0) i p u (1) , se obin
urmtoarele patru ecuaii:
-1-
p(0) = d ; p(1) = a + b + c + d
p u (0) = c ; p u (1) = 3a + 2b + c
(22)
(23)
(24)
Mai departe, se simplific aceast ecuaie folosind indici pentru a reprezenta valorile de
capt ale lui u . Cu aceste operaii, ecuaia (4.24) se poate scrie:
p(u ) = F1 (u )p 0 + F2 (u )p1 + F3 (u )p u0 + F4 (u )p1u
(25)
u
u
Aceasta este forma geometric, iar vectorii p 0 , p1 , p 0 , p 1 sunt coeficienii geometrici.
Termenii F reprezint funciile hermitice de baz.
3.5.2 Funciile de baz Hermite
Funciile hermitice de baz apar pentru prima dat n derivarea formei
geometrice din forma algebric. Sunt funciile definite de ecuaiile (23). Figura 3 arat
fiecare funcie ca o curb pe domeniul de variaie a parametrului u, n intervalul
u [ 0,1] .
-2-
p(u ) = u 3
Fcnd notaiile
p(u ) = [x(u )
u2
y (u ) z (u )]T
u 1 [a b c d ]T
(26)
; U = u 3 u 2 u 1 ; A = [a b c d]T
(27)
p(u ) = [F1 (u ) F2 (u ) F3 (u ) F4 (u )] p 0
Dac se noteaz
p1 p u0
p1u
(28)
F = [F1 (u ) F2 (u ) F3 (u ) F4 (u )]
B = p0
p1 p u0
p1u
F = (2u 3 3u 2 + 1) (2u 3 + 3u 2 ) (u 3 2u 2 + u ) (u 3 u 2 )
(30)
F = u3
u2
1
2 2 1
3 3 2 1
u 1
0
0
1
0
0
0
0
1
(31)
0
1
=
0
0
1
0
2
0
1
1
1
1
1
0
(36)
un mod previzibil, este preferabil s fie schimbai numai civa parametri. Curba Bzier
satisface parial aceast necesitate.
p i f i (u)
u [0,1]
i =0
(37)
unde vectorii p i reprezint n + 1 vrfuri ale unui poligon caracteristic (fig. 1). Aceste
vrfuri sunt punctele de control. Apoi se stabilesc proprietile pe care trebuie s le aib
funciile de baz f i ( u) i se caut funcii specifice care ndeplinesc aceste cerine. Aici
este prezentat o recapitulare a proprietilor i argumentele lor.
1. Funciile trebuie s interpoleze primul i ultimul punct nodal, adic segmentul de
curb trebuie s nceap n p 0 i s se termine n p n . Este la latitudinea
utilizatorului s controleze punctele de nceput i de sfrit ale curbei Bzier.
2. Tangenta la p 0 trebuie s fie dat de p1 p 0 , iar tangenta la p n de p n p n 1 . Aceasta,
desigur, permite un control direct al tangentei la curb n fiecare capt.
3. Cerina 2 este generalizat pentru derivate mai mari la capetele curbei. n felul
acesta, a doua derivat n p 0 trebuie s fie determinat de p 0 , p 1 i p 2 . n general,
derivata de ordinul r la un capt, trebuie s fie determinat de cele r vrfuri
nvecinate. Acest lucru permite un control virtual nelimitat al continuitii n
articulaiile dintre segmentele unei curbe Bzier compuse.
4. Funciile f i ( u) trebuie s fie simetrice n raport cu u i (1 u) . Aceasta nseamn c
se poate inversa succesiunea de puncte nodale, definind curba fr a-i schimba
forma. De fapt, aceasta operaie inverseaz direcia de parametrizare.
4.1 Funciile Bzier fundamentale
Bzier a ales o familie de funcii numite polinoamele Bernstein, care s satisfac
aceste proprieti. Iniial, el a ales o form de reprezentare vectorial, care utiliza laturile
poligonului caracteristic. Cu toate acestea, se vor utiliza notaiile introduse de Forrest
(1971), care folosete vectorii ce definesc vrfurile poligonului. Este o schem mai
-5-
p i Bi,n (u)
u [ 0,1]
(38)
i =0
(39)
i unde
n
n!
=
i i !( n i )!
definete funcia cunoscut a coeficienilor binomiali sau distribuia binomial din
probabilitate i statistic. Se aplic urmtoarele convenii: dac i i u sunt egali cu
zero, atunci ui = 1 i 0! = 1 . Dac sunt ( n + 1) vrfuri, atunci funcia Bi , n ( u) furnizeaz un
polinom de gradul n . Extinznd ecuaia (38) la curbe definite de trei, patru i cinci
puncte, rezult urmtoarele forme polinomiale:
- pentru trei puncte, n = 2 , i
B0, 2 = (1 u ) 2 ; B1, 2 = 2u (1 u ); B 2, 2 = u 2
astfel nct
p(u ) = (1 u ) 2 p 0 + 2u (1 u )p1 + u 2 p 2
(40)
B1,3 = 3u (1 u ) 2
B 2,3 = 3u 2 (1 u );
B3,3 = u 3
astfel c
p(u ) = (1 u ) 3 p 0 + 3u (1 u ) 2 p1 + 3u 2 (1 u )p 2 + u 3 p 3
(41)
(42)
sau n forma
-6-
p(u ) = u 3
1 3 3
3 6 3
u 1
3 3
0
0
0
1
u2
Notnd cu
U = u3
P = [p 0
MB
u2
p1
1 p 0
0 p 1
0 p 2
0 p 3
u 1
p 3 ]T
p2
1 3 3
3 6 3
=
3 3
0
0
0
1
1
0
0
(43)
Indicele matricei M B a transformrii Bzier se deosebete de indicile matricei M F de
transformare a bazei hermitice. Inversa matricei M B pentru curba Bzier cubic este:
M B1
0
=
0
0
1
3
2
3
1
0
1
3
1
U = u4
MB
u3
u2
u 1
4
6
1
4 12 12
= 6 12 6
0
4 4
1
0
0
p 0
p
1
P = p 2
p 3
p 4
4 1
4 0
0 0
0 0
0 0
p3
k 0 (p 1 p 0 ) k1 (p 3 p 2 )]T
-7-
p 0
1 u
1 u
p 0 + p 0 p 1 p 1 p 1
3
3
1
0
=
3
0 0
0 0
3 0
0 3
1
1
0
i M B1M F
1
=
0
0
1
0
3
1
0
1
3
0
5. Curbele B-spline
Curbele B-spline dau o alt metod, n afar de cea Bzier, de generare a
curbelor definite de poligoane. De fapt, curbele B-spline sunt o generalizare a curbelor
Bzier. n plus, avnd n comun cele mai multe caracteristici ale curbelor Bzier,
acestea se bucur i de alte avantaje unice. Asigur controlul local al formei unei curbe,
n opoziie cu controlul global, prin utilizarea unui set special de funcii de combinare
care au o influen local. Mai asigur, de asemenea, abilitatea de a aduga puncte de
control fr s creasc unghiul curbei. Curbele B-spline dau posibilitatea de a
-8-
interpola sau aproxima un set de puncte date. Interpolarea este util la afiarea
rezultatelor analizei inginereti i ale procesului proiectrii. Interpolarea este, de
asemenea, util dac proiectantul a msurat punctele date, cu indicaia ca acestea s
fie situate pe curba rezultant. Aceast seciune se ocup numai de curbele B-spline
folosite pentru aproximare. Spre deosebire de curbele Bzier, teoria curbelor B-spline
separ gradul curbei rezultante de numrul de puncte de control date. n timp ce patru
puncte de control pot, ntotdeauna, crea o curb cubic Bzier, acestea pot genera o
curb liniar, ptratic sau cubic B-spline. Flexibilitatea n gradul curbei rezultante este
realizat prin alegerea funciilor de baz (de combinare) a curbelor B-spline cu un grad
de libertate adugat, care nu exist n polinoamele Bernstein. Aceste funcii de baz Bspline, de unde provine i numele de curbe B-spline Similar curbelor Bzier, curba Bspline definit de n + 1 puncte de control Pi este dat de
P(u ) =
Pi N i,k (u) ,
i =0
0 u umax
(46)
control, numite puncte deBoor, formeaz vrfurile poligonului de control sau deBoor.
Exist dou aspecte privind ecuaia (46). n primul rnd, parametrul k controleaz
gradul ( k 1) al curbei B-spline rezultante i este, de regul, independent de numrul
de puncte de control, cu excepia restriciei prezentate mai jos. n al doilea rnd, limita
maxim a parametrului u nu mai este unitatea, cum era aleas arbitrar pentru curbele
Bzier. Funciile B-spline au urmtoarele proprieti:
Partiie unitar:
N
i =0
i ,k
(u ) = 1
Valoare pozitiv:
N i ,k (u ) 0
Suport local:
N i ,k (u ) = 0
Continuitate:
dac u [ui , ui + k +1 ]
Prima proprietate asigur c legtura dintre curb i punctele de control care o definesc
este invariant fa de transformrile afine. A doua proprietate garanteaz faptul c
segmentul de curb se situeaz complet n interiorul formei convexe a lui Pi . A treia
proprietate indic faptul c fiecare segment al unei curbe B-spline este influenat numai
de k puncte de control, sau fiecare punct de control afecteaz numai k segmente de
curb. Este folositor s se observe c polinomul Bernstein Bi , n (u ) are aceleai prime
dou proprieti menionate mai sus. Funcia B-spline are i proprietatea de
recursivitate, care este definit de:
N (u )
N
(u )
N i ,k (u ) = (u ui ) i ,k 1
+ (ui + k u ) i +1,k 1
(47)
ui + k 1 ui
ui + k ui +1
unde
1, ui u ui +1
N i ,1 =
(48)
0, altfel
Aceasta opteaz 0 / 0 = 0 dac numitorul fraciei din ecuaia (47) devine zero. Ecuaia
(48) arat c N i ,1 este o funcie cu pas unitar. Deoarece N i ,1 este constant pentru
-9-
dac aceasta este deschis (neperiodic) sau nchis (periodic). Pentru o curb
deschis, ui sunt dai de:
j<k
0,
u j = j k + 1, k j n
(49)
n k + 2, j > n
unde
0 j n+k
(50)
0u nk +2
(51)
Relaia (50) arat c sunt necesare ( n + k + 1) noduri pentru a crea o curb de gradul
( k 1) , definit de ( n + 1) puncte de control. Aceste noduri sunt, eventual, distanate pe
intervalul lui u cu un increment unitar ( u = 1) ntre nodurile necoincidente. Nodurile
multiple (care coincid) pot exista pentru anumite valori ale lui u . n timp ce gradul curbei
B-spline rezultante este controlat de k , intervalul parametrului u , dat de ecuaia (51),
sugereaz c exist o limit a lui k , care este determinat de numrul de puncte de
control date. Aceast limit este gsit prin impunerea ca marginea superioar n
ecuaia (51) s fie mai mare dect marginea inferioar, pentru ca intervalul lui u s fie
valid, adic
nk +2 > 0
(52)
Aceast relaie arat c este necesar un minim de trei sau patru puncte de control
pentru a defini o curb B-spline liniar, ptratic sau respectiv cubic.
Caracteristicile curbelor B-spline necesare n proiectare pot fi rezumate astfel:
1. Controlul local al unei curbe poate fi realizat prin schimbarea poziiei unor puncte de
control, sau folosind puncte de control multiple care ocup aceeai locaie, sau prin
alegerea unui grad diferit ( k 1) . Aa cum sa precizat mai nainte, schimbarea unui
punct de control afecteaz numai k segmente. Figura 6 ilustreaz problema
controlului local pentru o curb B-spline cubic prin mutarea lui P3 n P3* i P3** .
Se schimb numai cele patru segmente de curb nvecinate.
2. O curb B-spline neperiodic trece prin primul i ultimul punct de control P0 i Pn +1 i
este tangent la primul ( P1 P0 ) i ultimul ( Pn +1 Pn ) segment al poligonului de
control, similar curbei Bzier, aa cum s-a artat n figura 6.
3. Creterea gradului curbei, duce la ntinderea acesteia. n general, cu ct gradul este
mai mic, cu att curba se apropie de punctele de control, aa cum este prezentat n
-10-
figura 7. Cnd k = 1 , rezult o curb de gradul zero. Curba devine apoi nsi
punctele de control. Cnd k = 2 , curba devine o succesiune de segmentele de
poligon.
4. O curb de gradul doi este tot timpul tangent la mijloacele tuturor segmentelor de
poligon interioare (fig. 7), lucru care nu se ntmpl i n cazul celorlalte grade.
5. Dac parametrul k este egal cu numrul punctelor de control ( n + 1) , atunci curba Bspline rezultant devine o curb Bzier (fig. 8). n acest caz, domeniul lui u devine
zero pn la unu, aa cum era de ateptat.
i distana dintre ele pentru curbe deschise. Curbele nchise utilizeaz ca baz funciile
B-spline periodice cu noduri la numere ntregi. Aceste funcii de baz sunt translaii
ciclice ale unei singure funcii canonice cu o perioad (interval) k . De exemplu, pentru
o curb B-spline de ordinul ( k = 2) sau grad 1 ( k 1) ,
-12-
A<n
A,
A mod n = 0,
A=n
restul A / n, A > n
(57)
-13-