Sunteți pe pagina 1din 62

Universitatea POLITEHNICA din Bucureti

Facultatea Ingineria i Managementul Sistemelor


Tehnologice

Modelare Matematic n Inginerie

Autor curs: Conf.dr.ing.mat. Ovidiu Bljin

MMI - Cursul 12

Capitolul 9

MODELARE ALGORITMIC
(I)

Cap.9. Modelare algoritmic

MMI - Cursul 12

1. Introducere
2. Polinoamele Bernstein
3. Polinoamele Hermite
4. Curbe Bzier

Cap.9. Modelare algoritmic

MMI - Cursul 12

1. Introducere

Cap.9. Modelare algoritmic

MMI - Cursul 12

Funciile polinomiale sunt cele mai simple funcii


matematice. Ele pot fi evaluate utiliznd doar adunri i
nmuliri, fiind astfel ideale pentru parametrizarea curbelor i
suprafeelor n modelarea algoritmic.
Funciile polinomiale pot fi folosite pentru a aproxima,
cu o precizie arbitrar fixat, orice funcie continu pe un
interval compact.
n consecin, curbele i suprafeele parametrizate
polinomial pot modela o mare diversitate de forme.
Fie n un numr natural i
n
Pn ([a, b]) = { f : [a, b] R, f (t ) = a0 + a1t + L + an t ,

ai R, i = 0, n}

Cap.9. Modelare algoritmic

MMI - Cursul 12

mulimea funciilor polinomiale de grad cel mult n definite


pe intervalul [a, b].
Cea mai cunoscut baz a spaiului vectorial real
Pn ([a, b]) este baza canonic, format din monoame,
2
n
B0 = {1, t, t ,, t }.
n modelarea algoritmic se folosesc alte baze ale
spaiului Pn ([a, b]), care se dovedesc mai utile n descrierea
caracteristicilor geometrice ale curbelor i suprafeelor
polinomiale.

Cap.9. Modelare algoritmic

MMI - Cursul 12

2. Polinoamele Bernstein

Cap.9. Modelare algoritmic

MMI - Cursul 12

Definiie: Polinoamele Bernstein de grad n, notate cu


Bkn , k = 0, n , sunt definite pentru t [0, 1] astfel:
n k
n
Bk (t ) = t (1 t ) nk , k = 0, n
(1)
k
unde:
n
n!
=
k k! (n k )!
Notm:
Bn1 0, Bnn+1 0, B00 1

Cap.9. Modelare algoritmic

MMI - Cursul 12

Polinoamele Bernstein:
- de grad 1: t , (1 t ) ;
2
2
- de grad 2: (1 t ) , 2(1 t )t , t ;
- de grad 3: (1 t )3 , 3(1 t ) 2 t , 3(1 t )t 2 , t 3;
....
Polinoamele Bernstein de grad n se pot defini pe un
interval arbitrar [a, b] prin:
k
nk
n s a b s
~n
Bk ( s ) =

, s [a, b], k = 0, n (2)
k b a b a
n fig.1 sunt reprezentate polinoamele Bernstein de grad
2, 3, 4 i 10 definite pe intervalul [0, 1].
Cap.9. Modelare algoritmic

MMI - Cursul 12

10

Fig.1
Cap.9. Modelare algoritmic

MMI - Cursul 12

11

Polinoamele Bernstein au urmtoarele proprieti:


1) Independen liniar
n
Polinoamele Bernstein Bk , k = 0, n , sunt liniar independente i formeaz o baz a spaiului Pn ([0, 1]).
2) Partiie a unitii
Polinoamele Bernstein Bkn , k = 0, n , formeaz o partiie
a unitii (v. fig.2):
B (t ) 0 i
n
k

B
k =0

n
k

(t ) = 1, t [0, 1]

Cap.9. Modelare algoritmic

(3)

MMI - Cursul 12

12

Fig.2
Cap.9. Modelare algoritmic

MMI - Cursul 12

13

3) Simetrie
Polinoamele Bernstein sunt simetrice, n sensul:
n
n
Bk (t ) = Bnk (1 t ), t [0, 1], k = 0, n

