Sunteți pe pagina 1din 13

PROIECTARE ASISTATA DE CALCULATOR

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

unde, nlocuind u = 0 n ecuaia (4.21), obinem p(0) , iar nlocuind u = 1 n ecuaie,


obinem p(1) . n final, difereniind p(u ) n funcie de u , rezult p u (u ) = 3au 2 + 2bu + c , iar
nlocuind u = 0 i u = 1 n aceasta, se obine p u (0) i p u (1) . Rezolvnd acest set de
patru ecuaii simultane cu patru necunoscute, rezult coeficienii algebrici n funcie de
condiiile la limit:
a = 2p(0) 2p(1) + p u (0) + p u (1) ; b = 3p(0) + 3p(1) 2p u (0) p u (1)
c = p u (0) ; d = p(0)
nlocuind aceste expresii ale coeficienilor algebrici n ecuaia (21) i regrupnd
termenii, rezult:
p(u ) = (2u 3 3u 2 + 1)p(0) + (2u 3 + 3u 2 )p(1) +
+ (u 3 2u 2 + u )p u (0) + (u 3 u 2 )p u (1)

(22)

Aceste ecuaii pot fi simplificate folosind urmtoarele nlocuiri:


F1 (u ) = 2u 3 3u 2 + 1; F2 (u ) = 2u 3 + 3u 2
F3 (u ) = u 3 2u 2 + u; F4 (u ) = u 3 u 2

(23)

Astfel, ecuaia ecuaia (22) devine:


p(u ) = F1 (u )p(0) + F2 (u )p(1) + F3 (u )p u (0) + F4 (u )p u (1)

