Explorați Cărți electronice
Categorii
Explorați Cărți audio
Categorii
Explorați Reviste
Categorii
Explorați Documente
Categorii
A
Mihai-Sorin Stupariu
Sem. I, 2012-2013
Cuprins
1 Material pregatitor 2
1.1 Elemente de algebra liniara, geometrie ana si euclidiana . . . . 2
1.2 Curbe parametrizate. Curbe polinomiale. Schimbari de parametru 2
1.3 Vector tangent, vector accelerat ie. Regularitate . . . . . . . . . . 4
1.4 Racord de clasa (
k
al unor arce de curba. Continuitate geometrica 5
1.5 Curbe plane (curbe 2D) . . . . . . . . . . . . . . . . . . . . . . . 7
1.6 Curbe 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.7 Elemente de geometrie diferent iala a suprafet elor . . . . . . . . . 10
2 Interpolare polinomiala 15
2.1 Segmente. Interpolare liniara (ana) . . . . . . . . . . . . . . . . 15
2.2 Algoritmul lui Aitken . . . . . . . . . . . . . . . . . . . . . . . . . 16
3 Curbe Bezier 18
3.1 Algoritmul de Casteljau . . . . . . . . . . . . . . . . . . . . . . . 18
3.2 Forma Bernstein a curbelor Bezier . . . . . . . . . . . . . . . . . 20
4 Proprietat i ale curbelor Bezier 23
4.1 Proprietat i elementare . . . . . . . . . . . . . . . . . . . . . . . . 23
4.2 Derivatele unei curbe Bezier . . . . . . . . . . . . . . . . . . . . . 23
4.3 Modicarea unei curbe Bezier . . . . . . . . . . . . . . . . . . . . 24
4.4 Generarea unei curbe Bezier cu poligoane de control diferite (marirea
gradului) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.5 Subdivizare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5 Cubice spline 28
5.1 Racordul a doua arce de curba Bezier . . . . . . . . . . . . . . . 28
5.2 Cubice spline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
6 Curbe Bezier rat ionale 34
A Proiecte 37
Bibliograe 39
1
Capitolul 1
Material pregatitor
1.1 Elemente de algebra liniara, geometrie ana
si euclidiana
Not iuni de algebra liniara: spat iu vectorial, vector, combinat ie liniara, liniar
(in)dependent a, sistem de generatori, baza, reper, dimensiune a unui spat iu vec-
torial, componentele unui vector ntr-un reper, matrice de trecere ntre repere,
repere orientate la fel (opus), reper drept (stramb), produs scalar, norma unui
vector, versorul unui vector nenul, spat iu vectorial euclidian, vectori ortogonali,
baza ortonormata, reper ortonormat.
Not iuni de geometrie ana: vectorul determinat de doua puncte, combinat ie
ana, an (in)dependent a, acoperirea ana a unei mult imi de puncte, dreapta
determinata de doua puncte distincte, reper cartezian, coordonatele unui punct
ntr-un reper cartezian, sistem de axe asociat unui reper cartezian din R
n
, rapor-
tul a trei puncte coliniare, segmentul determinat de doua puncte, mult ime con-
vexa, nchiderea (nfasuratoarea) convexa a unei mult imi, aplicat ie ana (exem-
ple: translat ie, omotetie, proiect ie, simetrie).
Not iuni de geometrie euclidiana: distant a dintre doua puncte, reper carte-
zian ortonormat, izometrie, proiect ie centrala.
Detalii pot gasite n [8], [10], [15] [16].
1.2 Curbe parametrizate. Curbe polinomiale.
Schimbari de parametru
Denit ia 1.1 Fie I R un interval. O curba parametrizata de clasa (
k
este data de o aplicat ie (
k
-diferent iabila c : I R
n
. Aplicat ia c se numeste
parametrizare, iar mult imea M := Im(c) se numeste imagine geometrica
a curbei.
Daca n = 2 curba se numeste plana (curba 2D), iar daca n = 3 curba se
numeste stramba (curba 3D).
Exemplul 1.2 (i) Curbele
c
1
: R R
2
, c
1
(t) = (2 + 4t + 1, 2 4t);
c
2
: R R
2
, c
2
(t) = (4 3 cos t, 3 + 2 sint);
c
2
: R R
2
, c
2
(t) = (4 3 cos 3t, 3 + 2 sin3t);
2
c
2
: R R
2
, c
2
(t) = (4 3 cos(1 t), 3 + 2 sin(1 t));
c
3
: R R
2
, c
3
(t) = (2 t +t
2
t
3
+ 6t
4
, 1 +t + 2t
2
+ 3t
3
);
c
4
: R R
2
, c
4
(t) = (t
2
2t + 2, 2t
2
6t + 4) =
= t
2
(1, 0) + 2t(1 t)(1, 1) + (1 t)
2
(2, 4);
c
5
: [0, 1] R
2
, c
5
(t) = (t
3
+ 3t, 3t
2
+ 3t) =
= t
3
(4, 0) + 3t
2
(1 t)(2, 1) + 3t(1 t)
2
(1, 1) + (1 t)
3
(0, 0)
sunt curbe parametrizate plane de clasa (
.
(ii) Curba c
6
: [1, 1] R
2
, c
6
(t) = (t, t[t[) este de clasa (
1
, dar nu este de
clasa (
2
, iar curba c
6
: [1, 1] R
2
, c
6
(t) = (t, [t[) este de clasa (
0
, dar nu este
de clasa (
1
.
(iii) Curbele c
7
: R R
3
, c
7
(t) = (2 cos t, 2 sint, t) si
c
8
: [0, 1] R
3
, c
8
(t) = (2t
3
+ 3t
2
, 4t
3
6t
2
+ 3t, t
3
) =
= t
3
(1, 1, 1) + 3t
2
(1 t)(1, 0, 0) + 3t(1 t)
2
(0, 1, 0) + (1 t)
3
(0, 0, 0)
sunt curbe strambe de clasa (
.
Denit ia 1.3 (i) O curba polinomiala de grad d este o curba denita de
o parametrizare polinomial a, i.e. de o aplicat ie c = (c
1
, . . . , c
n
) : I R
n
cu
proprietatea ca c
1
, . . . , c
n
sunt funct ii polinomiale de grad cel mult d si cel
put in una dintre ele are grad exact d.
(ii) O curba data de o aplicat ie c : [u
0
, u
L
] R
n
se numeste polinomiala
pe port iuni daca exista o diviziune
u
0
< u
1
< . . . < u
i
< u
i+1
< . . . < u
L
a intervalului [u
0
, u
L
] astfel ca pentru orice i = 0, . . . , L1, restrict ia c[
[ui,ui+1]
a aplicat iei c la intervalul [u
i
, u
i+1
] sa e polinomiala.
Exemplul 1.4 (i) Curbele c
1
, c
3
, c
4
si c
5
din exemplul 1.2 sunt curbe polino-
miale de grade 1, 4, 2, respectiv 3.
(ii) Orice curba polinomiala c : [a, b] R
n
este o curba polinomiala pe
port iuni.
(iii) Curbele c
6
si c
6
din exemplul 1.2 sunt curbe polinomiale pe port iuni
care nu sunt curbe polinomiale, deoarece avem
c
6
(t) =
_
(t, t
2
), daca t [1, 0]
(t, t
2
), daca t [0, 1].
c
6
(t) =
_
(t, t), daca t [1, 0]
(t, t), daca t [0, 1].
Denit ia 1.5 Fie c : I R
n
si c :
I R
n
doua curbe parametrizate. Spunem
ca c si c difera printr-o schimbare de parametru (sau ca c a fost obt inuta
din c printr-o schimbare de parametru) daca exista un difeomorsm :
I I
(numit reparametrizare) astfel ca c = c .
O reparametrizare pastreaza (schimba) orientarea daca este strict
crescatoare (respectiv strict descrescatoare).
Observat ia 1.6 Printr-o reparametrizare imaginea geometrica a curbei consi-
derate nu se modica, se schimba doar modul in care parcurgem curba.
3
Denit ia 1.7 O schimbare ana de parametru (reparametrizare
ana) este o aplicat ie de forma
: [c, d] [a, b], (t) =
b a
d c
t +
ad bc
d c
,
unde [a, b], [c, d] R sunt doua intervale (care nu se reduc la un punct).
Observat ia 1.8 Schimbarile ane de parametru sunt singurele care ment in o
curba polinomiala n clasa curbelor polinomiale de acelasi grad.
Exemplul 1.9 (i) Aplicat iile c
2
, c
2
si c
2
din exemplul 1.2 sunt parametrizari
diferite ale elipsei de ecuat ie
(x14)
2
9
+
(x23)
2
4
= 1. Schimbarile de parametru
utilizate sunt t 3t, respectiv t 1 t.
(ii) Aplicat ia : [0, 1] [0, 1], (t) = 1 t este o schimbare ana de
parametru care schimba orientarea. Aplicand aceasta schimbare de parametru
curbei polinomiale de gradul 2 data de c : [0, 1] R
2
, c(t) = (t
2
+ 4t + 1, t + 2)
obt inem curba parametizata c : [0, 1] R
2
, c(t) = (t
2
6t+6, t+3). Imaginea
geometrica a celor doua curbe este un arc al parabolei x
1
x
2
2
+ 3 = 0, care
uneste punctele A = (1, 2) si B = (6, 3). Parametrizarea c parcurge acest arc
de la A la B, n vreme ce c parcurge acest arc n sens invers.
Denit ia 1.10 O curba data de o parametrizare injectiva se numeste curba
simpla.
Exemplul 1.11
In exemplul 1.2 curba c
1
este simpla, iar curba c
2
nu este o
curba simpla.
1.3 Vector tangent, vector accelerat ie. Regula-
ritate
Denit ia 1.12 Fie c : I R
n
, c = (c
1
, . . . , c
n
) o parametrizare de clasa (
k
(k 1) a unei curbe si t
0
I xat.
(i) Vectorul c
(t
0
) := (c
1
(t
0
), . . . , c
n
(t
0
)) se numeste vector tangent (vec-
tor viteza) la curba n punctul corespunzator lui c(t
0
). Dreapta care trece
prin punctul c(t
0
) si are direct ia data de vectorul c
(t
0
) se numeste tangenta
la curba c n punctul c(t
0
).
(ii) Dreapta care trece prin punctul c(t
0
) si este perpendiculara la tangenta
la curba n acest punct se numeste normala la curba c n punctul c(t
0
).
Observat ia 1.13 Ecuat iile parametrice ale tangentei la curba c prin punctul
c(t
0
) sunt
_
_
_
x
1
= c
1
(t
0
) +sc
1
(t
0
)
. . . . . . . . . . . . . . .
x
n
= c
n
(t
0
) +sc
n
(t
0
)
s R.
Denit ia 1.14 Fie c : I R
n
, c = (c
1
, . . . , c
n
) o parametrizare de clasa (
k
(k 1) a unei curbe
(i) Punctul c(t
0
) se numeste punct regulat daca c
(t
0
) ,= 0.
(ii) Punctul c(t
0
) se numeste punct singular daca c
(t
0
) = 0.
(iii) O curba se numeste regulata daca toate punctele sale sunt regulate.
Denit ia 1.15 Fie c : I R
n
, c = (c
1
, . . . , c
n
) o parametrizare de clasa (
k
(k 2) a unei curbe si t
0
I xat. Vectorul c
(t
0
) := (c
1
(t
0
), . . . , c
n
(t
0
)) se
numeste vector accelerat ie la curba n punctul corespunzator lui c(t
0
).
4
Propozit ia 1.16 Fie c : I R
n
si c :
I R
n
doua parametrizari de clasa (
k
(k 2) ale unei curbe, astfel ca c = c , unde :
I I este o schimbare de
parametru. Pentru orice s
I au loc relat iile
c
(s) =
(s) c
((s)),
c
(s) =
(s)
2
c
((s)) +
(s) c
((s)).
(t)|dt.
Propozit ia 1.18 Lungimea unui arc de curba este invarianta la schimbari de
parametru.
1.4 Racord de clasa (
k
al unor arce de curba.
Continuitate geometrica
Denit ia 1.19 Fie c
1
: [a, b] R
n
si c
2
: [b, c] R
n
doua parametrizari ale
unor arce de curba.
(i) Daca c
1
(b) = c
2
(b) =: P, spunem ca cele doua arce sunt racordate n
punctul P.
(ii) Racordul se numeste de clasa (
k
daca c
(l)
1
(b) = c
(l)
2
(b), oricare ar
l = 0, . . . , k.
Exemplul 1.20 Curbele date de parametrizarile
c
1
: [2, 0] R
2
, c
1
(t) = (2t + 1, t + 2),
c
2
: [0, 3] R
2
, c
2
(t) = (t
3
3t
2
+ 2t + 1, t
2
+t + 2)
au n punctul P = (1, 2) un racord de clasa (
1
care nu este de clasa (
2
. Mai
precis, avem:
c
1
(0) = c
2
(0) = (1, 2); c
1
(0) = c
2
(0) = (2, 1);
c
1
(0) = (0, 0) ,= c
2
(0) = (6, 2).
Observat ia 1.21 Fie c
1
: [a, b] R
n
si c
2
: [b, c] R
n
doua parametrizari
ale unor arce de curba care au n P = c
1
(b) = c
2
(b) un racord de clasa (
k
(k 1). Fie : [ a, b] [a, b] o schimbare de parametru astfel ca (b) = b,
dar
1
(b) =
(b) c
1
(b) ,= c
2
(b),
ceea ce arata ca, n general, racordul de clasa (
k
nu se pastreaza n urma
schimbarilor de parametru. Vectorii tangent i sunt coliniari, dar nu identici.
Concret, considerand curbele c
1
si c
2
din exemplul 1.20, schimbarea de pa-
rametru : [1, 0] [2, 0], (s) = 2s si curba c
1
: [1, 0] R
2
, c
1
:= c
1
,
i.e.
c
1
(s) = (4s + 1, 2s + 2),
5
avem
c
1
(0) = c
2
(0) = (1, 2); c
1
(0) = (4, 2) ,= c
2
(0) = (2, 1).
Asadar, desi parametrizarile c
1
si c
1
sunt echivalente, ele nu au acelasi tip de
racord cu c
2
n punctul (1, 2): c
1
are un racord de clasa (
0
, iar c
1
are un racord
de clasa (
1
. Remarcam faptul ca avem c
1
(0) = 2 c
2
(0).
Pentru a permite o mai mare exibilitate n racordul unor arce de curba
si pentru a nu pierde proprietatea de racord de clasa (
k
n urma reparame-
trizarilor este introdusa not iunea de continuitate geometrica (denit ia 1.23).
Observat ia 1.22 Exista o clasa importanta de schimbari de parametru care
pastreaza racordul de clasa (
k
: translat iile, i.e. reparametrizarile de forma
: [a, b] [a , b ], (t) = t , (a, b, R, a < b),
deoarece, n cazul unei translat ii, avem
(t) = 1,
(l)
(t) = 0, pentru orice
t [a, b] si pentru orice l 2.
1
(0) ,= 0, c
2
(0) ,=
0. Cele doua arce au n punctul P un racord de clasa G(
k
daca exista o
reparametrizare (care pastreaza orientarea) : [ a, 0] [a, 0] cu (0) = 0, astfel
ncat parametrizarile c
1
si c
2
sa verice condit iile de racord de clasa (
k
.
In
acest caz spunem ca parametrizarea
c : [a, b] R
n
, c(t) =
_
c
1
(t), daca t [a, 0]
c
2
(t), daca t [0, b]
are continuitate geometrica de clasa G(
k
n t = 0.
Observat ia 1.24
In CAGD sunt utilizate mai ales condit iile de racord de clasa
G(
1
si G(
2
, care pot vericate astfel: e c
1
si c
2
doua parametrizari ca n
denit ia 1.23. Atunci:
(i) arcele denite de cele doua parametrizari au un racord de clasa G(
1
daca
si numai daca exista o constanta pozitiva > 0 astfel ca
c
2
(0) = c
1
(0)
(i.e. vectorii tangent i la cele doua curbe sunt coliniari si au acelasi sens);
(ii) arcele denite de cele doua parametrizari au un racord de clasa G(
2
daca
si numai daca exista o constante > 0, R astfel ca
c
2
(0) = c
1
(0)
c
2
(0) =
2
c
1
(0) + c
1
(0).
Exemplul 1.25 Fie curbele
c
1
: [2, 0] R
2
, c
1
(t) = (3t
3
2t
2
+ 2t + 2, t
2
2t + 1),
c
2
: [0, 1] R
2
, c
2
(t) = (6t + 2, 6t + 1),
c
3
: [0, 1] R
2
, c
3
(t) = (3t
3
10t
2
+ 4t + 2, 6t
2
4t + 1).
6
Cum c
1
(0) = c
2
(0) = c
3
(0) = (2, 1), ne putem pune problema racordului curbei
c
1
cu c
2
si cu c
3
n t = 0. Pentru a stabili ce clasa au aceste racorduri, calculam
c
1
(0) = (2, 2), c
2
(0) = (6, 6), c
3
(0) = (4, 4);
c
1
(0) = (4, 2), c
2
(0) = (0, 0), c
3
(0) = (20, 12).
Avem c
2
(0) = 3c
1
(0), iar c
2
(0) 9c
1
(0) = (36, 18). Acest vector nu este
coliniar cu c
1
(0) = (2, 2), deci curbele c
1
si c
2
au un racord de clasa G(
1
care
nu este de clasa G(
2
n (2, 1) = c
1
(0) = c
2
(0).
In schimb,
c
3
(0) = 2c
1
(0), c
3
(0) 4c
1
(0) = (4, 4) = 2c
1
(0),
ceea ce arata ca c
1
si c
3
au un racord de clasa G(
2
n P = c
1
(0) = c
3
(0).
1.5 Curbe plane (curbe 2D)
Denit ia 1.26 Fie c : I R
2
, c = (c
1
, c
2
) o curba plana.
(i) Curbura lui c ntr-un punct regulat c(t) este
c
(t) :=
c
1
(t)c
2
(t) c
1
(t)c
2
(t)
(c
1
(t)
2
+c
2
(t)
2
)
3
2
=
det(c
(t), c
(t))
|c
(t)|
3
.
(ii)
In cazul n care
c
(t) ,= 0, raza de curbura a lui c n c(t) este, prin
denit ie,
1
|c(t)|
.
Exemplul 1.27 (i) Curbura unei drepte este egala cu 0 n orice punct al drep-
tei: e
c : R R
2
, c(t) = (a
1
+t(b
1
a
1
), a
2
+t(b
2
a
2
))
o parametrizare a unei drepte. Atunci c
(t) = (b
1
a
1
, b
2
a
2
), c
(t), c
(t)) = det
_
r sint r cos t
r cos t r sint
_
= r
2
; |c
(t)| = r;
rezultand imediat ca avem
c
(t) =
1
r
pentru orice t R.
(iii) Fie c : R R
2
, c(t) = (a cos t, b sint) cu a > b > 0 o parametrizare a
elipsei de centru O si semiaxe a si b. Avem
c
(t), c
(t)) = ab; |c
(t)| =
_
a
2
sin
2
t +b
2
cos
2
t.
c
(s) = sgn()
c
((s)),
unde sgn() este egal cu 1 sau 1, dupa cum este crescatoare sau des-
crescatoare (i.e. curbura unei curbe 2D este invarianta, pana la semn, la schimbari
de parametru).
(ii) Fie c : I R
2
o curba 2D si F : R
2
R
2
o izometrie. Pentru orice
t I are loc egalitatea
Fc
(t) = (F)
c
(t),
unde (F) este 1 sau 1, dupa cumF pastreaza sau schimba orientarea (i.e. curbura
unei curbe 2D este invarianta, pana la semn, la izometrii).
(iii) Exemplele (i) si (ii) din 1.27 arata ca dreptele si cercurile sunt curbe cu
curbura constanta (nula, respectiv nenula). Reciproc, daca o curba 2D c : I
R
2
cu I R interval conex are curbura constanta
c
(t) = n orice punct c(t),
atunci imaginea sa geometrica este e inclusa ntr-o dreapta (cand = 0), e
ntr-un cerc de raza
1
(cand ,= 0).
(iv)
In general, se poate pune problema n ce masura data curbura putem
reconstitui curba (existent a, unicitate). Raspunsul este dat de teorema fun-
damentala a curbelor plane (vezi, de exemplu, [11, capitolul 6]).
1.6 Curbe 3D
Denit ia 1.29 Fie c : I R
3
, c = (c
1
, c
2
, c
3
) o curba 3D de clasa (
k
(k 3)
cu proprietatea ca vectorii c
(t) si c
(t) c
(t)|
|c
(t)|
3
.
(ii) Torsiunea lui c n punctul c(t) este data de
(t) :=
c
(t) c
(t), c
(t))
|c
(t) c
(t)|
2
.
Exemplul 1.30 (i) Consideram curba
c : (0, ) R
3
, c(t) = (2 +t +t
3
, t t
3
, 5 +t
3
).
Avem, pentru orice t (0, ),
c
(t) = (1 + 3t
2
, 1 3t
2
, 3t
2
), |c
(t)| =
_
2(1 + 3t
2
)
2
+ 9t
4
;
c
(t) c
(t) c
(t)| = 6
2t;
(t) =
6
2t
(
_
2(1 + 3t
2
)
2
+ 9t
4
)
3
, (t) = 0.
(ii) Consideram curba
c : R R
3
, c(t) = (a cos t, a sint, bt), a > 0, b ,= 0,
8
numita elice circulara dreapta.
In acest caz avem
c
(t)| =
_
a
2
+b
2
;
c
(t) c
(t) c
(t)| = a
_
a
2
+b
2
;
(t) =
a
a
2
+b
2
, (t) =
b
a
2
+b
2
.
Remarcam ca funct iile curbura si torsiune sunt constante.
(iii) Consideram curba
c : R R
3
, c(t) = (t, t
2
,
2t
3
3
).
Pentru aceasta curba au loc egalitat ile
c
(t)| = 1 + 2t
2
;
c
(t) c
(t) = 2(2t
2
, 2t, 1), |c
(t) c
(t)| = 2(1 + 2t
2
);
(t) =
2
(1 + 2t
2
)
2
, (t) =
2
(1 + 2t
2
)
2
.
In acest caz funct iile curbura si torsiune nu sunt constante, dar raportul
este
o constanta.
In general, o curba pentru care raportul dintre torsiune si curbura
este constant, se numeste elice.
Observat ia 1.31 (i) Curbura unei curbe 3D este o funct ie pozitiva.
(ii) O curba 3D are imaginea inclusa ntr-un plan daca si numai daca tor-
siunea sa este nula n orice punct al sau.
(iii) Fie c : I R
3
o parametrizare a unei curbe 3D regulate si e :
I I
o schimbare de parametru. Oricare ar s
I au loc loc egalitat ile
c
(s) =
c
((s));
c
(s) = ()
c
((s)).
(iv) Fie c : I R
3
o curba 3D si F : R
3
R
3
o izometrie. Pentru orice
t I au loc relat iile
Fc
(t) =
c
(t),
Fc
(t) = (F)
c
(t).
(v) Prin analogie cu rezultatele referitoare la curbele plane, se poate pune
problema n ce masura putem reconstitui o curba 3D (existent a, unicitate)
pornind de la curbura si torsiune. Raspunsul este dat de teorema fundamentala
a curbelor strambe (vezi, de exemplu, [11, capitolul 10]).
Denit ia 1.32 Fie c : I R
3
, c = (c
1
, c
2
, c
3
) o curba 3D de clasa (
k
(k 3)
cu proprietatea ca vectorii c
(t) si c
(t)
|c
(t)|
, N(t) := B(t) T(t), B(t) :=
c
(t) c
(t)
|c
(t) c
(t)|
.
Vectorul T(t) este versorul tangentei la curba n punctul c(t). Vectorii N(t)
si B(t) se numesc vector normala principala, respectiv vector binormala
la curba n punctul respectiv.
9
Observat ia 1.33 (i) Triedrul Frenet este un reper ortonormat mobil.
(ii) Formulele lui Frenet, scrise matriceal sub forma
_
_
T
_
_
=
_
_
0 v 0
v 0 v
0 v 0
_
_
_
_
T
N
B
_
_
, v = |c
|
arata cum pot exprimate derivatele vectorilor triedrului Frenet n reperul
asociat acestui triedru.
1.7 Elemente de geometrie diferent iala a supra-
fet elor
Denit ia 1.34 Osuprafat a parametrizata de clasa (
k
este data de o aplicat ie
(
k
-diferent iabila f : U R
3
, unde U R
2
este o mult ime (conexa). Aplicat ia
f se numeste parametrizare, iar mult imea M := Im(f) se numeste imagine
geometrica a suprafet ei.
Exemplul 1.35 (i) Consideram (a, b) R
2
(0, 0) si
f : R
2
R
3
, f(u, v) = (u, v, au +bv +c).
Imaginea geometrica a lui f este planul de ecuat ie x
3
= ax
1
+bx
2
+c.
(i) Fie P
0
R
3
un punct xat si w
1
, w
2
doi vectori ortogonali de lungime
egala cu 1. Atunci
f : R
2
R
3
, f(u, v) := P
0
+u w
1
+v w
2
este o suprafat a parametrizata de clasa (
2
,
2
_
R R
3
, f(u, v) = (r cos ucos v, r cos usinv, r sinu)
da nastere unei suprafet e de clasa (
2
,
2
_
. Curbele
v f(u
0
, v), u f(u, v
0
)
reprezinta un cerc paralel, respectiv un cerc meridian al sferei.
_
E
II
F
II
F
II
G
II
_
.
(ii) Curbura medie a suprafet ei n f(u, v) este
H(u, v) :=
1
2
tr A(u, v).
(iii) Curbura Gauss (totala) a suprafet ei n f(u, v) este
K(u, v) := det A(u, v).
Observat ia 1.51 Se obt in funct ii H, K : U R, numite curbura medie, res-
pectiv curbura Gauss.
Exemplul 1.52 (i) Pentru planul din exemplul 1.35 (i) curbura medie si cur-
bura Gauss sunt funct iile constante
H(u, v) = 0, K(u, v) = 0.
(ii) Pentru cilindrul din exemplul 1.35 (iii) curbura medie si curbura Gauss
sunt funct iile constante
H(u, v) =
1
2
, K(u, v) = 0.
13
(iii) Pentru sfera din exemplul 1.35 (ii) curbura medie si curbura Gauss sunt
funct iile constante
H(u, v) =
1
r
, K(u, v) =
1
r
2
.
(iv) Pentru elicoidul drept din exemplul 1.35 (vi) curbura medie, respectiv
curbura Gauss sunt date de
H(u, v) = 0, K(u, v) =
a
(a
2
+v
2
)
2
.
Denit ia 1.53 Fie f : U R
3
o suprafat a. Un punct f(u, v) se numeste
(i) eliptic n cazul n care K(u, v) > 0;
(ii) hiperbolic n cazul n care K(u, v) < 0;
(iii) parabolic n cazul n care K(u, v) = 0 si H(u, v) ,= 0;
(iv) planar n cazul n care K(u, v) = 0 si H(u, v) = 0.
Exemplul 1.54 Toate punctele planului sunt planare, toate punctele cilindru-
lui sunt parabolice, toate punctele sferei sunt eliptice, iar punctele elicoidului
sunt hiperbolice. Pe de alta parte, torul este o suprafat a care are puncte eliptice,
parabolice si hiperbolice.
Propozit ia 1.55 (O interpretare geometrica a curburii Gauss)
(i) Daca un punct P al unei suprafet e este eliptic, atunci exista o vecinatate
a sa astfel ca toate punctele acestei vecinatat i sa e situate de aceeasi parte a
planului tangent la suprafat a n P.
(ii) Daca un punct P al unei suprafet e este hiperbolic, atunci pentru orice
vecinatate a lui P pot gasite puncte ale acesteia si de o parte si de cealalta
parte a planului tangent.
Teorema 1.56 (Theorema Egregium, Gauss) Curbura totala t ine de geo-
metria intrinseca a suprafet ei.
Teorema 1.57 (Gauss) Fie T un triunghi geodezic al unei suprafet e
f : U R
3
cu f injectiva si e
1
,
2
,
3
unghiurile lui T. Are loc egalitatea
1
+
2
+
3
=
_
T
Kd,
unde _
T
Kd =
_ _
f
1
(T)
K(u, v)
_
EGF
2
dudv.
Mai multe not iuni si rezultate referitoare la teoria curbelor si a suprafet elor,
precum si numeroase exemple, pot gasite n lucrarile [11], [9], [14] si [12].
14
Capitolul 2
Interpolare polinomiala
In concluzie, compunerea s : [t
0
, t
1
] R
2
, s := c , reprezinta o solut ie a
problemei date. Explicit avem
s(t) =
t
1
t
t
1
t
0
p
0
+
t t
0
t
1
t
0
p
1
, t R.
Pentru t [t
0
, t
1
] obt inem o parametrizare a segmentului [p
0
, p
1
], pentru t < 0
obt inem o parametrizare a semidreptei deschise cu capatul p
0
care nu l cont ine
pe p
1
, s.a.m.d.
15
p
0
= s(t
0
) p
1
= s(t
1
)
. . . . . .
t < t
0
t
0
< t < t
1
t > t
1
Avand n vedere ca am utilizat combinat ii ane ale punctelor p
0
si p
1
pen-
tru a obt ine punctele curbei s, spunem ca aceasta curba a fost obt inuta prin
interpolare ana. Prin abuz de limbaj, metoda mai este numita si interpolare
liniara.
2.2 Algoritmul lui Aitken
), ind polinomiala n t. Ea
verica si condit iile de interpolare a punctelor date p
0
, p
1
si p
2
, reprezentand
o solut ie a problemei date.
Metoda indicata poate generalizata cu usurint a pentru cazul n arbitrar,
obt inand algoritmul lui Aitken n forma generala (mai sus acest algoritm
a fost prezentat pentru cazul n = 2). Fie, asadar, p
0
, p
1
, . . . , p
n
R
2
si
t
0
< t
1
< . . . < t
n
numere reale. Notam
p
0
i
:= p
i
, i = 0, . . . , n.
16
Pentru r = 1, . . . , n si i = 0, . . . , n r si t R xat se construiesc inductiv,
folosind interpolarea ana, punctele
p
r
i
(t) :=
t
i+r
t
t
i+r
t
i
p
r1
i
(t) +
t t
i
t
i+r
t
i
p
r1
i+1
(t). (2.2)
Observat ia 2.2 (i) Direct din relat iile (2.2) se poate deduce ca pentru orice
r = 1, . . . , n, i = 0, . . . , n r este vericat sirul de egalitat i Vericat i sirul de ega-
litat i alaturat.
p
r
i
(t
i+r
) = p
r1
i+1
(t
i+r
) = . . . = p
0
i+r
(t
i+r
) = p
i+r
,
de unde rezulta ca aplicat ia t p
r
i
(t) reprezinta o curba parametrizata care in-
terpoleaza punctele p
i
, p
i+1
, . . . , p
i+r
, astfel ncat p
r
i
(t
i
) = p
i
, . . . , p
r
i
(t
i+r
) =
p
i+r
.
In particular, curba c : R R
2
, c(t) := p
n
0
(t) reprezinta o solut ie a
problemei 2.1.
(ii) Curba c poate descrisa algebric folosind polinoamele Lagrange de Scriet i explicit polinoa-
mele Lagrange de grad
1, apoi pe cele de grad 2.
grad n, care sunt asociate unui sistem de numere reale t
0
< t
1
< . . . < t
n
(pentru
simplitate aceste numere reale sunt omise din notat ia polinoamelor Lagrange,
acestea ind notate cu L
n
0
, L
n
1
, . . . L
n
n
):
L
n
i
(t) =
n
j=0,j=i
(t t
j
)
n
j=0,j=i
(t
i
t
j
)
, i = 0, . . . , n.
Inductiv, se poate demonstra ca avem pentru orice t R relat ia
c(t) =
n
i=0
L
n
i
(t)p
i
.
(iii) Curba c construita mai sus are proprietatea de invariant a ana. Ast- Demonstrat i armat ia
(iii), folosind relat ia
n
i=0
L
n
i
(t) = 1.
fel, daca p
0
, p
1
, . . . , p
n
este un poligon de control, c curba data de algoritmul
lui Aitken si : R
2
R
2
o transformare ana, atunci curba c interpoleaza
punctele (p
0
), (p
1
), . . . , (p
n
).
(iv)
In general, punctele curbei c(t) nu sunt situate, pentru t [t
0
, t
n
] n
acoperirea convexa a mult imii de puncte p
0
, p
1
, . . . , p
n
. De asemenea, mici
variat ii ale unuia dintre punctele poligonului de control pot duce la variat ii
mari ale acesteia.
17
Capitolul 3
Curbe Bezier
Am vazut n capitolul anterior cum, dat un poligon de control (p
0
, p
1
, . . . , p
n
),
putem construi o curba polinomiala care sa interpoleze aceste puncte. Pe de
alta parte, unele proprietat i ale acestui tip de curbe (de exemplu, faptul ca nu
sunt incluse n acoperirea convexa a punctelor poligonului de control) fac ca
acestea sa nu e practice n aplicat ii legate de graca pe calculator.
In anii 60,
independent unul de celalalt, Paul de Casteljau si Pierre Bezier au investigat
o alta clasa de curbe, care, chiar daca nu au proprietatea de interpolare, au
alte proprietat i geometrice remarcabile si care mai ales, s-au dovedit a foarte
utile n inginerie si, ulterior, n CAGD: curbele Bezier. La fel ca si curbele
de interpolare, curbele Bezier pot construite folosind e metode de natura
geometrica (algoritmul de Casteljau), e utilizand un aparat algebric (forma
Bernstein).
3.1 Algoritmul de Casteljau
Observat ia 3.1 Fie p
0
, p
1
, p
2
trei puncte distincte pe o parabola. Presupunem Demonstrat ia se face
alegand un reper n
care parabola sa aiba
o ecuat ie cat mai
convenabila.
ca tangenta la parabola dus a prin p
i
intersecteaza tangenta la parabola prin p
j
n punctul p
ij
(i, j = 0, 1, 2, i ,= j). Atunci au loc egalitat ile
r(p
0
, p
01
, p
02
) = r(p
01
, p
1
, p
12
) = r(p
02
, p
12
, p
2
).
Reciproca acestei observat ii este utila pentru construirea punctelor unei pa-
rabole cand se dau doua puncte ale acesteia si tangentele la parabola duse prin
aceste puncte.
Algoritmul de Casteljau pentru cazul n = 2
Fie b
0
, b
1
si b
2
trei puncte necoliniare. Pentru t R se construiesc punctele
b
1
0
(t) = (1 t)b
0
+tb
1
,
b
1
1
(t) = (1 t)b
1
+tb
2
,
b
2
0
(t) = (1 t)b
1
0
(t) +tb
1
1
(t).
Punctul b
2
0
(t) descrie, cand t variaza n R, o parabola, mai precis parabola care Calculat i rapoartele
r(b0, b
1
0
(t), b1) si
r(b1, b
1
1
(t), b2).
trece prin punctele b
0
si b
2
si ale carei tangente n aceste puncte sunt dreptele
b
0
b
1
, respectiv b
2
b
1
. Pentru t [0, 1] se obt ine arcul acestei parabole care
uneste punctele b
0
si b
2
.
18
Exemplul 3.2 Consideram punctele
b
0
= (0, 6), b
1
= (6, 6), b
2
= (6, 0).
Pentru t =
1
3
avem Ce puncte se obt in pen-
tru t = 0, respectiv t =
1?
b
1
0
_
1
3
_
=
2
3
b
0
+
1
3
b
1
= (2, 6),
b
1
1
_
1
3
_
=
2
3
b
1
+
1
3
b
2
= (6, 4),
b
2
0
_
1
3
_
=
2
3
b
1
0
+
1
3
b
1
1
=
_
10
3
,
16
3
_
.
Exercit iul 3.3 Consideram punctele b
0
= (2, 4), b
1
= (4, 2) si b
2
= (4, 0).
Calculat i punctele b
1
0
(t), b
1
1
(t) si b
2
0
(t) corespunzatoare valorilor t =
1
2
si t =
1
4
.
Algoritmul de Casteljau, forma generala
Fie b
0
, b
1
, . . . , b
n
R
m
. Pentru t R se noteaza b
0
i
(t) := b
i
(i = 0, . . . , n) si
se denesc punctele Scriet i explicit aceste
relat ii pentru n = 3.
b
r
i
(t) := (1 t)b
r1
i
(t) +tb
r1
i+1
(t),
_
r = 1, . . . , n
i = 0, . . . , n r
(3.1)
Denit ia 3.4 Punctul b
n
0
(t) descrie, cand t variaza, o curba, notata cu b
n
.
Punctele b
0
, b
1
, . . . , b
n
se numesc puncte de control ale curbei b
n
, iar poli-
gonul determinat de acestea se numeste poligon de control.
Observat ia 3.5 Punctele intermediare pot scrise ntr-un tablou triunghiular,
numit schema de Casteljau. Consideram, de exemplu, n = 2 si xam t
0
[0, 1]. Schema de Casteljau corespunzatoare are forma
b
0
b
1
b
1
0
(t
0
)
b
2
b
1
1
(t
0
) b
2
0
(t
0
)
(3.2)
Analog, n cazul n = 3 si pentru t
0
[0, 1] xat, schema asociata este
b
0
b
1
b
1
0
(t
0
)
b
2
b
1
1
(t
0
) b
2
0
(t
0
)
b
3
b
1
2
(t
0
) b
2
1
(t
0
) b
3
0
(t
0
).
(3.3)
Exemplul 3.6 (i) Schema de Casteljau corespunzatoare punctelor b
0
, b
1
, b
2
din exemplul 3.2 si valorii t
0
=
1
3
este Scriet i schema de Cas-
teljau corespunzatoare
acelorasi puncte si
valorii t =
1
2
.
(0, 6)
(6, 6) (2, 6)
(6, 0) (6, 4) (
10
3
,
16
3
).
(ii) Consideram punctele
b
0
= (1, 2), b
1
= (3, 2), b
2
= (3, 2), b
3
= (3, 2).
Schema de Casteljau corespunzatoare acestor puncte si valorii t
0
=
1
2
a para-
metrului este
(1, 2)
(3, 2) (2, 0)
(3, 2) (3, 0) (
5
2
, 0)
(3, 2) (0, 2) (
3
2
, 1) (2,
1
2
).
19
Exercit iul 3.7 Scriet i schema de Casteljau corespunzatoare punctelor
b
0
= (0, 0), b
1
= (0, 6), b
2
= (6, 6), b
3
= (12, 0)
si parametrului t
0
=
1
3
.
3.2 Forma Bernstein a curbelor Bezier
Denit ia 3.8 Pentru n N xat, polinoamele Bernstein de grad n sunt
denite prin
B
n
i
(t) = C
i
n
t
i
(1 t)
ni
, i 0, . . . , n,
unde C
i
n
=
n!
i!(ni)!
. Prin convent ie, denim B
n
i
(t) = 0, daca i , 0, . . . , n.
Exemplul 3.9
In cazul n = 1 polinoamele Bernstein sunt
B
1
0
(t) = 1 t, B
1
1
(t) = t,
iar polinoamele Bernstein de grad 2 sunt Scriet i explicit polinoa-
mele Bernstein de grad
3.
B
2
0
(t) = (1 t)
2
, B
2
1
(t) = 2t(1 t), B
2
2
(t) = t
2
.
Observat ia 3.10
In general, vom considera restrict ia funct iilor polinomiale
asociate polinoamelor Bernstein (prin abuz de limbaj, a polinoamelor Bern-
stein), pe intervalul [0, 1]. Pentru un interval arbitrar [a, b] polinoamele Bern-
stein asociate se denesc prin
B
[a,b],n
i
(u) = C
i
n
_
u a
b a
_
i
_
b u
b a
_
ni
, u [a, b],
i.e. B
[a,b],n
i
(u) = B
n
i
_
ua
ba
_
, pentru orice u [a, b].
Propozit ia 3.11 (Proprietat i ale polinoamelor Bernstein)
(i) Polinoamele Bernstein sunt nenegative pe intervalul [0, 1].
(ii) Pentru orice numar natural n, polinoamele Bernstein de grad n formeaza
o partit ie a unitat ii
n
i=0
B
n
i
(t) = 1.
(iii) Polinoamele Bernstein verica relat ia de recurent a
B
n
i
(t) = (1 t)B
n1
i
(t) +tB
n1
i1
(t). (3.4)
(iv) B
n
0
(0) = 1, B
n
i
(0) = 0 pentru i ,= 0, respectiv B
n
n
(1) = 1, B
n
i
(1) = 0
pentru i ,= n.
(v) Funct ia B
n
i
are pe intervalul [0, 1] un punct de maxim pentru t =
i
n
.
Denit ia 3.12 Fie (b
0
, . . . , b
n
) o mult ime ordonata de puncte din R
m
, numita
poligon de control. Curba Bezier b : [0, 1] R
m
denita de poligonul de De ce este importanta
relat ia
n
i=0
B
n
i
(t) =
1?
control (b
0
, . . . , b
n
) este data de formula
b(t) :=
n
i=0
B
n
i
(t)b
i
.
20
Exemplul 3.13 Consideram poligonul de control
b
0
= (1, 0), b
1
= (1, 1), b
2
= (0, 2).
Curba Bezier asociata b : [0, 1] R
2
se scrie sub forma Bernstein
b(t) =
2
i=0
B
2
i
(t)b
i
= (1 t)
2
(1, 0) + 2t(1 t)(1, 1) +t
2
(0, 2) =
(1 2t +t
2
+ 2t 2t
2
, 2t 2t
2
+ 2t
2
) = (1 t
2
, 2t).
Avem, de exemplu, b(
1
3
) = (
8
9
,
2
3
), b(
1
4
) = (
15
16
,
1
2
), etc. Calculat i b(0), b(1) si
precizat i daca punctul
b1 apart ine curbei.
Stabilim, n continuare, daca punctul (
3
4
, 1) apart ine imaginii lui b. Aceasta
este echivalent cu a gasi t
0
[0, 1] pentru care b(t
0
) = (
3
4
, 1), deci
_
1 t
2
0
=
3
4
2t
0
= 1
(3.5)
Cum sistemul (3.5) admite solut ia t
0
=
1
2
, deducem ca (
3
4
, 1) Imb, mai precis,
(
3
4
, 1) = b(
1
2
).
Exercit iul 3.14 Consideram poligonul de control
b
0
= (1, 1), b
2
= (2, 0), b
3
= (0, 0)
si e b : [0, 1] R
2
curba Bezier asociata. Calculat i b(
1
3
) si stabilit i daca
punctul (1,
1
3
) apart ine imaginii lui b.
Observat ia 3.15 Polinoamele Bernstein de grad n, B
n
0
, . . . , B
n
n
, formeaza o
baza a spat iului vectorial al polinoamelor de grad mai mic sau egal cu n.
In Indicat i si alte baze ale
acestui spat iu de poli-
noame.
particular, orice curba polinomiala de grad n poate scrisa sub forma unei
curbe Bezier.
Exemplul 3.16
In spat iul vectorial al polinoamelor de grad mai mic sau egal
cu 2 avem egalitat ile
t
2
= B
2
2
(t), t =
1
2
B
2
1
(t) +B
2
2
(t), 1 = B
2
0
(t) +B
2
1
(t) +B
2
2
(t).
Fie acum curba polinomiala
c(t) = (2t + 3t
2
, 1 2t +t
2
) = (0, 1) 1 + (2, 2) t + (3, 1) t
2
.
Folosind relat iile de mai sus, deducem
c(t) = (B
2
1
(t) + 5B
2
2
(t), B
2
0
(t)) = B
2
0
(t)(0, 1) +B
2
1
(t)(1, 0) +B
2
2
(t)(5, 0),
deci c este curba Bezier asociata poligonului de control dat de punctele b
0
=
(0, 1), b
1
= (1, 0), b
2
= (5, 0).
Exercit iul 3.17 Stabilit i c arui poligon de control i corespunde curba polino-
miala
c : [0, 1] R
2
, c(t) = (2 4t +t
2
, 2 2t + 2t
2
).
Exemplul 3.18 (i) Curba Bezier asociata unui sistem de doua puncte distincte
b
0
, b
1
are ca imagine geometrica segmentul de dreapta determinat de acestea.
(ii) Daca punctele de control b
0
, b
1
, b
2
sunt coliniare, cu b
1
situat ntre b
0
si b
2
, atunci curba Bezier asociata are gradul 1, imaginea sa ind segmentul
[b
0
b
2
].
21
Teorema 3.19 (Legatura dintre forma Bernstein si algoritmul de Cas-
teljau) Fie (b
0
, . . . , b
n
) un poligon de control din R
m
. Atunci:
(i) Curba Bezier b
n
construita cu algoritmul de Casteljau poate scrisa sub Demonstrat i aceasta
relat ie pentru n = 2.
forma
b
n
(t) =
n
i=0
B
n
i
(t)b
i
,
deci curba Bezier b
n
construita cu ajutorul algoritmului de Casteljau coincide
cu curba Bezier b denita cu ajutorul polinoamelor Bernstein.
(ii) Punctele intermediare de Casteljau b
r
i
pot exprimate prin egalitat ile
b
r
i
(t) =
r
j=0
B
r
j
(t)b
i+j
, r = 0, . . . , n, i = 0, . . . , n r,
ceea ce arata ca aceste puncte descriu, la randul lor, niste curbe Bezier. Mai
precis, pentru r xat si i = 0, . . . , n r, punctul b
r
i
(t) descrie, cand t variaza,
curba Bezier asociata poligonului de control (b
i
, b
i+1
, . . . , b
i+r
).
(iii) Punctele curbei Bezier pot scrise cu ajutorul punctelor intermediare
de Casteljau sub forma
b(t) =
nr
i=0
B
nr
i
(t)b
r
i
(t), r = 0, . . . , n.
22
Capitolul 4
Proprietat i ale curbelor
Bezier
4.1 Proprietat i elementare
Folosind e algoritmul de Casteljau, e forma Bernstein a curbelor Bezier pot
deduse imediat urmatoarele proprietat i ale acestui tip de curbe:
Propozit ia 4.1 Fie (b
0
, . . . , b
n
) un poligon de control din R
m
. Curba Bezier
asociata b : [0, 1] R
m
are urmatoarele proprietat i:
Dat i exemple de poli-
goane de control pentru
care curba asociata are
gradul exact n, respectiv
mai mic decat n.
(i) b este o curba polinomiala, avand gradul mai mic sau egal cu n;
(ii) curba b interpoleaza extremitat ile poligonului de control, i.e. au loc
relat iile b(0) = b
0
, b(1) = b
n
; n particular, daca poligonul de control este
nchis, curba Bezier asociata este nchisa;
(iii) proprietatea acoperirii convexe: punctele curbei Bezier b se aa n
acoperirea convexa a punctelor de control;
(iv) invariant a ana: daca : R
m
R
m
este o transformare ana, atunci
curba Bezier asociata poligonului de control ((b
0
), . . . , (b
n
)) este curba (b);
Ce aplicat ii au pro-
prietat ile (iv) si (v)?
(v) invariant a la combinat ii baricentrice: e (b
0
, . . . , b
n
), respectiv
(
b
0
, . . . ,
b
n
) doua poligoane de control si b, respectiv
b curbele Bezier cores-
punzatoare. Pentru orice R, curba Bezier asociata poligonului de control
((1 )b
0
+
b
0
, . . . , (1 )b
n
+
b
n
) este curba (1 )b +
b.
(vi) daca
b : [0, 1] R
m
este curba Bezier asociata poligonului de control
(b
n
, . . . , b
0
), atunci
b(t) = b(1 t), n particular, cele doua curbe au aceeasi
imagine geometrica.
4.2 Derivatele unei curbe Bezier
Denit ia 4.2 (i) Operatorul de diferent iere n avans este denit prin
b
i
:= b
i+1
b
i
, i = 0, . . . , n 1.
(ii) Prin convent ie
0
b
i
:= b
i
, i = 0, . . . , n, iar pentru r 2 se deneste Calculat i explicit
2
pentru punctele unui
poligon de control
(b0, b1, b2, b3).
r
b
i
:=
r1
(b
i
), pentru i = 0, . . . , n r.
23
Propozit ia 4.3 Fie (b
0
, . . . , b
n
) un poligon de control din R
m
si e b : [0, 1]
R
m
curba Bezier asociata. Derivatele funct iei b sunt date de formulele
b
(k)
(t) =
nk
i=0
_
n!
(n k)!
k
b
i
_
B
nk
i
(t) k = 0, . . . , n. (4.1)
Corolarul 4.4 (i) Derivatele de orice ordin calculate pentru t = 0 si t = 1
depind doar de poligonul de control. Mai mult, b
(0) = n(b
1
b
0
), b
(0)
si b
(t) = n(b
n1
1
(t) b
n1
0
(t)),
cu alte cuvinte, punctele construite n etapa (n1) a algoritmului de Casteljau
determina vectorul tangent la curba Bezier n punctul b(t).
Exemplul 4.5 Pentru schema de Casteljau din exemplul 3.6 (ii), vectorul tan-
gent la curba corespunzator valorii t =
1
2
a parametrului este (3, 3).
Exercit iul 4.6 Consideram punctele b
0
= (4, 2), b
1
= (4, 4), b
2
= (2, 4) si
e b : [0, 1] R
2
curba Bezier asociata poligonului de control (b
0
, b
1
, b
2
).
Determinat i vectorii tangent i la aceasta curba n punctele b(0), b(
1
2
), b(1).
Exercit iul 4.7 Daca punctele b
0
, b
1
, b
2
, b
3
sunt varfurile unui patrat, stabilit i
care este punctul obt inut aplicand algoritmul de Casteljau pentru valoarea pa-
rametrului t =
1
2
si care este tangenta la curba n acest punct.
4.3 Modicarea unei curbe Bezier
(i) Deplasarea unui punct de control
Fie (b
0
, . . . , b
j1
, b
j
, b
j+1
, . . . , b
n
), respectiv (b
0
, . . . , b
j1
,
b
j
, b
j+1
, . . . , b
n
) doua
poligoane de control si e b, respectiv
b curbele Bezier asociate. Folosind ex-
primarea n forma Bernstein, deducem ca pentru t [0, 1] avem
b(t)
b(t)=
b(t) b(t) = B
n
j
(t)(
b
j
b
j
) = B
n
j
(t)
b
j
b
j
.
Colinearitatea vectorilor
b(t)
b(t) si
b
j
b
j
arata ca, daca deplasam punctul
b(t) ntr-o anumita direct ie, ecare punct al curbei Bezier se deplaseaza de-a
lungul aceleiasi direct ii. Lungimea segmentului parcurs difera nsa n funct ie
de t.
In cazul n care j 1, . . . , n extremitat ile b
0
= b(0) si b
n
= b(1) Efectuat i calcule expli-
cite n cazul b0 = (0, 0),
b1 = (1, 1), b2 = (3, 3),
b1 = (0, 1).
raman neschimbate. Curba are cea mai vizibila modicare ntr-o vecinatate a
punctului b(
j
n
), deoarece funct ia B
n
j
are un maxim pentru t =
j
n
. Situat ia este
asemanatoaren cazul n care j 0, n (deci modicam una dintre extremitat i):
de exemplu, daca j = 0, punctul b
n
ramane pe loc si curba este afectata cel
mai mult n vecinatatea lui b
0
.
(ii) Inserarea repetata a unui punct de control
Fie (b
0
, . . . , b
j1
, b
j
, b
j+1
, . . . , b
n
) un poligon de control cu n + 1 puncte de
control si b curba Bezier asociata. Utilizand scrierea Bernstein a curbei b,
24
deducem ca ponderea punctului b
j
este B
n
j
(t) = C
j
n
t
j
(1 t)
nj
. Inserand n
mod repetat (de k ori) punctul b
j
, obt inem poligonul cu n+k puncte de control
(b
0
, . . . , b
j1
, b
j
, . . . , b
j
. .
k ori
, b
j+1
, . . . , b
n
).
Considerand curba Bezier
b asociata, rezulta ca ponderea punctului b
j
n curba Comparat i cele doua
ponderi n cazul k = 2.
b(t) = (1 t)
2
b
0
+ 2t(1 t)b
1
+t
2
b
2
,
ind o curba polinomiala de grad cel mult 2. Imaginea sa coincide nsa cu
imaginea lui b, ind, la randul sau, egala cu segmentul [b
0
b
2
]. Acesta este un
exemplu n care poligoane de control diferite genereaza curbe Bezier cu para-
metrizari diferite, dar care au aceeasi imagine geometrica.
b(t) = (1t)
2
b
0
+2t(1t)b
1
+t
2
b
2
= (1t)
2
b
0
+2t(1t)
_
1
2
b
0
+
1
2
b
2
_
+t
2
b
2
=
=
_
(1 t)
2
+t(1 t)
_
b
0
+
_
t(1 t) +t
2
_
b
2
= (1 t)b
0
+tb
2
= b(t).
Cu alte cuvinte, pentru aceasta alegere particulara a lui b
1
, coincid atat ima- Demonstrat i ca mijlo-
cul segmentului [b0b2]
este singurul punct cu
aceast a proprietate.
ginile geometrice ale celor doua curbe, cat si parametrizarile b si
b.
b
0
,
b
1
, . . . ,
b
n
), unde
b
0
= b
n
,
b
1
= b
n1
, . . . ,
b
n1
= b
1
,
b
n
= b
0
.
b
j
0
(t) = b
j
nj
(1 t), j = 0, . . . , n, t [0, 1].
Exemplul 4.16 Consideram poligonul de control (b
0
, b
1
, b
2
) format din punc-
tele
b
0
= (4, 0), b
1
= (0, 0), b
2
= (0, 8)
si b : [0, 1] R
2
curba Bezier asociata. Pentru =
1
2
punctele de Casteljau Scriet i n forma Bern-
stein curbele b, b|
[0,
1
2
]
si b|
[
1
2
,1]
.
sunt
b
0
0
_
1
2
_
= b
0
= (4, 0), b
0
1
_
1
2
_
= b
1
= (0, 0), b
0
2
_
1
2
_
= b
2
= (0, 8);
b
1
0
_
1
2
_
= (2, 0), b
1
1
_
1
2
_
= (0, 4), b
2
0
_
1
2
_
= (1, 2).
Se deduce ca restrict ia lui b la intervalul [0,
1
2
] este curba Bezier determi-
nata de poligonul de control format din punctele (4, 0), (2, 0), (1, 2), iar
restrict ia lui b la intervalul [
1
2
, 1] este curba Bezier asociata poligonului de con-
trol ((1, 2), (0, 4), (0, 8)).
Exercit iul 4.17 Fie b
0
= (4, 4), b
1
= (4, 8), b
2
= (0, 4), b
3
= (4, 0) si b :
[0, 1] R
2
curba Bezier asociata. Gasit i poligoanele de control care determina
curbele Bezier b[
[0,
1
2
]
si b[
[
1
2
,1]
.
Exercit iul 4.18 Fie b
0
, b
1
, b
2
, b
3
varfurile unui patrat si b curba Bezier aso-
ciata. Indicat i poligoanele de control care determina curbele Bezier b[
[0,
1
2
]
si
b[
[
1
2
,1]
.
Observat ia 4.19 Procesul de subdivizare a unei curbe pentru o valoare a para-
metrului (de exemplu t =
1
2
) poate repetat, obt inand arce de curba din ce n ce
mai mici. Acest procedeu este util pentru a stabili daca o dreapta intersecteaza
o curba Bezier: fara a restr ange generalitatea, se poate presupune ca dreapta
este paralela cu una din axele de coordonate. Ceea ce se studiaza, de fapt,
(si este mult mai usor de vericat din punct de vedere practic) este intersect ia
dreptei cu paralelipipedul minim (minmax box-ul) determinat de poligonul de
control care genereaza curba Bezier.
In cazul n care dreapta nu intersecteaza
acest paralelipiped, atunci ea nu intersecteaza nici curba, n caz contrar, prin
subdivizari repetate, pot aproximate punctele de intersect ie ale dreptei date
cu curba Bezier init iala.
27
Capitolul 5
Cubice spline
5.1 Racordul a doua arce de curba Bezier
Observat ia 5.1 Fie (b
0
, b
1
, . . . , b
n
) un poligon de control din R
m
si e b : Ce diferent a este ntre
curba b|
[0,
1
2
]
, construita
prin subdivizare si curba
b
[0,
1
2
]
?
[0, 1] R
m
curba Bezier asociata. Pentru un interval arbitrar [, ] R
( ,= ), denim aplicat ia (numita curba Bezier denita pe intervalul [, ])
b
[,]
: [, ] R
m
, b
[,]
:= b ,
unde Algoritmul de Casteljau
poate adaptat pen-
tru construirea curbei
b
[,]
.
: [, ] [0, 1] (u) =
u
este schimbarea ana de parametru de la intervalul [, ] la intervalul [0, 1]. Determinat i vectorii
tangent i la curba nou
construita n capetele
sale.
b : [2, 4] R
2
,
b(u) = b (u),
cu (u) =
u2
42
, deci
b(u) = b
_
u 2
2
_
=
_
u
2
+ 8u 12
2
, (u 2)
2
_
.
Propozit ia 5.3 Fie (b
0
, . . . , b
n1
, b
n
) si (b
n
, b
n+1
, . . . , b
2n
) doua poligoane Scriet i explicit condit iile
din aceasta propozit ie
pentru n = 3.
de control si b : [u
0
, u
1
] R
m
, respectiv
b : [u
1
, u
2
] R
m
curbele Bezier
asociate (u
0
< u
1
< u
2
; aceasta condit ie va subnt eleasa n cele ce urmeaza).
(i) Cele doua curbe au un racord de clasa G(
1
n punctul b
n
daca si numai
daca punctele b
n1
, b
n
, b
n+1
sunt coliniare.
Demonstrat i ca, dac a
, , sunt numere re-
ale, atunci r(, , ) =
.
(ii) Cele doua curbe au un racord de clasa (
1
n punctul b
n
daca si numai
daca punctele b
n1
, b
n
, b
n+1
sunt coliniare si are loc egalitatea de rapoarte
r(b
n1
, b
n
, b
n+1
) = r(u
0
, u
1
, u
2
).
(iii) Cele doua curbe au un racord de clasa (
2
n punctul b
n
daca si numai
daca sunt vericate condit iile:
28
punctele b
n1
, b
n
, b
n+1
sunt coliniare si are loc egalitatea de rapoarte
r(b
n1
, b
n
, b
n+1
) = r(u
0
, u
1
, u
2
);
exista un punct d cu proprietatea ca b
n2
, b
n1
, d, respectiv d, b
n+1
, b
n+2
sunt triplete de puncte coliniare si, n plus, au loc egalitat ile
r(b
n2
, b
n1
, d) = r(d, b
n+1
, b
n+2
) = r(u
0
, u
1
, u
2
).
Punctul d se numeste punct de Boor asociat racordului celor doua curbe.
Exemplul 5.4 (i)
In R
2
consideram punctele b
0
= (1, 2), b
1
= (1, 4), b
2
=
(2, 5), b
3
= (4, 5), b
4
= (6, 3), b
5
= (6, 2), b
6
= (3, 0); e, de asemenea,
u
0
= 2, u
1
= 4, u
2
= 7. Cum b
2
, b
3
, b
4
nu sunt coliniare, cubicele Bezier Justicat i de ce punctele
b2, b3, b4 nu sunt coli-
niare.
b : [u
0
, u
1
] R
2
si
b : [u
1
, u
2
] R
2
corespunzatoare poligoanelor de control
(b
0
, b
1
, b
2
, b
3
), respectiv (b
3
, b
4
, b
5
, b
6
) nu au un racord de clasa G(
1
n b
3
.
(ii)
In R
2
consideram punctele b
0
= (0, 2), b
1
= (1, 3), b
2
= (3, 3), b
3
=
(4, 2), b
4
= (6, 0), b
5
= (4, 6), b
6
= (1, 1). Fie u
0
= 1, u
1
= 4, u
2
= 7.
Avem:
b
2
b
3
= b
3
b
2
= (1, 1),
b
2
b
4
= b
4
b
2
= (3, 3),
deci vectorii
b
2
b
3
si
b
2
b
4
sunt liniar dependent i, adica punctele b
2
, b
3
, b
4
sunt coliniare; n particular cubicele Bezier b : [1, 4] R
2
si
b : [4, 7] R
2
asociate poligoanelor de control (b
0
, b
1
, b
2
, b
3
), respectiv (b
3
, b
4
, b
5
, b
6
) au un
racord de clasa G(
1
n b
3
. Pe de alta parte,
b
2
b
3
= b
3
b
2
= (1, 1),
b
3
b
4
= b
4
b
3
= (2, 2),
adica r(b
2
, b
3
, b
4
) =
1
2
, iar r(u
0
, u
1
, u
2
) =
u1u0
u2u1
= 1, asadar
r(b
2
, b
3
, b
4
) ,= r(u
0
, u
1
, u
2
),
ceea ce arata ca racordul nu este de clasa (
1
. Alegand n schimb u
0
= 1, u
1
= 4
si u
2
= 10, avem
r(u
0
, u
1
, u
2
) =
u
1
u
0
u
2
u
1
=
3
6
=
1
2
= r(b
2
, b
3
, b
4
),
cu alte cuvinte curbele Bezier c : [1, 4] R
2
, respectiv c : [4, 10] R
2
asociate
celor doua poligoane de control au un racord de clasa (
1
n b
3
. Este de remarcat
faptul ca b = c (ca funct ii), n vreme ce parametrizarile
b si c au aceeasi imagine
geometrica, dar sunt diferite ca aplicat ii. Acest exemplu arata ca un racord care
are doar continuitate geometrica G(
1
poate deveni, prin alegerea convenabila
a intervalelor pe care este denita parametrizarea (este sucient sa modicam
unul din capete!) de clasa (
1
. Cu alte cuvinte, continuitatea geometrica G(
1
este legata numai de forma poligonului de control, iar faptul ca un racord are
clasa (
1
este legat atat de poligonul de control, cat si de intervalele pe care sunt
denite parametrizarile.
Sa analizam n continuare daca acest racord este si de clasa (
2
. Pentru
aceasta trebuie sa determinam punctul d de intersect ie a dreptelor b
1
b
2
si
b
4
b
5
: dreapta b
1
b
2
are ecuat ia implicita x
2
= 3, iar dreapta b
4
b
5
are ecuat ia
3x
1
x
2
18 = 0 si punctul lor de intersect ie este d = (7, 3). Avem:
b
1
b
2
= (2, 0),
b
2
d = (4, 0), r(b
1
, b
2
, d) =
1
2
,
db
4
= (1, 3),
b
4
b
5
= (2, 6), r(d, b
4
, b
5
) =
1
2
,
29
deci au loc egalitat ile
r(b
1
, b
2
, d) = r(d, b
4
, b
5
) = r(u
0
, u
1
, u
2
),
ceea ce arata ca racordul curbelor c si c este de clasa (
2
.
Daca raportul r(b
1
, b
2
, d) (respectiv r(d, b
4
, b
5
)) nu ar fost egal cu
1
2
, am
In ce situat ie nu poate
obt inut, nici dupa modi-
carea intervalelor, un
racord de clas a C
2
?
putut modica punctul b
1
pe dreapta b
2
d (respectiv punctul b
5
pe dreapta
db
4
), astfel ca raportul respectiv sa e
1
2
; altfel spus, prin modicarea poligo-
nului de control se poate obt ine un racord de clasa (
2
.
Exercit iul 5.5
In R
2
consideram punctele
b
0
= (0, 0), b
1
= (2, 2), b
2
= (2, 4), b
3
= (3, 3),
b
4
= (5, 1), b
5
= (4, 0), b
6
= (2, 1)
si numerele reale
u
0
= 0, u
1
= 1, u
2
= 3.
Fie b : [0, 1] R
2
si
b : [1, 3] R
2
curbele Bezier asociate. Stabilit i ce clasa
are racordul celor doua curbe n punctul b
3
.
Intrebare: Ce date sunt necesare pentru a putea construi doua cubice Bezier
care au un racord de clasa (
1
? Dar un racord de clasa (
2
?
Exemplul 5.6 Consideram punctele:
b
0
= (1, 1), b
1
= (2, 2), d = (6, 2), b
5
= (3, 3), b
6
= (1, 3)
si numerele reale
u
0
= 0, u
1
= 1, u
2
= 2.
Pornind de la aceste date putem construi poligoane de control (b
0
, b
1
, b
2
, b
3
) si
(b
3
, b
4
, b
5
, b
6
) astfel ncat curbele Bezier asociate b si
b denite pe intervalele
[0, 1], respectiv [1, 2] sa aib a un racord de clasa (
2
. Mai ntai sa observam ca
avem
r(u
0
, u
1
, u
2
) =
u
1
u
0
u
2
u
1
= 1.
Punctele b
2
, b
3
, b
4
le determinam din condit iile Daca A, P, B sunt
puncte coliniare
cu r(A, P, B) =
r = 1, avem
P =
1
r+1
A +
r
r+1
B.
r(b
1
, b
2
, d) = r(d, b
4
, b
5
) = r(b
2
, b
3
, b
4
) = r(u
0
, u
1
, u
2
) = 1,
b
2
=
1
2
b
1
+
1
2
d, b
4
=
1
2
d +
1
2
b
5
, b
3
=
1
2
b
2
+
1
2
b
4
:
Concret, obt inem
b
2
= (4, 2), b
4
=
_
9
2
,
1
2
_
, b
3
=
_
17
4
,
3
4
_
.
Exercit iul 5.7 Consideram punctele:
b
0
= (0, 2), b
1
= (0, 4), d = (4, 2), b
5
= (4, 2), b
6
= (0, 3)
si numerele reale
u
0
= 1, u
1
= 2, u
2
= 3.
Determinat i poligoanele de control (b
0
, b
1
, b
2
, b
3
) si (b
3
, b
4
, b
5
, b
6
) astfel ncat
curbele Bezier asociate b si
b denite pe intervalele [1, 2], respectiv [2, 3] sa aiba
un racord de clasa (
2
.
30
5.2 Cubice spline
Denit ia 5.8 O cubica spline este o curba polinomiala pe port iuni obt inuta
prin racord de clasa (
2
al unui numar nit de cubice Bezier.
Exemplul 5.9 (i) Aplicat ia : [1, 10] R
2
denita prin
(t) =
_
c(t), daca t [1, 4]
c(t), daca t [4, 10],
unde c si c sunt curbele din exemplul 5.4, este o cubica spline.
Stabilit i dac a b si b
din exercit iul 5.5 dau
nastere unei cubice
spline.
(ii) Aplicat ia : [0, 2] R
2
denita prin
(t) =
_
b(t), daca t [0, 1]
d
1
d
1
|,
u
j
= u
j1
+|
d
j1
d
j
|, j = 2, . . . , L 1,
u
L
= u
L1
+|
d
L1
d
L+1
|
diviziunea este aleasa astfel ca lungimea intervalului [u
j1
u
j
] sa e egala cu
lungimea segmentului [d
j1
d
j
] (pentru j = 2, . . . , L 1).
32
Exemplul 5.14 Consideram numerele reale
u
0
= 0, u
1
= 1, u
2
= 2, u
3
= 4 (L = 3).
Fie poligonul de Boor (d
1
, d
0
, . . . , d
4
) xat. Conform algoritmului Boehm-de
Boor denim b
0
:= d
1
, b
1
:= d
0
, b
8
:= d
3
, b
9
:= d
4
. Mai departe, avem
b
2
=
u
2
u
1
u
2
u
0
d
0
+
u
1
u
0
u
2
u
0
d
1
=
1
2
d
0
+
1
2
d
1
; b
7
=
2
3
d
2
+
1
3
d
3
.
Conform aceluiasi algoritm
b
4
= b
322
=
u
3
u
1
u
3
u
0
d
1
+
u
1
u
0
u
3
u
0
d
2
=
3
4
d
1
+
1
4
d
2
b
5
=
1
2
d
1
+
1
2
d
2
, b
3
=
1
2
b
2
+
1
2
b
4
, b
6
=
2
3
b
5
+
1
3
b
7
.
33
Capitolul 6
Curbe Bezier rat ionale
Sa consideram aplicat ia de proiect ie centrala pe planul L de ecuat ie x
3
= 1 Comparat i pozit ia rela-
tiva a dreptelor {( +
1, 1, )| R}
si {(, , 1)|
R} precum si pozit ia re-
lativa a imaginilor lor
prin .
c
: R
3
x[ x
3
= 0 L,
c
(x
1
, x
2
, x
3
) =
_
x
1
x
3
,
x
2
x
3
, 1
_
.
Identicand n mod natural acest plan cu R
2
, obt inem o aplicat ie
: R
3
x[ x
3
= 0 L, (x
1
, x
2
, x
3
) =
_
x
1
x
3
,
x
2
x
3
_
.
Propozit ia 6.1 Fie (a
0
, a
1
, a
2
) un poligon de control din R
3
si e mai departe
a : [0, 1] R
3
, a(t) =
2
i=0
a
i
B
2
i
(t) curba Bezier asociata. Presupunem ca
niciunul din cele trei puncte de control nu este situat n planul de ecuat ie x
3
= 0
si ca nici curba a nu intersecteaza acest plan. Scriem a
i
= (x
1
(a
i
), x
2
(a
i
),
i
)
(i = 0, 1, 2) si denim punctele
b
i
:=
_
x
1
(a
i
)
i
,
x
2
(a
i
)
i
_
= (a
i
) R
2
, i = 0, 1, 2.
Imaginea curbei a prin aplicat ia este curba Avem r(t) = (a(t)),
t in and cont de notat iile
introduse, deducem cu
usurint a relat ia din
enunt .
r : [0, 1] R
2
, r(t) =
2
i=0
i
b
i
B
2
i
(t)
2
j=0
j
B
2
j
(t)
.
Denit ia 6.2 Fie b
0
, b
1
, b
2
puncte din R
2
,
0
,
1
,
2
R numere reale, astfel
ca
2
j=0
j
B
2
j
(t) ,= 0 pe intervalul [0, 1]. Curba
r : [0, 1] R
2
, r(t) =
2
i=0
i
B
2
i
(t)
2
j=0
j
B
2
j
(t)
b
i
se numeste curba Bezier rat ional patratica (CBRP). Punctele b
0
, b
1
, b
2
se numesc puncte de control ale curbei, iar numerele
0
,
1
,
2
se numesc
ponderi ale punctelor de control b
i
.
Exemplul 6.3 Consideram punctele
b
0
= (0, 0), b
1
= (0, 1), b
2
= (1, 0)
si numerele reale
0
= 1,
1
= 1,
2
= 2.
34
Avem
2
j=0
j
B
2
j
(t) = 1 +t
2
,
iar CBRP asociata este Determinat i punctele
de intersect ie dintre
curba b si curba r si
comparat i imaginile lor
geometrice.
r : [0, 1] R
2
, r(t) =
_
2t
2
1 +t
2
,
2t(1 t)
1 +t
2
_
.
(Curba Bezier asociata acestui poligon de control este b(t) = (t
2
, 2t 2t
2
).)
Poligonul de control init ial este dat de punctele
a
0
= (0, 0, 1), a
1
= (0, 1, 1), a
2
= (2, 0, 2).
Exercit iul 6.4 Determinat i CBRP asociata datelor
b
0
= (2, 0), b
1
= (0, 0), b
2
= (0, 1);
0
= 2,
1
= 1,
2
= 1
si precizat i punctele poligonului de control (a
0
, a
1
, a
2
) din care se obt in aceste
date.
Exercit iul 6.5 Putet i determina o curba Bezier rat ional patratica r astfel ca
r(t) =
_
1t
2
1+t
2
,
2t
1+t
2
_
oricare ar t [0, 1]?
In caz armativ, care este poligonul
de control din R
3
init ial?
Propozit ia 6.6 Fie r o curba Bezier rat ional patratica denita de datele init iale
(b
i
,
i
) i = 0, 1, 2.
(i)
In cazul n care cele trei ponderi au aceeasi valoare, ,= 0, (i.e. punctele
a
0
, a
1
si a
2
sunt situate n planul x
3
= ), atunci CBRP asociata r este o curba
Bezier r(t) =
2
i=0
B
2
i
(t)b
i
.
(ii) Au loc relat iile
In proprietat ile (ii) si
(iii) se foloseste fap-
tul c a ponderile extreme
sunt nenule. Acest
fapt rezulta din condit ia
2
j=0
jB
2
j
(t) = 0 pe
intervalul [0, 1].
r(0) = b
0
, r(1) = b
2
,
deci CBRP considerata interpoleaza punctele de extrem.
(iii) Au loc egalitat ile
r
(0) =
2
1
0
(b
1
b
0
), r
(1) =
2
1
2
(b
2
b
1
),
cu alte cuvinte tangentele n punctele extreme sunt direct ionate de vectorii
b
0
b
1
, respectiv
b
1
b
2
(iv) Daca ponderile sunt strict pozitive, atunci CBRP este inclusannfasuratoarea
convexa a punctelor de control.
Observat ia 6.7 Convenind ca punctele de forma (
x1
x3
,
x2
x3
) cu x
3
= 0 sunt si-
tuate la innit, putem extinde denit ia unei CBRP, cerand doar ca ponderile
0
,
1
,
2
sa nu e toate nule, dar acceptand ca expresia
2
j=0
j
B
2
j
(t) sa se
anuleze pe intervalul [0, 1]. Fiind un polinom de grad cel mult doi nenul (de-
oarece ponderile nu sunt toate nule), va avea cel mult doua radacini n acest
interval, deci CBRP obt inuta va avea cel mult doua puncte la innit.
Propozit ia 6.8 O curba Bezier rat ional patratica este un arc de conica. Mai
precis, e CBRP denita de datele (b
i
,
i
), i = 0, 1, 2. Atunci: Este posibil ca o CBRP
sa e inclus a ntr-o co-
nica degenerata?
daca
02
2
1
> 1, curba este un arc de elipsa,
daca
02
2
1
= 1, curba este un arc de parabola,
daca
02
2
1
< 1, curba este un arc de hiperbola.
35
Exemplul 6.9 Sistemul de ponderi (1, 1, 2) conduce la un arc de elipsa, oricare
ar poligonul de control init ial, n vreme ce cu ponderile (2, 3, 2) se ajunge la
arce de hiperbola.
Propozit ia 6.10 Fie r o CBRP denita de (b
0
, b
1
, b
2
,
0
,
1
,
2
). Daca
2
0
>
0, exista o schimbare de parametru astfel r sa e o conica denita de
acelasi poligon de control si de ponderile (1,
1
, 1). O parametrizare a unui arc
de conica denita de un sistem de date de forma (b
0
, b
1
, b
2
, 1,
1
, 1) se numeste
parametrizare standard. Tipul conicei este dat de ponderea
1
:
daca
1
< 1 conica este elipsa;
daca
1
= 1 conica este parabola;
daca
1
> 1 conica este hiperbola.
Propozit ia 6.11 Datele init iale (b
0
, b
1
, b
2
, 1,
1
, 1) denesc un arc de cerc tan-
gent poligonului de control n punctele b
0
si b
2
si situat n acoperirea convexa Cum putem construi un
cerc complet folosind
trei arce de cerc privite
ca CBRP?
a punctelor poligonului de control daca si numai daca sunt vericate condit iile
(i) |
b
0
b
2
| = |
b
1
b
2
| (cu alte cuvinte triunghiul b
0
b
1
b
2
este isoscel cu
[b
1
b
0
] [b
1
b
2
]) si
(ii)
1
= cos(
b
1
b
0
b
2
).
Corolarul 6.12 Parametrizarea arcului de cerc situat n interiorul poligonului
de control (b
0
, b
1
, b
2
) care are extremitat ile b
0
respectiv b
2
este data de
r(t) =
B
2
0
(t)b
0
+ cos B
2
1
(t)b
1
+B
2
2
(t)b
2
B
2
0
(t) + cos B
2
1
(t) +B
2
2
(t)
, t [0, 1],
unde = m(
b
1
b
0
b
2
). Centrul cercului este situat la intersect ia perpendicula-
relor duse pe b
0
b
1
, respectiv pe b
2
b
1
n b
0
, respectiv b
2
.
Exemplul 6.13 Consideram b
0
= (1, 0), b
1
= (1, 1) si b
2
= (0, 1), n particu-
lar =
4
, deci cos =
2
2
si arcul de cerc corespunzator este dat de parametri-
zarea
r(t) =
_
1 + (
2 2)t + (1
2)t
2
1 + (
2 2)t + (2
2)t
2
,
2t + (1
2)t
2
1 + (
2 2)t + (2
2)t
2
_
.
Observat ia 6.14 (i) Punctele unei curbe Bezier rat ional patratice pot de-
terminate e aplicand algoritmul de Casteljau atat numitorului cat si numara-
torului si apoi efectuand mpart irea, e determinand punctele a
0
, a
1
, a
2
din R
3
care prin sunt aplicate n b
i
, aplicand acestor puncte algoritmul de Castel-
jau (cu alte cuvinte determinand puncte ale curbei Bezier asociate a) si apoi
calculand imaginea acestor puncte prin proiect ia .
(ii) Prin analogie cu curbele Bezier rat ional patratice, putem introduce curbe
Bezier rat ionale de grad n din R
m
. Datele cu ajutorul carora construim o astfel
de curba sunt:
poligonul de control (b
0
, . . . , b
n
) din R
m
;
sistemul de ponderi (
0
, . . . ,
n
), nu toate nule.
Curba Bezier rat ionala de grad n asociata acestor date este data de
r(t) =
n
i=0
i
B
n
i
(t)
n
j=0
j
B
n
j
(t)
b
i
, t [0, 1].
Proprietat ile unei astfel de curbe sunt analoage proprietat ilor CBRP.
36
Anexa A
Proiecte
1. Curbe generate de punctele intermediare
Ilustreaza cat mai sugestiv curbele determinate de punctele intermediare de
Casteljau.
2. Invariant a ana a curbelor Bezier.
Ilustreaza cat mai sugestiv proprietatea de invariant a la transformari ane a
curbelor Bezier.
3. Invariant a la combinat ii baricentrice a curbelor Bezier.
Ilustreaza cat mai sugestiv proprietatea de invariant a la combinat ii baricentrice
a curbelor Bezier.
4. Inserarea repetata a unui punct de control.
Ilustreaza cat mai sugestiv ce se ntampla cand inseram n mod repetat un varf
al unui poligon de control.
5. Intersect ia paralelipipedelor minime.
Input: Doua poligoane de control ale unor cubice Bezier.
Output: -Precizeaza daca interioarele paralelipipedelor minime ale celor doua
poligoane de control se intersecteaza sau nu.
-Reprezentare graca (inclusiv desenarea celor doua curbe Bezier).
6. Marirea gradului unei curbe Bezier
Input: Un poligon de control T = (b
0
, . . . , b
n
), k 1.
Output: -Construieste, folosind metoda de marire a gradului, poligoane de
control avand n+2, n+3, . . . , n+k +1 puncte si care genereaza aceeasi curba
Bezier ca si T.
-Reprezentare graca (n cazul n care poligonul de control este din R
2
).
7. Compararea a doua curbe Bezier plane
Input: Poligoanele de control pentru doua curbe Bezier plane.
Output: -Decide daca cele doua poligoane genereaza aceeasi curba Bezier.
-Reprezentare graca.
37
8. Deformarea unei curbe Bezier ntr-o alta curba Bezier
Input: Poligoanele de control pentru doua curbe Bezier plane b
1
si b
2
.
Output: Folosind marirea gradului si invariant a la combinat ii baricentrice,
realizeaza o animat ie cu o familie de curbe de la b
1
la b
2
care sa sugereze
deplasarea lui b
1
nspre b
2
.
9. Subdivizare
Input: Poligonul de control al unei curbe Bezier plane b, [0, 1].
Output: -Determina poligoanele de control ale curbelor b[
[0,]
si b[
[,1]
.
-Reprezentare graca.
10. Racord de clasa (
1
al unor cubice Bezier
Input: Doua poligoane de control T = (b
0
, b
1
, b
2
, b
3
), Q = (c
0
, c
1
, c
2
, c
3
) din
planul R
2
, numere reale u
0
< u
1
< u
2
.
Output: -Stabileste daca b si c (curbele Bezier asociate lui T, respectiv Q si
denite pe [u
0
, u
1
], respectiv [u
1
, u
2
]) au un racord de clasa G(
1
sau (
1
.
-Reprezentare graca.
11. Algoritmul Boehm-de Boor
Input: Un numar natural L, un poligon de Boor (d
1
, d
0
, . . . , d
L+1
) si un sir
de noduri u
0
, . . . , u
L
.
Output: Reprezinta grac cubica spline asociata acestor date.
12. Curbe Bezier rat ional patratice
Input: Coecient ii unor polinoame P, Q, R de gradul 2.
Output: -Determina poligonul de control (b
0
, b
1
, b
2
) si ponderile
0
,
1
,
2
care determina curba Bezier rat ional patratica r(t) =
_
P(t)
R(t)
,
Q(t)
R(t)
_
.
-Reprezentare graca.
38
Bibliograe
[1] G. Farin, Curves and Surfaces for CAGD - A practical guide, Academic
Press, 2002.
http://www.farinhansford.com/books/cagd/materials.html
http://www.vis.uni-stuttgart.de/~kraus/LiveGraphics3D/cagd/
[2] E. Petrisor, Modelare geometrica algoritmica, Ed. Tehnica, Bucuresti, 2001.
[3] H. Prautzsch, W. Boehm si M. Paluszny, Bezier and B-Spline Techniques,
Springer, 2002.
http://i33www.ira.uka.de/applets/mocca/html/noplugin/inhalt.html
[4] M. de Berg, M. van Kreveld, M. Overmars si O. Schwarzkopf, Computatio-
nal Geometry, Algorithms and Applications, Springer, 2000.
[5] F. Preparata si M. Shamos, Computational Geometry: An Introduction,
Springer, 1985.
[6] D. Hearn si M. Baker, Computer Graphics with OpenGL, Prentice Hall,
2003.
[7] G. Albeanu, Graca pe calculator. Algoritmi fundamentali, Editura Uni-
versitat ii din Bucuresti, 2001.
-
[8] L. Badescu, Geometrie, Editura Universitat ii Bucuresti, 2000.
[9] M. do Carmo, Dierential Geometry of Curves and Surfaces, Prentice Hall,
1976.
[10] Gh. Galbura si F. Rado, Geometrie, Editura Didactica si Pedagogica, Bu-
curesti, 1979.
[11] A. Gray, Modern Dierential Geometry of Curves and Surfaces with
Mathematica, CRC Press, 1999.
[12] I. Hirica, S. Leiko, L. Nicolescu, G. Pripoae, Geometrie diferent iala. Pro-
bleme. Aplicat ii, Bucuresti, 1999.
[13] M.I. Munteanu, Algoritmi geometrici 2D si aplicat ii n CAGD, Editura Uni-
versitat ii Al. I. Cuza Iasi, 2005.
[14] L. Nicolescu, Curs de geometrie, Bucuresti, 2002.
[15] L. Ornea si A. Turtoi, O introducere n geometrie, Editura Theta, Bucuresti,
2000.
[16] M.S. Stupariu, Geometrie analitic a, Bucuresti, 2008.
39