(4)

4) Rdcini
Polinoamele Bernstein se anuleaz doar n 0 sau 1.
Valorile lor n extremitile intervalului [0, 1] sunt:
1, pentru k = 0
n
n
Bk (0) = Bnk (1) =
(5)
0, pentru k = 1, n
5) Extreme
Funcia Bkn are un punct de maxim n intervalul [0, 1]
k
pentru t = , k = 0, n .
n
Cap.9. Modelare algoritmic

MMI - Cursul 12

14

6) Formul de recuren
Polinoamele Bernstein satisfac formula de recuren:
n
n 1
n 1
Bk (t ) = (1 t ) Bk (t ) + t Bk 1 (t )
(6)

Cap.9. Modelare algoritmic

MMI - Cursul 12

15

7) Formula de derivare
Polinoamele verific urmtoarea formul de derivare:
dBkn (t )
= n (Bkn11 (t ) Bkn1 (t ) )
(7)
dt
8) Formula de subdivizare
n

Bkn ( s t ) = Bkj ( s ) B nj (t ), pentru s [0, 1]


j =0

9) Legtura cu polinoamele din baza canonic


Sunt verificate identitile:
n
k n
t = Bk (t )
k =0 n
Cap.9. Modelare algoritmic

(8)

(9)

MMI - Cursul 12

16

k (k 1) n
Bk (t )
t =
k =0 n ( n 1)

(10)

k (k 1)L (k i + 1) n
Bk (t ), i = 2, n
t =
k =0 n ( n 1) L ( n i + 1)

(11)

i, n general,
i

Cap.9. Modelare algoritmic

MMI - Cursul 12

17

3. Polinoamele Hermite

Cap.9. Modelare algoritmic

MMI - Cursul 12

18

Fie [a, b] R un interval arbitrar i k N .


Definiie: Polinoamele Hermite de grad n = 2k + 1 sunt
n
funciile H i Pn ([a, b]), i = 0, n , definite de condiiile:
dr n
dr n
1, pentru i = r
(12
H i (a ) = r H ni (b) =
, r = 0, k
r
)
dt
dt
0, altfel
Polinoamele Hermite de grad n formeaz o baz a
spaiului vectorial real Pn ([a, b]).
n reprezentarea unei funcii polinomiale f Pn ([a, b])
n baza Hermite:
k

f (t ) = a , i H in (t ) + b , i H nni (t )
i =0

i =0

Cap.9. Modelare algoritmic

(13)

MMI - Cursul 12

19

coeficienii a , i i b, i constituie valorile derivatelor de


ordin i ale funciei f n t = a, respectiv, t = b, i = 0, k , adic:
(i )
(i )
a , i = f (a ) , b , i = f (b), i = 0, k
(14)
n cazul k = 1 i [a, b] = [0, 1] se obin polinoamele
Hermite de grad 3:
H 03 (t ) = 1 3t 2 + 2t 3
H (t ) = t 2t + t
3
1

H (t ) = t + t
3
2

(15)

H 33 (t ) = 3t 2 2t 3
n fig.3 sunt reprezentate grafic polinoamele Hermite
H i3 , i = 0, 3.
Cap.9. Modelare algoritmic

MMI - Cursul 12

20

Fig.3

Cap.9. Modelare algoritmic

MMI - Cursul 12

21

Polinoamele Hermite H i3 , i = 0, 3, se pot exprima n


baza Bernstein {Bi3 , i = 0, 3} prin:
H (t ) = B (t ) + B (t )
3
0

3
0

3
1

H 33 (t ) = B23 (t ) + B33 (t )
1 3
H (t ) = B1 (t )
3
1 3
3
H 2 (t ) = B2 (t )
3
3
1

Cap.9. Modelare algoritmic

(16)

MMI - Cursul 12

22

4. Curbe Bzier
4.1. Concepte utilizate
4.2. Proprieti ale curbelor Bzier
4.3. Vectori asociai unei curbe Bzier

Cap.9. Modelare algoritmic

MMI - Cursul 12

