Documente Academic
Documente Profesional
Documente Cultură
MMI - Cursul 12
Capitolul 9
MODELARE ALGORITMIC
(I)
MMI - Cursul 12
1. Introducere
2. Polinoamele Bernstein
3. Polinoamele Hermite
4. Curbe Bzier
MMI - Cursul 12
1. Introducere
MMI - Cursul 12
ai R, i = 0, n}
MMI - Cursul 12
MMI - Cursul 12
2. Polinoamele Bernstein
MMI - Cursul 12
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
B
k =0
n
k
(t ) = 1, t [0, 1]
(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)
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
(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
MMI - Cursul 12
17
3. Polinoamele Hermite
MMI - Cursul 12
18
f (t ) = a , i H in (t ) + b , i H nni (t )
i =0
i =0
(13)
MMI - Cursul 12
19
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
MMI - Cursul 12
21
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
(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
MMI - Cursul 12
23
MMI - Cursul 12
24
x i (t ) = aki f k (t )
k =0
MMI - Cursul 12
25
r (t ) = Pk f k (t )
k =0
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
MMI - Cursul 12
28
MMI - Cursul 12
29
MMI - Cursul 12
30
MMI - Cursul 12
31
(18)
k =0
B
k =0
n
k
(t ) = 1, pentru orice
MMI - Cursul 12
32
MMI - Cursul 12
33
Fig.4
Fig.5
Cap.9. Modelare algoritmic
MMI - Cursul 12
34
MMI - Cursul 12
35
Fig.6
MMI - Cursul 12
36
MMI - Cursul 12
37
Fig.7
Fig.8
Fig.10
Cap.9. Modelare algoritmic
Fig.9
MMI - Cursul 12
38
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
Fig.11
MMI - Cursul 12
40
Fig.12
Cap.9. Modelare algoritmic
MMI - Cursul 12
41
Fig.13
MMI - Cursul 12
42
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
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
MMI - Cursul 12
45
MMI - Cursul 12
46
Fig.14
MMI - Cursul 12
47
(r o )(t ) = r (1 t ) = B (t ) Pnk
k =0
n
k
(19)
MMI - Cursul 12
48
MMI - Cursul 12
49
Fig.15
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
MMI - Cursul 12
53
Fig.16
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
r : [0, 1] R , r (t ) = B (t ) Pk
3
k =0
n
k
j Pk = ( j 1 Pk ) = j 1 Pk +1 j 1 Pk
i+ j
Pk = ( Pk )
i
(22)
MMI - Cursul 12
56
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
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
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
MMI - Cursul 12
60
a)
b)
Fig.18
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)
MMI - Cursul 12
62
(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