(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-

Fig. 3. Funciile hermitice cubice de baz


Funciile hermitice de baz au trei caracteristici importante:
1. Universalitatea sunt valabile pentru toate curbele hermitice cubice.
2. Independena dimensional sunt identice pentru fiecare din cele trei coordonate
ale spaiului modelului, deoarece depind numai de u .
3. Separarea efectelor condiiilor la limit permit coeficienilor condiiilor la limit
constitueni s fie decuplai unii de alii.
Aceasta nseamn c se poate modifica selectiv o singur condiie la limit specific
pentru a modifica forma unei curbe, fr s fie afectate celelalte condiii la limit. Funcii
de baz combin efectele capetelor i vectorilor tangeni pentru a furniza valorile
coordonatelor punctelor intermediare pe domeniul lui u . De exemplu, se poate
descompune o curb n componentele ei parametrice x ( u) , y ( u) , z ( u) , apoi se
descompune fiecare component a curbei n patru curbe ortogonale, corespunztoare
lui F1 (u )p 0 , F2 (u )p 1 , F3 (u )p u0 i F4 (u )p1u .
3.5.3 Forma matriceal
Algebra matriceal i schema ei de notaie ofer o form matematic compact
i puternic pentru a reprezenta o curb. Astfel, operaiile geometrice complexe,
transformrile i analiza devin, deseori, operaii matriceale simple. Ecuaia (21) se
poate rescrie ca produs a dou matrice:

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

se poate rescrie ecuaia (26) ca


p(u ) = UA

i similar, pentru forma geometric


-3-

(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

se poate rescrie ecuaia (28) ca


(29)
tiind c A este matricea coeficienilor algebrici i B este matricea geometric
hermitic ce conine coeficienii geometrici, apoi utiliznd algebra matriceal, se poate
realiza o legtur ntre formele geometric i algebric. Din ecuaia (23) se obine:
P = FB

F = (2u 3 3u 2 + 1) (2u 3 + 3u 2 ) (u 3 2u 2 + u ) (u 3 u 2 )

(30)

Prin inspecie, se observ c se poate exprima termenul drept al ecuaiei ca:

F = u3

u2

1
2 2 1
3 3 2 1

u 1
0
0
1
0

0
0
0
1

(31)

Matricea 4 4 este matricea transformrii hermitice, care va fi notat cu M F . Aceast


matrice controleaz transformarea dintre polinoamele hermitice fundamentale Fi (u ) i
monoammele ui sau U , astfel nct
F = UM F
(32)
nlocuind ecuaia (32) cu (29), rezult:
p(u ) = UM F B
(33)
Rezult c:
A = MFB
(34)
i inversnd,
B = M F1 A
(35)
unde
M F1

0
1
=
0

0
1
0
2

0
1
1
1

1
1
0

(36)

Se observ c ecuaiile (34) i (35) permit conversia dintre formele algebric i


geometric i c matricele U , F i M F sunt identice pentru toate curbele hermitice.
Numai matricele A i B variaz de la o curb la alta, depinznd de form i poziie.
Aceasta nseamn c este preferabil i eficient s fie indicat o curb anumit prin
simpla precizare a matricei coeficienilor geometrici i algebrici.
4. CURBELE BZIER
Unele tehnici de definire a curbelor, cum ar fi cele care utilizeaz funciile
hermitice de baz, interpoleaz un ir de puncte date. Aceasta nseamn c o curb
oarecare va trece exact prin acele puncte. Alte tehnici definesc o curb care trece
printre puncte sau aproximeaz punctele date. Metodele de interpolare, ca i formele
hermitice, au unele dezavantaje cnd sunt ncorporate ntr-un sistem de modelare
geometric interactiv. De obicei, nu ajut utilizatorii s intuiasc cum este corect s
schimbe sau s controleze forma unei curbe. De exemplu, schimbnd forma unei curbe
spline interpolate, prin mutarea unor puncte de interpolare, se pot produce perturbaii i
inflexiuni neateptate i nedorite, local sau global. Pentru a controla forma curbei ntr-4-

un mod previzibil, este preferabil s fie schimbai numai civa parametri. Curba Bzier
satisface parial aceast necesitate.

Fig. 4. Curbe Bzier cubice


Bzier a nceput cu principiul c orice punct de pe un segment de curb, trebuie s fie
dat de o funcie parametric de forma urmtoare:
p(u ) =

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-

compact, cu un mare apel intuitiv. Rezult c funcia Bzier aleas depinde de


numrul de vrfuri folosite pentru a specifica o anumit curb. Pentru a indica acest
lucru, ecuaia (37) devine:
p(u ) =

p i Bi,n (u)

u [ 0,1]

(38)

i =0

unde funciile fundamentale sunt:


n
Bi , n ( u) = ui (1 u) n i
i

(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)

- pentru patru puncte, n = 3 , i


B0,3 = (1 u ) 3 ;

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)

Folosind aceast curb Bzier cubic, un segment dintr-o parabol cu capete la p 0 i


p 3 poate fi modelat exact, dac tangentele la capete se intersecteaz la p I , astfel
p 1 = (p 0 + 2p I ) / 3
i
p 2 = (p 3 + 2p I ) / 3 .
Aceste
condiii
dau
nct
2
2
2
p(u ) = (1 u ) p 0 + 2(u u )p I + u p 3 , care este exact forma ecuaiei (40);
- pentru cinci puncte, n = 4 , i
p(u ) = (1 u ) 4 p 0 + 4u (1 u ) 3 p1 + 6u 2 (1 u ) 2 p 2 + 4u 3 (1 u )p 3 + u 4 p 4

(42)

4.2 Forma matriceal


Pentru curba Bzier cubic, n = 3 , se scrie ecuaia (4.41) n forma matriceal,
dup cum urmeaz:
p 0
p
p(u ) = (1 3u + 3u 2 u 3 ) (3u 6u 2 + 3u 3 ) (3u 2 3u 3 ) u 3 1
p 2

p 3

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

se poate scrie aceast ecuaie i mai compact, sub forma:


p(u ) = UM B P

(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

Evident, componena acestor matrice variaz cu numrul de noduri, n + 1 . Deci, de


exemplu, pentru n = 4 , rezult:

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

4.3 Conversia Bzier-Hermite


Ecuaia (43) este similar cu ecuaia (33) pentru curbele hermitice. Rezult din
aceast observaie c se poate reprezenta o curb hermitic cubic cu o secven de
patru puncte de control. Figura 5 prezint detaliile. Aceste puncte sunt notate cu p 0 , p1 ,
p 2 i p 3 , unde p 0 i p 3 sunt capetele curbei. Cele dou puncte interioare contribuie la
formarea vectorilor de tangen, n modul urmtor:
p u0 = k 0 (p1 p 0 ) i p1u = k1 (p 3 p 2 )
unde k 0 i k1 sunt factori de scar arbitrari, introdui pentru a scala poligonul, i prin
aceasta, mrimea vectorilor tangeni, care nu sunt reprezentai la scar n figur.
Matricea coeficienilor geometrici este:
B = [p 0

p3

k 0 (p 1 p 0 ) k1 (p 3 p 2 )]T

-7-

Fig. 5 Curba Hermite echivalent unei curbei Bzier cubice


Pentru k 0 = k1 = 3 , curba este identic cu curba Bzier definit de p 0 , p1 , p2 i p 3 . Se
poate observa c acest lucru este adevrat deoarece expresia polinomial general
pentru vectorul tangent n orice punct al curbei Bzier cubice este:
p u (u ) = (3u 2 + 6u 3)p 0 + (9u 2 12u + 3)p1 + (9u 2 + 6u )p 2 + 3u 2 p 3

La u = 0 , p u (u ) = 3(p1 p 0 ) i la u = 1 , p u (1) = 3(p 3 p 2 ) . Astfel, dac o curb Bzier cubic


este dat prin patru puncte de control [p 0 p 1 p 2 p 3 ] , atunci curba Hermite echivalent
are coeficienii geometrici [p 0 p 3 3(p 1 p 0 ) 3(p 3 p 2 )] . Analog, dac o curb Hermite
este dat prin coeficienii geometrici p 0 p1 p u0 p1u , atunci punctele de control ale
curbei Bzier echivalente sunt

p 0

1 u
1 u

p 0 + p 0 p 1 p 1 p 1
3
3

Se poate exprima aceast conversie, dintre formele Bzier i Hermite, folosind o


algebr matriceal relativ simpl:
(44)
B = M F1M B P
sau
(45)
P = M B1M F B
unde
M F1 M B

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)

N i ,k (u ) sunt funciile B-spline. Astfel, curbele B-spline au o baz B-spline. Punctele de

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:

N i ,k (u ) este de ( k 2) ori continuu difereniabil.

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

k = 1 , o valoare generic a lui k produce un polinom n u de gradul ( k 1) i, n


consecin, o curb de ordin k i grad ( k 1) . Termenii ui sunt numii noduri
parametrice sau valori nodale. Aceste valori formeaz o secven de numere ntregi
nedescresctoare, numit vector nodal. Valorile lui ui depind de forma curbei B-spline,

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

Fig. 6. Controlul local al unei curbe B-spline


i domeniul lui u este

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.

Fig. 7 Efectul gradului unei curbe B-spline asupra formei acesteia


6. Punctele de control multiple induc regiuni de curbur mare unei curbe B-spline.
Acest lucru este folositor cnd se creeaz coluri ascuite pe curb (fig. 4.9). Acest
efect este echivalent cu mpungerea curbei ctre punctul de control, prin creterea
multiplicitii acesteia.
7. Prin creterea gradului unei curbe, crete dificultatea de control i de calcul corect.
n consecin, o curb B-spline cubic este ineficient n cazul unui numr nsemnat
de aplicaii.
Pn aici au fost discutate curbe B-spline deschise sau neperiodice. Aceeai teorie
poate fi extins la curbele B-spline nchise sau periodice. Singura diferen dintre
curbele nchise i cele deschise este alegerea nodurilor i a funciilor de baz.
Ecuaiile de la (49) la (51) determin nodurile

Fig. 8. Curbe B-spline i Bzier identice


-11-

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) ,