23

4.1. Concepte utilizate


Fie R = (O, {e1 , e 2 , e 3 }) un reper cartezian ortonormat al
spaiului punctual euclidian E3.
k
O curb parametrizat de clas C este o aplicaie
r : [a, b] R3, r (t ) = (x1 (t ), x 2 (t ), x 3 (t ) )
(17)
i
k
unde: x : [a, b] R, i = 1, 3, sunt funcii de clas C .
Mulimea = r ([a, b]) se numete suportul geometric
sau arc al curbei parametrizate r.
Pentru fiecare t [a, b], r(t) este vectorul de poziie la
momentul t al unui punct al mulimii .
Cap.9. Modelare algoritmic

MMI - Cursul 12

24

Curba parametrizat (17) se numete curb polinomial


i
dac funciile coordonate x , i = 1, 3, sunt funcii polinomiale
adic x i Pn ([a, b]), i = 1, 3.
Maximul gradelor polinoamelor x , i = 1, 3, se numete
gradul curbei.
i

Fie B = {f0, f1,, fn} o baz a spaiului vectorial


Pn ([a, b]).
Reprezentarea n baza B a funciei x , i = 1, 3, are forma:
i

x i (t ) = aki f k (t )
k =0

Fie Pk punctul din spaiul E3, care are coordonatele


1
2
3
(ak , ak , ak ), k = 0, n .
Cap.9. Modelare algoritmic

MMI - Cursul 12

25

Parametrizarea curbei polinomiale (17) se scrie sub


forma:
n

r (t ) = Pk f k (t )
k =0

Reprezentarea unei curbe polinomiale n baza Bernstein


a fost introdus de Pierre Bzier (la Renault) i este numit
curb Bzier.
Reprezentarea unei curbe polinomiale cubice n baza
Bernstein a fost introdus de John Ferguson (la Boeing),
fiind numit i curb Ferguson.

Cap.9. Modelare algoritmic

MMI - Cursul 12

26

Observaii:
1) Aplicaia : E3 E3 se numete afin dac:
(A + B ) = ( A) + ( B )
pentru orice puncte A, B E3 i orice numere , R, cu
+ = 1.
2) Fie aplicaia afin
: [0, 1] [a, b], ( s ) = (1 s ) a + s b
i o curb polinomial cu reprezentarea parametric
r : [a, b] R3, care poate fi reparametrizat polinomial de
aplicaia r o : [a, b] R3.
Ca urmare, fr a restrnge din generalitate, se pot
considera numai curbe polinomiale cu reprezentare parametric definit pe intervalul [0, 1].
Cap.9. Modelare algoritmic

MMI - Cursul 12

27

Definiie: O mulime ordonat de puncte P0, P1,..., Pn din E3


se numete poligon de control sau poligon Bzier i se
noteaz cu:
PCn : P0 , P1 ,..., Pn

Cap.9. Modelare algoritmic

MMI - Cursul 12

28

Aplicaie: Reprezentarea grafic a poligonului de control al unei


curbe Bzier.
Input: Poligonul de control: o list punct de puncte 2D sau 3D.
Output: O reprezentare grafic a poligonului de control.

Cap.9. Modelare algoritmic

MMI - Cursul 12

29

Cap.9. Modelare algoritmic

MMI - Cursul 12

30

Cap.9. Modelare algoritmic

MMI - Cursul 12

31

Definiie: Se numete curb Bzier definit de poligonul de


control PCn : P0 , P1 ,..., Pn curba polinomial care n baza
Bernstein are parametrizarea:
n

r : [0, 1] R3, r (t ) = Bkn (t ) Pk

(18)

k =0

Punctele Pk , k = 0, n , se mai numesc puncte Bzier ale


curbei.
Observaie: Datorit proprietii

B
k =0

n
k

(t ) = 1, pentru orice

t [0, 1], r(t) este o combinaie afin a punctelor Pk , k = 0, n ,


deci r(t) este un punct din spaiul euclidian E3.
Cap.9. Modelare algoritmic

MMI - Cursul 12

32

Observaie: Un punct oarecare al unei curbe Bzier poate fi


"interpretat" ca centrul de mas al unei mulimi de puncte cu
mase date. Spre exemplu, fie patru mase m0, m1, m2, m3
localizate n punctele P0, P1, P2, respectiv, P3.
Centrul de mas P (fig.4) al celor patru puncte este dat
de relaia:
m0 P0 + m1 P1 + m2 P2 + m3 P3
P=
(*)
m0 + m1 + m2 + m3
Vom considera acum c cele patru mase nu sunt fixe, ci
fiecare variaz funcie de un anumit parametru t. Astfel, fie:
m0 = (1 t )3, m1 = 3t (1 t ) 2 , m2 = 3(1 t )t 2 , m3 = t 3 (fig.5).
Pentru fiecare valoare a lui t, masele vor avea alte valori
i astfel centrul de mas se modific continuu.
Cap.9. Modelare algoritmic

MMI - Cursul 12

33

Fig.4

Fig.5
Cap.9. Modelare algoritmic

MMI - Cursul 12

34

Dac t variaz ntre 0 i 1, atunci se poate trasa o curb


prin punctele P corespunztoare. Aceast curb este o curb
Bzier de grad 3 (cubic).
Deoarece pentru orice t avem:
m0 + m1 + m2 + m3 1
relaia (*) ce caracterizeaz aceast curb Bzier devine:
P = m0 P0 + m1 P1 + m2 P2 + m3 P3
Dac t = 0, atunci m0 = 1 i m1 = m2 = m3 = 0 , deci curba
trece prin punctul P0. Dac t = 1, atunci m3 = 1 i
m0 = m1 = m2 = 0 , deci curba trece prin punctul P3.
Mai mult, curba este tangent la direciile P0 P1 i P3 P2
(fig.6).
Cap.9. Modelare algoritmic

MMI - Cursul 12

35

Fig.6

Cap.9. Modelare algoritmic

MMI - Cursul 12

36

Curbe Bzier de grade 0, 1, 2, 3


1) Curb de grad n = 0 (v. fig.7)
Pentru n = 0, avem B00 (t ) = 1; atunci:
r (t ) = B00 (t ) p0 = p0
2) Curb de grad n = 1 (v. fig.8)
0
1
Pentru n = 1, avem B1 (t ) = 1 t , B1 (t ) = t ; atunci:
r (t ) = (1 t ) p0 + tp1
3) Curb de grad n = 2 (v. fig.9)
Pentru n = 2 , avem B20 (t ) = (1 t ) 2 , B21 (t ) = 2t (1 t ) ,
B22 (t ) = t 2 ; atunci:
r (t ) = (1 t ) 2 p0 + 2t (1 t ) p1 + t 2 p2
Cap.9. Modelare algoritmic

MMI - Cursul 12

37

Fig.7

Fig.8

Fig.10
Cap.9. Modelare algoritmic

Fig.9

MMI - Cursul 12

38

4) Curb de grad n = 3 (v. fig.10)


Pentru n = 3, avem B30 (t ) = (1 t )3, B31 (t ) = 3t (1 t ) 2 ,
B32 (t ) = 3t 2 (1 t ) , B33 (t ) = t 3 ; atunci:

r (t ) = (1 t )3 p + 3t (1 t ) 2 q + 3t 2 (1 t )r + t 3 s
Exemplu: S se determine curba Bzier definit de punctele
de control: (2; 2), (1; 1,5), (3,5; 0), (4; 1).
Se introduc coordonatele celor patru puncte de control
n expresia unei curbe Bzier de grad n = 3, scris pe cele
dou axe de coordonate:
x(t ) = 2(1 t ) 3 + 3t (1 t ) 2 + 10,5t 2 (1 t ) + 4t 3
y (t ) = 2(1 t ) 3 + 4,5t (1 t ) 2 + t 3
Cap.9. Modelare algoritmic

MMI - Cursul 12

39

n final rezult urmtoarea exprimare parametric a