Fig. 9. Curbe B-spline cu puncte de control multiple


funcia de baz este liniar, are o valoare nenul numai n intervalul (0,2) i are o
valoare maxim de unu la u = 1 , aa cum este artat n figura 10.

Fig. 10. Funciile B-spline periodice

-12-

Vectorul nodal este, n acest caz, [0 1 2] . Curbele nchise cubice i ptratice au


funcii de baz cubice i ptratice, cu intervalele (0,3) i (0,4) i vectorii nodali
[0 1 2 3] i respectiv [0 1 2 3 4] . Curba B-spline nchis de
gradul ( k 1) , sau ordin k , definit de ( n + 1) puncte de control, este dat de ecuaia
(46), ca i curba deschis. n aceste condiii, pentru curbele nchise, ecuaiile (47) pn
la (51) devin:
N i , k (u ) = N 0 ,k ((u i + n + 1) mod( n + 1) )
(53)
0 j n +1
uj = j ,
(54)
0 < j n +1
(55)
iar intervalul lui u este
0 u n +1
(56)
n ecuaia (53) intervine funcia modul, mod( n + 1) , care este definit ca:

A<n
A,

A mod n = 0,
A=n
restul A / n, A > n

(57)

De exemplu, 3.5 mod 6 = 3.5 ; 6 mod 6 = 0 i 7 mod 6 = 1 . Funcia modul face


posibil translaia periodic [mod(n + 1)] a funciei de baz canonice N 0, k . N 0, k este
aceeai ca i la curbele deschise i poate fi calculat folosind ecuaiile (47) i (48). Ca
i curbele deschise, curbele B-spline nchise au proprietile de partiie unitar,
pozitivitate, suport local i continuitate. De asemenea, au aceleai caracteristici ca i
curbele deschise, cu excepia faptului c ele nu trec prin primul i ultimul punct de
control i din acest motiv, ele nu sunt tangente la primul i ultimul segment al
poligonului de control. n reprezentarea curbelor nchise, sunt folosite poligoane nchise
la care primul i ultimul punct de control sunt conectate printr-un segment al poligonului.
Observm c o curb B-spline nu poate fi generat prin simpla utilizare a unei curbe
deschise, la care primul i ultimul punct de control coincid. Curba rezultat este numai
C 0 i este continu. Numai dac primul i ultimul segment al poligonului sunt coliniare,
curba C 1 continu, rezult curb Bzier.
Fundamentat pe teoria prezentat, baza de date a curbei B-spline include felul
curbei (deschis sau nchis), ordinul k sau gradul ( k 1) i coordonatele punctelor de
control care definesc poligonul, n aceeai ordine n care sunt introduse de utilizator.
Mai pot fi adugate i alte informaii, cum ar fi: stratul, culoarea, numele, fontul i
grosimea liniei.

-13-

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