unui punct oarecare P(t) al curbei Bzier (v. fig.11):
2
3
2
3
P(t ) = (2 3t + 10,5t 5,5t , 2 1,5t 3t + 3,5t )
cu 0 t 1.

Fig.11

n fig.12 sunt reprezentate curbe Bzier de grad 3,


generate de diferite poligoane de control.
Cap.9. Modelare algoritmic

MMI - Cursul 12

40

Fig.12
Cap.9. Modelare algoritmic

MMI - Cursul 12

41

O utilizare larg a curbelor Bzier de grade 1 i 3 o


constituie definirea font-urilor PostScript. Un exemplu este
ilustrat n fig.13.

Fig.13

Cap.9. Modelare algoritmic

MMI - Cursul 12

42

Notaia matriceal pentru o curb Bzier de grad 3


O curb Bzier de grad 3 este specificat prin dou
ecuaii parametrice similare, din care una se scrie:
x(t ) = (1 t ) 3 x0 + 3t (1 t ) 2 x1 + 3t 2 (1 t ) x2 + t 3 x3
Prin dezvoltare relaia anterioar devine:
x = x0 3 x0 t + 3 x0 t 2 x0 t 3
+ 3 x1t 6 x1t 2 + 3 x1t 3
+ 3 x2 t 2 3 x2 t 3
+ x3t 3
sau echivalent:

Cap.9. Modelare algoritmic

MMI - Cursul 12

43

x = t 3 (1x0 + 3 x1 3 x2 + x3 )
+ t 2 (3 x0 6 x1 + 3 x2 )
+ t (3 x0 + 3 x1 )
0
+ t x0
care se poate rescrie sub forma:
1 3 3 1 x0
3 6 3 0 x
1
x = [t 3 t 2 t 1]
0 0 x2
3 3
1
x
0
0
0

n care matricea ptratic este numit matricea Bzier.


O relaie similar exist i pentru y.
Cap.9. Modelare algoritmic

MMI - Cursul 12

44

Dar
r (t ) = (1 t ) 3 P0 + 3t (1 t ) 2 P1 + 3t 2 (1 t ) P2 + t 3 P3
Dac notm:
r (t ) = a t 3 + b t 2 + c t + d , 0 t 1
atunci putem scrie:
a 1 3 3 1 P0
b 3 6 3 0 P
1
=
0 0 P2
c 3 3

d 1
0
0 0 P3

Cap.9. Modelare algoritmic

MMI - Cursul 12

45

4.2. Proprieti ale curbelor Bzier


Proprietile curbelor Bzier pot fi deduse din
proprietile corespondente ale polinoamelor Bernstein. Cele
mai importante proprieti sunt prezentate n cele ce
urmeaz.
1) O curb Bzier interpoleaz extremitile poligonului
de control
ntr-adevr, r(0) = P0, iar r(1) = Pn.
Dac P0 = Pn, atunci curba Bzier este nchis (v.
fig.14).

Cap.9. Modelare algoritmic

MMI - Cursul 12

46

Fig.14

Cap.9. Modelare algoritmic

MMI - Cursul 12

47

2) O curb Bzier este invariant fa de inversarea


ordinii punctelor poligonului de control
ntr-adevr, fie aplicaia : [0, 1] [0, 1], (t ) = 1 t .
Aplicaia r o este o parametrizare polinomial echivalent
pentru curba Bzier (18). Cum
n

(r o )(t ) = r (1 t ) = B (t ) Pnk
k =0

n
k

(19)

aplicaia r o este o parametrizare pentru curba Bzier


definit de poligonul de control PCn : Pn , Pn1 ,..., P0 .
3) O curb Bzier este inclus n acoperirea convex a
poligonului de control
Pentru fiecare t [0, 1], punctul r(t) este o combinaie
convex a punctelor poligonului de control. Prin urmare,
Cap.9. Modelare algoritmic

MMI - Cursul 12

48

arcul Bzier r ([0, 1]) este inclus n acoperirea convex


Cv({P0 , P1 ,..., Pn }) a mulimii de puncte {P0 , P1 ,..., Pn }
(fig.15). n particular, o curb Bzier generat de un poligon
de control plan este o curb plan.
Observaii:
1) Acoperirea convex sau nfurtoarea convex a
unei mulimi de puncte M din spaiul E3 este "cea mai mic"
mulime convex care include pe M.
2) Acoperirea convex a unui sistem din dou puncte
distincte este segmentul determinat de cele dou puncte.
3) Acoperirea convex a unui sistem din trei puncte
necoliniare este un triunghi.
4) Acoperirea convex a unui sistem din patru puncte
necoplanare este un tetraedru.
Cap.9. Modelare algoritmic

MMI - Cursul 12

49

Fig.15

Cap.9. Modelare algoritmic

MMI - Cursul 12

50

4) Invariana afin
Fie : E3 E3 o transformare afin i curba Bzier
definit de poligonul de control PCn : P0 , P1 ,..., Pn . Atunci
imaginea curbei prin transformarea afin , (), este
curba Bzier definit de poligonul de control
PCn : ( P0 ), ( P1 ),..., ( Pn )
ntr-adevr, innd seama de proprietile unei transformri afine, putem scrie:
n n
n n
(r (t ) ) = Bk (t ) Pk = Bk (t ) ( Pk )
(20)
k =0
k =0
Deci forma curbei Bzier depinde numai de punctele de
control i nu depinde de reperul considerat.
Cap.9. Modelare algoritmic

MMI - Cursul 12

51

5) Control local
Fie = Im(r ) curba Bzier definit de poligonul de
control PCn : P0 , P1 ,..., Pn i = Im(r1 ) curba Bzier definit
de poligonul de control PCn , obinut prin nlocuirea punctului Pj din PCn cu un punct Qj. Atunci
n

r1 (t ) = Bkn (t ) Pk + B nj (t ) Q j =
k =0
k j

= r (t ) + B (t ) (Q j Pj ) =
n
j

(21)

= r (t ) + B nj (t ) Pj Q j
Rezult c fiecare punct r(t) al curbei este translat n
direcia vectorului Pj Q j cu vectorul B nj (t ) Pj Q j . Cum B nj (t )
Cap.9. Modelare algoritmic

MMI - Cursul 12

52

j
are un maxim n punctul t = , deplasarea este maxim n
n
j

vecintatea punctului r . Se mai observ c dei se


n
modific doar dou dintre segmentele poligonului de
control, toate punctele curbei, cu excepia extremitilor, se
modific (v. fig.16).

Cap.9. Modelare algoritmic

MMI - Cursul 12

53

Fig.16

Cap.9. Modelare algoritmic

MMI - Cursul 12

54

6) Diminuarea variaiilor
Numrul interseciilor unei linii drepte cu poligonul de
control al unei curbe Bzier plane este mai mare sau egal
dect numrul interseciilor curbei cu acea dreapt (fig.17).

Fig.17
Cap.9. Modelare algoritmic

MMI - Cursul 12

55

4.3. Vectori asociai unei curbe Bzier


Fie = Im(r) curba Bzier definit de poligonul de
control PCn : P0 , P1 ,..., Pn , dat de parametrizarea:
n

r : [0, 1] R , r (t ) = B (t ) Pk
3

k =0

n
k

Se definete operatorul diferen n avans:


: {P0 , P1 ,..., Pn1 } E3, Pk = Pk +1 Pk
Notnd Pk = ( Pk ) , avem
2

j Pk = ( j 1 Pk ) = j 1 Pk +1 j 1 Pk
i+ j

Pk = ( Pk )
i

Cap.9. Modelare algoritmic

(22)

MMI - Cursul 12

56

Propoziia 1: Fie = Im(r) curba Bzier definit de


poligonul de control PCn : P0 , P1 ,..., Pn . Derivata de ordin i a
aplicaiei r este dat de:
n i
n
!
n i
i
r ( i ) (t ) =
B
(
t
)

Pk , i = 1, n
(23)

k
(n i )! k =0

Dem:
Relaia (23) se demonstreaz prin inducie matematic
dup i.
Prin aplicarea formulei (7) de derivare a polinoamelor
Bernstein, se obine:
n

r (t ) = n (Bkn11 (t ) Bkn1 (t ) ) Pk =
k =0

Cap.9. Modelare algoritmic

MMI - Cursul 12

57

n 1
n n1

n 1
= n Bk 1 (t ) Pk Bk (t ) Pk =
k =1

k =0
n 1
n1 n1

n 1
= n Bk (t ) Pk +1 Bk (t ) Pk =
k =0

k =0
n 1

n 1

k =0

k =0

= n Bkn1 (t ) ( Pk +1 Pk ) = n Bkn1 (t ) Pk
Aadar,
n 1

r (t ) = n Bkn1 (t ) Pk

(24)

k =0

Presupunem c relaia (23) este adevrat pentru i 1; o


vom demonstra pentru i + 1. Avem
Cap.9. Modelare algoritmic

MMI - Cursul 12

( i +1)

58

d (i )
(t ) = r (t ) =
dt
d n! ni ni

i
Bk (t ) Pk =
=

dt (n i )! k =0

n! ni d ni
i
(Bk (t )) Pk =
=

(n i )! k =0 dt
n! ni
n i 1
n i 1
i
(n i ) (Bk 1 (t ) Bk (t ) ) Pk =
=

(n i )! k =0
n i 1
n!
n i 1
i
i
(
(
)
B
t
P
Pk ) =
=

k
k +1
(n i 1)! k =0
n i 1
n!
i +1
n i 1
=
B
(
t
)

Pk

k
(n i 1)! k =0
q.e.d.
Cap.9. Modelare algoritmic

MMI - Cursul 12

59

Derivatele unei curbe Bzier pot fi determinate


geometric pe baza punctelor poligonului de control.
Fie o curb Bzier de grad n, cu poligonul de control
PCn : P0 , P1 ,..., Pn . Derivata de ordinul nti a acestei curbe
este o curb de grad n 1, cu poligonul de control
PCn1 : D0 , D1 ,..., Dn1, unde:
Di = n( Pi +1 Pi )
(25)
Procedeul se extinde pentru identificarea derivatelor de
orice ordin ale curbei Bzier.
Exemplu: Curba Bzier de grad 3 din fig.18,a are ca
derivat de ordinul nti curba de grad 2 din fig.18,b.

Cap.9. Modelare algoritmic

MMI - Cursul 12

60

a)

b)
Fig.18

Cap.9. Modelare algoritmic

MMI - Cursul 12

61

Observaii:
1) Din relaia (24) deducem:
r (0) = n P0 = n ( P0 P1 )
r (1) = n Pn1 = n ( Pn Pn1 )

(26)

adic vectorii tangeni la curba Bzier n punctele extreme


P0, Pn ale poligonului de control sunt coliniari, respectiv, cu
vectorii P0 P1 , Pn1 Pn ; dreptele P0 P1, Pn1 Pn sunt tangente la
curba Bzier n punctele P0, respectiv, Pn.
2) n locul operatorului diferen n avans se poate
folosi operatorul
E : {P0 , P1 ,..., Pn1} {P1 , P2 ,..., Pn }, EPk = Pk +1 (27)
ntre cei doi operatori exist legtura = E 1.
Cap.9. Modelare algoritmic

MMI - Cursul 12

62

Notm E 2 Pk = E ( EPk ) . Avem E i + j Pk = E i ( E j Pk ) ,


E 0 = 1. n plus, avem E k P0 = Pk , k = 0, n .
3) Parametrizarea Bzier r a curbei Bzier definit de
poligonul de control PCn : P0 , P1 ,..., Pn se scrie sub forma:
r (t ) = (1 t + tE ) P0
ntr-adevr, avem:
n

(1 t + tE ) P0 = C (1 t )
n

k =0

k
n

(28)
n

t E P0 = B (t ) Pk

nk k

k =0

n
k

Folosind operatorul E, formula de derivare (23) se scrie


n!
(i )
r (t ) =
(1 t + tE ) ni ( E 1) i P0 , i = 1, n (29)
( n i )!

Cap.9. Modelare algoritmic

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