GEOMETRIE COMPUTAT¸IONAL

˘
A
Mihai-Sorin Stupariu
Sem. I, 2011-2012
Cuprins
1 Material preg˘atitor 3
1.1 Elemente de algebr˘a liniar˘a, geometrie afin˘a ¸si euclidian˘a . . . . 3
1.2 Curbe parametrizate. Curbe polinomiale. Schimb˘ari de parametru 3
1.3 Vector tangent, vector accelerat ¸ie. Regularitate . . . . . . . . . . 5
1.4 Racord de clas˘a (
k
al unor arce de curb˘a. Continuitate geometric˘a 6
1.5 Curbe plane (curbe 2D) . . . . . . . . . . . . . . . . . . . . . . . 8
1.6 Curbe 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.7 Elemente de geometrie diferent ¸ial˘a a suprafet ¸elor . . . . . . . . . 11
2 Interpolare polinomial˘a 16
2.1 Segmente. Interpolare liniar˘a (afin˘a) . . . . . . . . . . . . . . . . 16
2.2 Algoritmul lui Aitken . . . . . . . . . . . . . . . . . . . . . . . . . 17
3 Curbe B´ezier 19
3.1 Algoritmul de Casteljau . . . . . . . . . . . . . . . . . . . . . . . 19
3.2 Forma Bernstein a curbelor B´ezier . . . . . . . . . . . . . . . . . 21
4 Propriet˘at ¸i ale curbelor B´ezier 24
4.1 Propriet˘at ¸i elementare . . . . . . . . . . . . . . . . . . . . . . . . 24
4.2 Derivatele unei curbe B´ezier . . . . . . . . . . . . . . . . . . . . . 24
4.3 Modificarea unei curbe B´ezier . . . . . . . . . . . . . . . . . . . . 25
4.4 Generarea unei curbe B´ezier cu poligoane de control diferite (m˘arirea
gradului) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.5 Subdivizare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5 Cubice spline 29
5.1 Racordul a dou˘a arce de curb˘a B´ezier . . . . . . . . . . . . . . . 29
5.2 Cubice spline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
6 Curbe B´ezier rat ¸ionale 35
A Proiecte 38
B Algoritm pentru determinarea curburii unei curbe B´ezier 40
1
Bibliografie 42
2
Capitolul 1
Material preg˘atitor
1.1 Elemente de algebr˘a liniar˘a, geometrie afin˘a
¸si euclidian˘a
Not ¸iuni de algebr˘a liniar˘a: spat ¸iu vectorial, vector, combinat ¸ie liniar˘a, liniar
(in)dependent ¸˘a, sistem de generatori, baz˘a, 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 (strˆamb), produs scalar, norma unui
vector, versorul unui vector nenul, spat ¸iu vectorial euclidian, vectori ortogonali,
baz˘a ortonormat˘a, reper ortonormat.
Not ¸iuni de geometrie afin˘a: vectorul determinat de dou˘a puncte, combinat ¸ie
afin˘a, afin (in)dependent ¸˘a, acoperirea afin˘a a unei mult ¸imi de puncte, dreapta
determinat˘a de dou˘a 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 dou˘a puncte, mult ¸ime con-
vex˘a, ˆınchiderea (ˆınf˘a¸sur˘atoarea) convex˘a a unei mult ¸imi, aplicat ¸ie afin˘a (exem-
ple: translat ¸ie, omotetie, proiect ¸ie, simetrie).
Not ¸iuni de geometrie euclidian˘a: distant ¸a dintre dou˘a puncte, reper carte-
zian ortonormat, izometrie, proiect ¸ie central˘a.
Detalii pot fi g˘asite ˆın [8], [10], [15] [16].
1.2 Curbe parametrizate. Curbe polinomiale.
Schimb˘ari de parametru
Definit ¸ia 1.1 Fie I ⊂ R un interval. O curb˘a parametrizat˘a de clas˘a (
k
este dat˘a de o aplicat ¸ie (
k
-diferent ¸iabil˘a c : I → R
n
. Aplicat ¸ia c se nume¸ste
parametrizare, iar mult ¸imea M := Im(c) se nume¸ste imagine geometric˘a
a curbei.
Dac˘a n = 2 curba se nume¸ste plan˘a (curb˘a 2D), iar dac˘a n = 3 curba se
nume¸ste strˆamb˘a (curb˘a 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);
3
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 clas˘a (

.
(ii) Curba c
6
: [−1, 1] → R
2
, c
6
(t) = (t, t[t[) este de clas˘a (
1
, dar nu este de
clas˘a (
2
, iar curba c

6
: [−1, 1] →R
2
, c

6
(t) = (t, [t[) este de clas˘a (
0
, dar nu este
de clas˘a (
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 strˆambe de clas˘a (

.
Definit ¸ia 1.3 (i) O curb˘a polinomial˘a de grad d este o curb˘a definit˘a de
o parametrizare polinomial˘ a, i.e. de o aplicat ¸ie c = (c
1
, . . . , c
n
) : I → R
n
cu
proprietatea c˘a 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 curb˘a dat˘a de o aplicat ¸ie c : [u
0
, u
L
] → R
n
se nume¸ste polinomial˘a
pe port ¸iuni dac˘a exist˘a 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, . . . , L−1, restrict ¸ia c[
[ui,ui+1]
a aplicat ¸iei c la intervalul [u
i
, u
i+1
] s˘a fie polinomial˘a.
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 curb˘a polinomial˘a c : [a, b] → R
n
este o curb˘a polinomial˘a 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
), dac˘a t ∈ [−1, 0]
(t, t
2
), dac˘a t ∈ [0, 1].
c

6
(t) =
_
(t, −t), dac˘a t ∈ [−1, 0]
(t, t), dac˘a t ∈ [0, 1].
Definit ¸ia 1.5 Fie c : I →R
n
¸si ¯ c :
¯
I →R
n
dou˘a curbe parametrizate. Spunem
c˘a c ¸si ¯ c difer˘a printr-o schimbare de parametru (sau c˘a ¯ c a fost obt ¸inut˘a
din c printr-o schimbare de parametru) dac˘a exist˘a un difeomorfism ϕ :
¯
I → I
(numit reparametrizare) astfel ca ¯ c = c ◦ ϕ.
O reparametrizare ϕ p˘astreaz˘a (schimb˘a) orientarea dac˘a este strict
cresc˘atoare (respectiv strict descresc˘atoare).
Observat ¸ia 1.6 Printr-o reparametrizare imaginea geometric˘a a curbei consi-
derate nu se modific˘a, se schimb˘a doar ”modul” in care parcurgem curba.
4
Definit ¸ia 1.7 O schimbare afin˘a de parametru (reparametrizare
afin˘a) 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 dou˘a intervale (care nu se reduc la un punct).
Observat ¸ia 1.8 Schimb˘arile afine de parametru sunt singurele care ment ¸in o
curb˘a polinomial˘a ˆın clasa curbelor polinomiale de acela¸si grad.
Exemplul 1.9 (i) Aplicat ¸iile c
2
, c

2
¸si c

2
din exemplul 1.2 sunt parametriz˘ari
diferite ale elipsei de ecuat ¸ie
(x1−4)
2
9
+
(x2−3)
2
4
= 1. Schimb˘arile de parametru
utilizate sunt t → 3t, respectiv t → 1 −t.
(ii) Aplicat ¸ia ϕ : [0, 1] → [0, 1], ϕ(t) = 1 − t este o schimbare afin˘a de
parametru care schimb˘a orientarea. Aplicˆand aceast˘a schimbare de parametru
curbei polinomiale de gradul 2 dat˘a de c : [0, 1] →R
2
, c(t) = (t
2
+ 4t + 1, t + 2)
obt ¸inem curba parametizat˘a ¯ c : [0, 1] →R
2
, ¯ c(t) = (t
2
−6t+6, −t+3). Imaginea
geometric˘a a celor dou˘a curbe este un arc al parabolei x
1
− x
2
2
+ 3 = 0, care
une¸ste 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.
Definit ¸ia 1.10 O curb˘a dat˘a de o parametrizare injectiv˘a se nume¸ste curb˘a
simpl˘a.
Exemplul 1.11
ˆ
In exemplul 1.2 curba c
1
este simpl˘a, iar curba c
2
nu este o
curb˘a simpl˘a.
1.3 Vector tangent, vector accelerat ¸ie. Regula-
ritate
Definit ¸ia 1.12 Fie c : I → R
n
, c = (c
1
, . . . , c
n
) o parametrizare de clas˘a (
k
(k ≥ 1) a unei curbe ¸si t
0
∈ I fixat.
(i) Vectorul c

(t
0
) := (c

1
(t
0
), . . . , c

n
(t
0
)) se nume¸ste vector tangent (vec-
tor vitez˘a) la curb˘a ˆın punctul corespunz˘ator lui c(t
0
). Dreapta care trece
prin punctul c(t
0
) ¸si are direct ¸ia dat˘a de vectorul c

(t
0
) se nume¸ste tangent˘a
la curba c ˆın punctul c(t
0
).
(ii) Dreapta care trece prin punctul c(t
0
) ¸si este perpendicular˘a la tangenta
la curb˘a ˆın acest punct se nume¸ste normal˘a 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.
Definit ¸ia 1.14 Fie c : I → R
n
, c = (c
1
, . . . , c
n
) o parametrizare de clas˘a (
k
(k ≥ 1) a unei curbe
(i) Punctul c(t
0
) se nume¸ste punct regulat dac˘a c

(t
0
) ,= 0.
(ii) Punctul c(t
0
) se nume¸ste punct singular dac˘a c

(t
0
) = 0.
(iii) O curb˘a se nume¸ste regulat˘a dac˘a toate punctele sale sunt regulate.
Definit ¸ia 1.15 Fie c : I → R
n
, c = (c
1
, . . . , c
n
) o parametrizare de clas˘a (
k
(k ≥ 2) a unei curbe ¸si t
0
∈ I fixat. Vectorul c

(t
0
) := (c

1
(t
0
), . . . , c

n
(t
0
)) se
nume¸ste vector accelerat ¸ie la curb˘a ˆın punctul corespunz˘ator lui c(t
0
).
5
Propozit ¸ia 1.16 Fie c : I → R
n
¸si ¯ c :
¯
I → R
n
dou˘a parametriz˘ari de clas˘a (
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)).
ˆ
In particular, regularitatea unei curbe este o proprietate intrinsec˘a a acesteia,
ˆın sensul c˘a nu depinde de parametrizarea aleas˘a.
Definit ¸ia 1.17 Fie c : I → R
n
, c = (c
1
, . . . , c
n
) o parametrizare de clas˘a (
k
(k ≥ 1) a unei curbe ¸si [a, b] ⊂ I un interval.
(i) c
|
[a,b]
: [a, b] →R
n
se nume¸ste arc al curbei c;
(ii) lungimea arcului de curb˘a c
|
[a,b]
este L(c
|
[a,b]
) =
_
b
a
|c

(t)|dt.
Propozit ¸ia 1.18 Lungimea unui arc de curb˘a este invariant˘a la schimb˘ari de
parametru.
1.4 Racord de clas˘a (
k
al unor arce de curb˘a.
Continuitate geometric˘a
Definit ¸ia 1.19 Fie c
1
: [a, b] → R
n
¸si c
2
: [b, c] → R
n
dou˘a parametriz˘ari ale
unor arce de curb˘a.
(i) Dac˘a c
1
(b) = c
2
(b) =: P, spunem c˘a cele dou˘a arce sunt racordate ˆın
punctul P.
(ii) Racordul se nume¸ste de clas˘a (
k
dac˘a c
(l)
1
(b) = c
(l)
2
(b), oricare ar fi
l = 0, . . . , k.
Exemplul 1.20 Curbele date de parametriz˘arile
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 clas˘a (
1
care nu este de clas˘a (
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
dou˘a parametriz˘ari
ale unor arce de curb˘a care au ˆın P = c
1
(b) = c
2
(b) un racord de clas˘a (
k
(k ≥ 1). Fie ϕ : [¯ a, b] → [a, b] o schimbare de parametru astfel ca ϕ(b) = b,
dar ϕ

(b) ,= 1 (spre exemplu, o schimbare afin˘a de parametru ˆıntre intervale
de lungimi diferite) ¸si fie ¯ c
1
:= c
1
◦ ϕ curba obt ¸inut˘a ˆın urma reparametriz˘arii.
Atunci
¯ c

1
(b) = ϕ

(b) c

1
(b) ,= c

2
(b),
ceea ce arat˘a c˘a, ˆın general, racordul de clas˘a (
k
nu se p˘astreaz˘a ˆın urma
schimb˘arilor de parametru. Vectorii tangent ¸i sunt coliniari, dar nu identici.
Concret, considerˆand 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),
6
avem
¯ c
1
(0) = c
2
(0) = (1, 2); ¯ c

1
(0) = (4, 2) ,= c

2
(0) = (2, 1).
A¸sadar, de¸si parametriz˘arile ¯ c
1
¸si c
1
sunt echivalente, ele nu au acela¸si tip de
racord cu c
2
ˆın punctul (1, 2): ¯ c
1
are un racord de clas˘a (
0
, iar c
1
are un racord
de clas˘a (
1
. Remarc˘am faptul c˘a avem ¯ c

1
(0) = 2 c

2
(0).
Pentru a permite o mai mare flexibilitate ˆın racordul unor arce de curb˘a
¸si pentru a nu ”pierde” proprietatea de racord de clas˘a (
k
ˆın urma reparame-
triz˘arilor este introdus˘a not ¸iunea de continuitate geometric˘a (definit ¸ia 1.23).
Observat ¸ia 1.22 Exist˘a o clas˘a important˘a de schimb˘ari de parametru care
p˘astreaz˘a racordul de clas˘a (
k
: translat ¸iile, i.e. reparametriz˘arile 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.
ˆ
In particular, pentru a studia problema racordului de clas˘a (
k
este suficient
s˘a alegem intervalele pe care sunt definite parametriz˘arile de forma [a, 0], res-
pectiv [0, b], deoarece, printr-o schimbare de tip translat ¸ie, orice dou˘a intervale
arbitrare pot fi transformate ˆın intervale de acest tip.
Definit ¸ia 1.23 Fie c
1
: [a, 0] → R
n
¸si c
2
: [0, b] → R
n
dou˘a parametriz˘ari
ale unor arce de curb˘a astfel ca c
1
(0) = c
2
(0) =: P ¸si c

1
(0) ,= 0, c

2
(0) ,=
0. Cele dou˘a arce au ˆın punctul P un racord de clas˘a G(
k
dac˘a exist˘a o
reparametrizare (care p˘astreaz˘a orientarea) ϕ : [¯ a, 0] → [a, 0] cu ϕ(0) = 0, astfel
ˆıncˆat parametriz˘arile c
1
◦ ϕ ¸si c
2
s˘a verifice condit ¸iile de racord de clas˘a (
k
.
ˆ
In
acest caz spunem c˘a parametrizarea
c : [a, b] →R
n
, c(t) =
_
c
1
(t), dac˘a t ∈ [a, 0]
c
2
(t), dac˘a t ∈ [0, b]
are continuitate geometric˘a de clas˘a G(
k
ˆın t = 0.
Observat ¸ia 1.24
ˆ
In CAGD sunt utilizate mai ales condit ¸iile de racord de clas˘a
G(
1
¸si G(
2
, care pot fi verificate astfel: fie c
1
¸si c
2
dou˘a parametriz˘ari ca ˆın
definit ¸ia 1.23. Atunci:
(i) arcele definite de cele dou˘a parametriz˘ari au un racord de clas˘a G(
1
dac˘a
¸si numai dac˘a exist˘a o constant˘a pozitiv˘a α > 0 astfel ca
c

2
(0) = α c

1
(0)
(i.e. vectorii tangent ¸i la cele dou˘a curbe sunt coliniari ¸si au acela¸si sens);
(ii) arcele definite de cele dou˘a parametriz˘ari au un racord de clas˘a G(
2
dac˘a
¸si numai dac˘a exist˘a 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).
7
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 clas˘a au aceste racorduri, calcul˘am
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 clas˘a G(
1
care
nu este de clas˘a 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 arat˘a c˘a c
1
¸si c
3
au un racord de clas˘a G(
2
ˆın P = c
1
(0) = c
3
(0).
1.5 Curbe plane (curbe 2D)
Definit ¸ia 1.26 Fie c : I →R
2
, c = (c
1
, c
2
) o curb˘a plan˘a.
(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 curbur˘a a lui c ˆın c(t) este, prin
definit ¸ie,
1
|κc(t)|
.
Exemplul 1.27 (i) Curbura unei drepte este egal˘a cu 0 ˆın orice punct al drep-
tei: fie
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) = (0, 0),
deci κ
c
(t) = 0 pentru orice t ∈ R.
(ii) Curbura unui cerc de raz˘a r este, la rˆandul s˘au constant˘a, fiind egal˘a cu
1
r
ˆın orice punct: fie
c : R →R
2
, c(t) = (a
1
+r cos t, a
2
+r sint)
o parametrizare a cercului de centru (a
1
, a
2
) ¸si de raz˘a r. Avem
c

(t) = (−r sint, r cos t), c

(t) = (−r cos t, −r sint), ∀t ∈ R,
de unde deducem c˘a
det(c

(t), c

(t)) = det
_
−r sint −r cos t
r cos t −r sint
_
= r
2
; |c

(t)| = r;
rezultˆand imediat c˘a 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) = (−a sint, b cos t); c

(t) = (−a cos t, −b sint);
det(c

(t), c

(t)) = ab; |c

(t)| =
_
a
2
sin
2
t +b
2
cos
2
t.
ˆ
In acest caz curbura nu mai este constant˘a, ci avem κ
c
(t) =
ab
(a
2
sin
2
t+b
2
cos
2
t)
3
2
.
8
Observat ¸ia 1.28 (i) Fie c : I → R
2
o parametrizare a unei curbe 2D regulate
¸si fie ϕ :
¯
I → I o schimbare de parametru. Oricare ar fi s ∈
¯
I are loc egalitatea
κ
c◦ϕ
(s) = sgn(ϕ)κ
c
(ϕ(s)),
unde sgn(ϕ) este egal cu 1 sau −1, dup˘a cum ϕ este cresc˘atoare sau des-
cresc˘atoare (i.e. curbura unei curbe 2D este invariant˘a, pˆan˘a la semn, la schimb˘ari
de parametru).
(ii) Fie c : I → R
2
o curb˘a 2D ¸si F : R
2
→ R
2
o izometrie. Pentru orice
t ∈ I are loc egalitatea
κ
F◦c
(t) = ε(F) κ
c
(t),
unde ε(F) este 1 sau −1, dup˘a cumF p˘astreaz˘a sau schimb˘a orientarea (i.e. curbura
unei curbe 2D este invariant˘a, pˆan˘a la semn, la izometrii).
(iii) Exemplele (i) ¸si (ii) din 1.27 arat˘a c˘a dreptele ¸si cercurile sunt curbe cu
curbura constant˘a (nul˘a, respectiv nenul˘a). Reciproc, dac˘a o curb˘a 2D c : I →
R
2
cu I ⊂ R interval conex are curbura constant˘a κ
c
(t) = κ ˆın orice punct c(t),
atunci imaginea sa geometric˘a este fie inclus˘a ˆıntr-o dreapt˘a (cˆand κ = 0), fie
ˆıntr-un cerc de raz˘a
1
κ
(cˆand κ ,= 0).
(iv)
ˆ
In general, se poate pune problema ˆın ce m˘asur˘a dat˘a curbura putem
”reconstitui” curba (existent ¸˘a, unicitate). R˘aspunsul este dat de teorema fun-
damental˘a a curbelor plane (vezi, de exemplu, [11, capitolul 6]).
1.6 Curbe 3D
Definit ¸ia 1.29 Fie c : I → R
3
, c = (c
1
, c
2
, c
3
) o curb˘a 3D de clas˘a (
k
(k ≥ 3)
cu proprietatea c˘a vectorii c

(t) ¸si c

(t) sunt liniar independent ¸i, oricare ar fi
t ∈ I.
(i) Curbura lui c ˆın punctul c(t) este dat˘a de
κ(t) :=
|c

(t) c

(t)|
|c

(t)|
3
.
(ii) Torsiunea lui c ˆın punctul c(t) este dat˘a de
τ(t) :=
¸c

(t) c

(t), c

(t))
|c

(t) c

(t)|
2
.
Exemplul 1.30 (i) Consider˘am 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) = (6t, −6t, 6t), c

(t) = (6, −6, 6),
c

(t) c

(t) = (−6t, −6t, 0); |c

(t) c

(t)| = 6

2t;
κ(t) =
6

2t
(
_
2(1 + 3t
2
)
2
+ 9t
4
)
3
, τ(t) = 0.
(ii) Consider˘am curba
c : R →R
3
, c(t) = (a cos t, a sint, bt), a > 0, b ,= 0,
9
numit˘a elice circular˘a dreapt˘a.
ˆ
In acest caz avem
c

(t) = (−a sint, a cos t, b), |c

(t)| =
_
a
2
+b
2
;
c

(t) = (−a cos t, −a sint, 0), c

(t) = (a sint, −a cos t, 0);
c

(t) c

(t) = (ab sint, −ab cos t, a
2
), |c

(t) c

(t)| = a
_
a
2
+b
2
;
κ(t) =
a
a
2
+b
2
, τ(t) =
b
a
2
+b
2
.
Remarc˘am c˘a funct ¸iile curbur˘a ¸si torsiune sunt constante.
(iii) Consider˘am curba
c : R →R
3
, c(t) = (t, t
2
,
2t
3
3
).
Pentru aceast˘a curb˘a au loc egalit˘at ¸ile
c

(t) = (1, 2t, 2t
2
), |c

(t)| = 1 + 2t
2
;
c

(t) = (0, 2, 4t), c

(t) = (0, 0, 4);
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 curbur˘a ¸si torsiune nu sunt constante, dar raportul
τ
κ
este
o constant˘a.
ˆ
In general, o curb˘a pentru care raportul dintre torsiune ¸si curbur˘a
este constant, se nume¸ste elice.
Observat ¸ia 1.31 (i) Curbura unei curbe 3D este o funct ¸ie pozitiv˘a.
(ii) O curb˘a 3D are imaginea inclus˘a ˆıntr-un plan dac˘a ¸si numai dac˘a tor-
siunea sa este nul˘a ˆın orice punct al s˘au.
(iii) Fie c : I →R
3
o parametrizare a unei curbe 3D regulate ¸si fie ϕ :
¯
I → I
o schimbare de parametru. Oricare ar fi s ∈
¯
I au loc loc egalit˘at ¸ile
κ
c◦ϕ
(s) = κ
c
(ϕ(s)); τ
c◦ϕ
(s) = ε(ϕ)τ
c
(ϕ(s)).
(iv) Fie c : I → R
3
o curb˘a 3D ¸si F : R
3
→ R
3
o izometrie. Pentru orice
t ∈ I au loc relat ¸iile
κ
F◦c
(t) = κ
c
(t), τ
F◦c
(t) = ε(F) τ
c
(t).
(v) Prin analogie cu rezultatele referitoare la curbele plane, se poate pune
problema ˆın ce m˘asur˘a putem ”reconstitui” o curb˘a 3D (existent ¸˘a, unicitate)
pornind de la curbur˘a ¸si torsiune. R˘aspunsul este dat de teorema fundamental˘a
a curbelor strˆambe (vezi, de exemplu, [11, capitolul 10]).
Definit ¸ia 1.32 Fie c : I → R
3
, c = (c
1
, c
2
, c
3
) o curb˘a 3D de clas˘a (
k
(k ≥ 3)
cu proprietatea c˘a vectorii c

(t) ¸si c

(t) sunt liniar independent ¸i, oricare ar fi
t ∈ I. Triedrul Frenet ˆın punctul c(t) este format din vectorii
T(t) :=
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 curb˘a ˆın punctul c(t). Vectorii N(t)
¸si B(t) se numesc vector normal˘a principal˘a, respectiv vector binormal˘a
la curb˘a ˆın punctul respectiv.
10
Observat ¸ia 1.33 (i) Triedrul Frenet este un reper ortonormat mobil.
(ii) Formulele lui Frenet, scrise matriceal sub forma
_
_
T

N

B

_
_
=
_
_
0 vκ 0
−vκ 0 vτ
0 −vτ 0
_
_

_
_
T
N
B
_
_
, v = |c

|
arat˘a cum pot fi exprimate derivatele vectorilor triedrului Frenet ˆın reperul
asociat acestui triedru.
1.7 Elemente de geometrie diferent ¸ial˘a a supra-
fet ¸elor
Definit ¸ia 1.34 Osuprafat ¸˘a parametrizat˘a de clas˘a (
k
este dat˘a de o aplicat ¸ie
(
k
-diferent ¸iabil˘a f : U → R
3
, unde U ⊂ R
2
este o mult ¸ime (conex˘a). Aplicat ¸ia
f se nume¸ste parametrizare, iar mult ¸imea M := Im(f) se nume¸ste imagine
geometric˘a a suprafet ¸ei.
Exemplul 1.35 (i) Consider˘am (a, b) ∈ R
2
¸ ¦(0, 0)¦ ¸si
f : R
2
→R
3
, f(u, v) = (u, v, au +bv +c).
Imaginea geometric˘a a lui f este planul de ecuat ¸ie x
3
= ax
1
+bx
2
+c.
(i’) Fie P
0
∈ R
3
un punct fixat ¸si w
1
, w
2
doi vectori ortogonali de lungime
egal˘a cu 1. Atunci
f : R
2
→R
3
, f(u, v) := P
0
+u w
1
+v w
2
este o suprafat ¸˘a parametrizat˘a de clas˘a (

, a c˘arui imagine geometric˘a este
planul care trece prin P
0
¸si are subspat ¸iul director ¸w
1
, w
2
).
(ii) Fie r > 0 fixat. Aplicat ¸ia
f :
_

π
2
,
π
2
_
R →R
3
, f(u, v) = (r cos ucos v, r cos usinv, r sinu)
d˘a na¸stere unei suprafet ¸e de clas˘a (

a c˘arei imagine geometric˘a este sfera de
centru 0 ¸si raz˘a r din care au fost eliminate punctele N(0, 0, r) ¸si S(0, 0, −r).
(iii) Funct ¸ia
f : (0, 2π) R →R
3
, f(u, v) = (cos u, sinu, v)
reprezint˘a o suprafat ¸˘a a c˘arei imagine este un cilindru circular drept din care a
fost scoas˘a o dreapt˘a.
(iv) Aplicat ¸ia
f : R
2
→R
3
, f(u, v) = (ucos v, usinv, u)
este o parametrizare de clas˘ a (

a c˘arei imagine geometric˘a este conul avˆand
ecuat ¸ia x
2
1
+x
2
2
−x
2
3
= 0.
(v)
ˆ
In general, s˘a consider˘am o curb˘a plan˘a ¸si o dreapt˘a d situat˘a ˆın planul
curbei ¸si care nu intersecteaz˘a imaginea curbei. ”Rotind” imaginea geometric˘a
a curbei ˆın jurul lui d, obt ¸inem o suprafat ¸˘a de rotat ¸ie. Pentru simplitate s˘a
presupunem c˘a dreapta d este dreapta suport a axei Ox
3
, iar curba plan˘a pe
care o rotim este inclus˘a ˆın planul Ox
1
x
3
, deci are o parametrizare de forma
c : I ⊂ R →R
3
, c(t) = (ϕ(t), 0, ψ(t)), ϕ(t) ,= 0.
11
Vom presupune ˆın continuare c˘a ϕ(t) > 0. Un punct fixat P = (ϕ(t
0
), 0, ψ(t
0
))
al curbei se rote¸ste ˆın planul perpendicular pe d ce-l cont ¸ine, descriind un cerc
de centru (0, 0, ψ(t
0
)) ¸si de raz˘a ϕ(t
0
), deci, prin rotire, genereaz˘a puncte de
forma
(ϕ(t
0
) cos v, ϕ(t
0
) sinv, ψ(t
0
)).
ˆ
In consecint ¸˘a, suprafat ¸a de rotat ¸ie obt ¸inut˘a este imaginea parametriz˘arii
f : I R →R
3
, f(u, v) = (ϕ(u) cos v, ϕ(u) sinv, ψ(u)).
Cazuri particulare: Sfer˘ a (f˘ar˘a poli), cilindru, tor, hiperboloid cu o pˆanz˘a,
catenoid, pseudosfer˘a.
(vi) Aplicat ¸ia
f : (0, 2π) R →R
3
, f(u, v) = (v cos u, v sinu, au), a > 0
reprezint˘a o suprafat ¸˘a numit˘a elicoid drept.
Observat ¸ia 1.36 Pentru a obt ¸ine informat ¸ii suplimentare despre forma unei
suprafet ¸e este util s˘a consider˘am curbe (cˆat mai convenabile) situate pe aceast˘a
suprafat ¸˘a.
De exemplu, s˘a consider˘ am sfera din exemplul 1.35 (ii) ¸si s˘a fix˘am (u
0
, v
0
) ∈
_

π
2
,
π
2
_
. Curbele
v → f(u
0
, v), u → f(u, v
0
)
reprezint˘a un cerc paralel, respectiv un cerc meridian al sferei.
ˆ
In cazul elicoidului drept, dac˘a fix˘am (u
0
, v
0
) cu u
0
,= 0, f(, v
0
) curba
reprezint˘a o port ¸iune a unei elice circulare drepte, iar curba f(u
0
, ) reprezint˘a
normala la aceast˘a curb˘a ˆın punctul f(u
0
, v
0
).
Definit ¸ia 1.37 Fie f : U →R
3
o suprafat ¸˘a. Pentru (u
0
, v
0
) ∈ U fixat, curbele
v → f(u
0
, v), u → f(u, v
0
)
se numesc curbe coordonate (duse prin punctul f(u
0
, v
0
)).
Notat ¸ie. Fie f : U → R
3
o suprafat ¸˘a de clas˘a (
k
(k ≥ 1). Fix˘am (u
0
, v
0
) ∈ U
¸si not˘am
f
u
(u
0
, v
0
) :=
∂f
∂u
(u
0
, v
0
), f
v
(u
0
, v
0
) :=
∂f
∂v
(u
0
, v
0
).
Definit ¸ia 1.38 Fie f : U →R
3
o suprafat ¸˘a parametrizat˘a.
(i) f se nume¸ste regulat˘a ˆın punctul (u
0
, v
0
) dac˘a vectorii f
u
(u
0
, v
0
),
f
v
(u
0
, v
0
) sunt liniar independent ¸i.
ˆ
In acest caz f(u
0
, v
0
) (sau (u
0
, v
0
)) se
nume¸ste punct regulat, ˆın caz contrar se nume¸ste punct singular.
(ii) f se nume¸ste suprafat ¸˘a regulat˘a dac˘a este regulat˘a ˆın orice punct al
s˘au.
Exemplul 1.39 (i) Planul, sfera, elicoidul drept sunt suprafet ¸e regulate.
(ii) Punctul f(0, 0) al conului este singular, restul sunt puncte regulate.
Observat ¸ia 1.40 Vectorii f
u
(u
0
, v
0
), f
v
(u
0
, v
0
) sunt vectorii tangent ¸i ai curbe-
lor coordonate care trec prin punctul f(u
0
, v
0
).
Observat ¸ie.
ˆ
In cele ce urmeaz˘a vom considera suprafet ¸e parametrizate regulate
de clas˘a (
k
(k ≥ 2).
12
Definit ¸ia 1.41 Fie f : U →R
3
o suprafat ¸˘a, fie (u, v) ∈ U fixat.
(i) Spat ¸iul (vectorial) tangent la suprafat ¸˘aˆın f(u, v) este planul T
(u,v)
:=
¸f
u
(u, v), f
v
(u, v)) generat de vectorii f
u
(u, v), f
v
(u, v).
(ii) Planul tangent la suprafat ¸˘a ˆın punctul f(u, v) este planul care trece
prin punctul f(u, v) ¸si are direct ¸ia dat˘a de planul vectorial T
(u,v)
.
(iii) Normala la suprafat ¸˘a ˆın punctul f(u, v) este dreapta care trece prin
f(u, v) ¸si este perpendicular˘ a pe T
(u,v)
.
Observat ¸ia 1.42 Un vector director al normalei la suprafat ¸˘a ˆın f(u, v) este
N(u, v) =
f
u
(u, v) f
v
(u, v)
|f
u
(u, v) f
v
(u, v)|
.
Definit ¸ia 1.43 Sistemul de vectori
¦f
u
(u, v), f
v
(u, v), N(u, v)¦
se nume¸ste reper Gauss la suprafat ¸˘a ˆın punctul f(u, v).
Definit ¸ia 1.44 Fie f : U →R
3
o suprafat ¸˘a, fie (u, v) ∈ U fixat. Numerele
E(u, v) := ¸f
u
(u, v), f
u
(u, v)),
F(u, v) := ¸f
u
(u, v), f
v
(u, v)),
G(u, v) := ¸f
v
(u, v), f
v
(u, v))
se numesc coeficient ¸ii primei forme fundamentale a suprafet ¸ei ˆın f(u, v).
Observat ¸ia 1.45 (i) Au loc inegalit˘at ¸ile
E(u, v) > 0, G(u, v) > 0, E(u, v)G(u, v) −F(u, v)
2
> 0.
(ii) Atunci cˆand (u, v) variaz˘a ˆın U, se obt ¸in funct ¸ii E, F, G : U → R
(coeficient ¸ii primei forme fundamentale).
Exemplul 1.46 (i) Pentru planul din exemplul 1.35 (i’) se obt ¸in vectorii
f
u
(u, v) = w
1
, f
v
(u, v) = w
2
, N(u, v) = w
1
w
2
iar coeficient ¸ii primei forme fundamentale sunt funct ¸iile constante
E = 1, F = 0, G = 1.
(ii) Pentru cilindrul din exemplul 1.35 (iii) avem, oricare ar fi (u, v):
f
u
(u, v) = (−sinu, cos u, 0), f
v
(u, v) = (0, 0, 1), N(u, v) = (cos u, sinu, 0);
E(u, v) = 1, F(u, v) = 0, G(u, v) = 1.
ˆ
In particular, avem dou˘a suprafet ¸e diferite avˆand aceia¸si coeficient ¸i ai primei
forme fundamentale.
(iii) Pentru sfera din exemplul 1.35 (ii) avem
f
u
(u, v) = (−r sinucos v, −r sinusinv, r cos u),
f
v
(u, v) = (−r cos usinv, r cos ucos v, 0),
N(u, v) = (−cos ucos v, −cos usinv, −sinu);
E(u, v) = r
2
, F(u, v) = 0, G(u, v) = r
2
cos
2
u.
13
Observat ¸ia 1.47 Coeficient ¸ii primei forme fundamentale sunt utilizat ¸i pentru
a efectua ”m˘asur˘atori” pe suprafat ¸˘a (lungimi de curbe, unghiuri ˆıntre curbe, arii
ale unor port ¸iuni de suprafat ¸˘a) f˘ar˘a a ne raporta la spat ¸iul ambiant R
3
. Ge-
ometria intrinsec˘a a suprafet ¸ei este format˘a din acele propriet˘at ¸i geometrice
care depind numai de coeficient ¸ii primei forme fundamentale.
Definit ¸ia 1.48 Fie f : U →R
3
o suprafat ¸˘a, fie (u, v) ∈ U fixat. Numerele
E
II
(u, v) := ¸N(u, v), f
uu
(u, v)),
F
II
(u, v) := ¸N(u, v), f
uv
(u, v))(= ¸N(u, v), f
vu
(u, v))),
G
II
(u, v) := ¸N(u, v), f
vv
(u, v))
se numesc coeficient ¸ii celei de-a doua forme fundamentale a suprafet ¸ei
ˆın f(u, v).
Exemplul 1.49 (i) Pentru planul din exemplul 1.35 (i’) iar coeficient ¸ii celei
de-a doua forme fundamentale sunt funct ¸iile constante
E
II
= 0, F
II
= 0, G
II
= 0.
(ii) Pentru cilindrul din exemplul 1.35 (iii) avem, oricare ar fi (u, v):
E
II
(u, v) = −1, F
II
(u, v) = 0, G
II
(u, v) = 0.
(iii) Pentru sfera din exemplul 1.35 (ii) avem
E
II
(u, v) = r, F
II
(u, v) = 0, G
II
(u, v) = r cos
2
u.
Definit ¸ia 1.50 Fie f : U →R
3
o suprafat ¸˘a, fie (u, v) ∈ U fixat.
(i) Matricea operatorului Weingarten ˆın f(u, v) este definit˘a prin
A(u, v) :=
_
E F
F G
_
−1

_
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 (total˘a) 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 curbur˘a medie, res-
pectiv curbur˘a 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.
14
(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
.
Definit ¸ia 1.53 Fie f : U →R
3
o suprafat ¸˘a. Un punct f(u, v) se nume¸ste
(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 alt˘a parte, torul este o suprafat ¸˘a care are puncte eliptice,
parabolice ¸si hiperbolice.
Propozit ¸ia 1.55 (O interpretare geometric˘a a curburii Gauss)
(i) Dac˘a un punct P al unei suprafet ¸e este eliptic, atunci exist˘a o vecin˘atate
a sa astfel ca toate punctele acestei vecin˘at˘at ¸i s˘a fie situate de aceea¸si parte a
planului tangent la suprafat ¸˘a ˆın P.
(ii) Dac˘a un punct P al unei suprafet ¸e este hiperbolic, atunci pentru orice
vecin˘atate a lui P pot fi g˘asite puncte ale acesteia ¸si de o parte ¸si de cealalt˘a
parte a planului tangent.
Teorema 1.56 (Theorema Egregium, Gauss) Curbura total˘a t ¸ine de geo-
metria intrinsec˘a a suprafet ¸ei.
Teorema 1.57 (Gauss) Fie T un triunghi geodezic al unei suprafet ¸e
f : U →R
3
cu f injectiv˘a ¸si fie ϕ
1
, ϕ
2
, ϕ
3
unghiurile lui T. Are loc egalitatea
ϕ
1

2

3
−π =
_
T
Kdσ,
unde _
T
Kdσ =
_ _
f
−1
(T)
K(u, v)
_
EG−F
2
dudv.
Mai multe not ¸iuni ¸si rezultate referitoare la teoria curbelor ¸si a suprafet ¸elor,
precum ¸si numeroase exemple, pot fi g˘asite ˆın lucr˘arile [11], [9], [14] ¸si [12].
15
Capitolul 2
Interpolare polinomial˘a
ˆ
In acest capitol ne propunem s˘a indic˘am o solut ¸ie pentru urm˘atoarea problem˘a:
Problema 2.1 Se consider˘a un sistem de puncte p
0
, p
1
, . . . , p
n
(poligon de
control) din planul R
2
, precum ¸si un ¸sir de numere reale t
0
< t
1
< . . . < t
n
.
S˘a se construiasc˘a o curb˘a polinomial˘a care s˘a interpoleze punctele date, i.e. o
curb˘a c : R → R
2
cu proprietatea c˘a
c(t
0
) = p
0
, c(t
1
) = p
1
, . . . , c(t
n
) = p
n
.
2.1 Segmente. Interpolare liniar˘a (afin˘a)
Discut˘am mai ˆıntˆai cazul ˆın care n = 1, deci pornim la drum cu dou˘a puncte,
p
0
¸si p
1
.
ˆ
In cazul particular ˆın care t
0
= 0 ¸si t
1
= 1, curba parametrizat˘a
c : R → R
2
, c(s) = (1 −s)p
0
+sp
1
,
a c˘arei imagine geometric˘a este dreapta p
0
p
1
reprezint˘a o solut ¸ie a problemei
considerate. Mai mult, pentru s ∈ [0, 1], se obt ¸in punctele segmentului [p
0
, p
1
],
pentru s < 0 se obt ¸in punctele p de pe dreapta p
0
p
1
cu proprietatea c˘a p
0
este
strict ˆıntre p ¸si p
1
, etc.
Fie acum t
0
< t
1
dou˘a numere reale. Pentru a construi o curb˘a cu proprie-
tatea cerut˘a, trebuie s˘a g˘asim o aplicat ¸ie care s˘a fac˘a ”trecerea” ˆıntre intervalele
[t
0
, t
1
] ¸si [0, 1], cu alte cuvinte s˘a reparametriz˘am curba de mai sus. Cea mai
simpl˘a posibilitate (dar nu singura!) este de a considera schimbarea afin˘a de
parametru ϕ : R → R, ϕ(s) = (1 −s)t
0
+st
1
, a c˘arei invers˘a este aplicat ¸ia G˘asit ¸i ¸si alte schimb˘ari
de parametru ˆıntre in-
tervalele [0, 1] ¸si [t0, t1].
ψ : [t
0
, t
1
] → [0, 1], ψ(t) =
t −t
0
t
1
−t
0
.
ˆ
In concluzie, compunerea s : [t
0
, t
1
] → R
2
, s := c ◦ ψ, reprezint˘a 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 cap˘atul p
0
care nu ˆıl cont ¸ine
pe p
1
, ¸s.a.m.d.
16
p
0
= s(t
0
) p
1
= s(t
1
)
. ¸¸ . . ¸¸ . . ¸¸ .
t < t
0
t
0
< t < t
1
t > t
1
Avˆand ˆın vedere c˘a am utilizat combinat ¸ii afine ale punctelor p
0
¸si p
1
pen-
tru a obt ¸ine punctele curbei s, spunem c˘a aceast˘a curb˘a a fost obt ¸inut˘a prin
interpolare afin˘a. Prin abuz de limbaj, metoda mai este numit˘a ¸si interpolare
liniar˘a.
2.2 Algoritmul lui Aitken
ˆ
Inainte de a discuta situat ¸ia general˘a, analiz˘am cazul n = 2. Fie, a¸sadar, p
0
, p
1
¸si p
2
trei puncte din plan, precum ¸si t
0
< t
1
< t
2
trei numere reale. O prim˘a
curb˘a care satisface condit ¸ia din enunt ¸ este dat˘a de reuniunea semidreptelor
p
0
p
1
] ¸si [p
1
p
2
.
ˆ
In cazul ˆın care cele trei puncte considerate nu sunt colini-
are, aceast˘a curb˘a are clas˘a (
0
ˆın p
1
, dar nu are clas˘a (
1
ˆın acest punct (de
ce?). Pentru a construi o curb˘a neted˘a cu proprietatea cerut˘a, vom utiliza o
interpolare afin˘a repetat˘a. Definim mai ˆıntˆai punctele
p
1
0
(t) =
t
1
−t
t
1
−t
0
p
0
+
t −t
0
t
1
−t
0
p
1
,
Analizat ¸i pozit ¸ia punc-
telor p
1
0
(t), respectiv
p
1
0
(t), pentru t ∈ [t0, t2].
p
1
1
(t) =
t
2
−t
t
2
−t
1
p
1
+
t −t
1
t
2
−t
1
p
2
,
care sunt situate pe dreptele p
0
p
1
, respectiv p
1
p
2
. Ment ¸ion˘am faptul c˘a pen-
tru t = t
1
cele dou˘a puncte coincid cu t
1
; avem, de asemenea, egalit˘at ¸ile
p
1
0
(t
0
) = p
0
, p
1
1
(t
2
) = p
2
. Ideea de baz˘a a algoritmului este de a efectua o
nou˘a interpolare afin˘a, cˆat mai convenabil˘a, de aceast˘a dat˘a a punctelor nou
construite p
1
0
¸si p
1
1
. Fie, a¸sadar
p
2
0
(t) :=
t
2
−t
t
2
−t
0
p
1
0
(t) +
t −t
0
t
2
−t
0
p
1
1
(t).
Acest punct, descrie de fapt o curb˘a
c : R → R
2
, c(t) := p
2
0
(t).
Putem determina explicit punctul c ˆın funct ¸ie de punctele init ¸iale p
0
, p
1
, p
2
: un
calcul direct arat˘a c˘a avem Demonstrat ¸i relat ¸ia
(2.1).
c(t) =
(t −t
1
)(t −t
2
)
(t
0
−t
1
)(t
0
−t
2
)
p
0
+
(t −t
0
)(t −t
2
)
(t
1
−t
0
)(t
1
−t
2
)
p
1
+
(t −t
0
)(t −t
1
)
(t
2
−t
0
)(t
2
−t
1
)
p
2
. (2.1)
Curba c astfel construit˘a este neted˘a (are clas˘a (

), fiind polinomial˘a ˆın t. Ea
verific˘a ¸si condit ¸iile de interpolare a punctelor date p
0
, p
1
¸si p
2
, reprezentˆand
o solut ¸ie a problemei date.
Metoda indicat˘a poate fi generalizat˘a cu u¸surint ¸˘a pentru cazul n arbitrar,
obt ¸inˆand algoritmul lui Aitken ˆın forma general˘a (mai sus acest algoritm
a fost prezentat pentru cazul n = 2). Fie, a¸sadar, p
0
, p
1
, . . . , p
n
∈ R
2
¸si
t
0
< t
1
< . . . < t
n
numere reale. Not˘am
p
0
i
:= p
i
, ∀i = 0, . . . , n.
17
Pentru r = 1, . . . , n ¸si i = 0, . . . , n − r ¸si t ∈ R fixat se construiesc inductiv,
folosind interpolarea afin˘a, punctele
p
r
i
(t) :=
t
i+r
−t
t
i+r
−t
i
p
r−1
i
(t) +
t −t
i
t
i+r
−t
i
p
r−1
i+1
(t). (2.2)
Observat ¸ia 2.2 (i) Direct din relat ¸iile (2.2) se poate deduce c˘a pentru orice
r = 1, . . . , n, i = 0, . . . , n −r este verificat ¸sirul de egalit˘at ¸i Verificat ¸i ¸sirul de ega-
lit˘at ¸i al˘aturat.
p
r
i
(t
i+r
) = p
r−1
i+1
(t
i+r
) = . . . = p
0
i+r
(t
i+r
) = p
i+r
,
de unde rezult˘a c˘a aplicat ¸ia t → p
r
i
(t) reprezint˘a o curb˘a parametrizat˘a care in-
terpoleaz˘a punctele p
i
, p
i+1
, . . . , p
i+r
, astfel ˆıncˆat 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) reprezint˘a o solut ¸ie a
problemei 2.1.
(ii) Curba c poate fi descris˘a 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 fiind 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 c˘a avem pentru orice t ∈ R relat ¸ia
c(t) =
n

i=0
L
n
i
(t)p
i
.
(iii) Curba c construit˘a mai sus are proprietatea de invariant ¸˘a afin˘a. Ast- Demonstrat ¸i afirmat ¸ia
(iii), folosind relat ¸ia

n
i=0
L
n
i
(t) = 1.
fel, dac˘a p
0
, p
1
, . . . , p
n
este un poligon de control, c curba dat˘a de algoritmul
lui Aitken ¸si ϕ : R
2
→ R
2
o transformare afin˘a, atunci curba ϕ◦ c interpoleaz˘a
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 convex˘a 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.
18
Capitolul 3
Curbe B´ezier
Am v˘azut ˆın capitolul anterior cum, dat un poligon de control (p
0
, p
1
, . . . , p
n
),
putem construi o curb˘a polinomial˘a care s˘a interpoleze aceste puncte. Pe de
alt˘a parte, unele propriet˘at ¸i ale acestui tip de curbe (de exemplu, faptul c˘a nu
sunt incluse ˆın acoperirea convex˘a a punctelor poligonului de control) fac ca
acestea s˘a nu fie practice ˆın aplicat ¸ii legate de grafica pe calculator.
ˆ
In anii ’60,
independent unul de cel˘alalt, Paul de Casteljau ¸si Pierre B´ezier au investigat
o alt˘a clas˘a de curbe, care, chiar dac˘a nu au proprietatea de interpolare, au
alte propriet˘at ¸i geometrice remarcabile ¸si care mai ales, s-au dovedit a fi foarte
utile ˆın inginerie ¸si, ulterior, ˆın CAGD: curbele B´ezier. La fel ca ¸si curbele
de interpolare, curbele B´ezier pot fi construite folosind fie metode de natur˘a
geometric˘a (algoritmul de Casteljau), fie utilizˆand 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 parabol˘a. Presupunem Demonstrat ¸ia se face
alegˆand un reper ˆın
care parabola s˘a aib˘a
o ecuat ¸ie cˆat mai
convenabil˘a.
c˘a tangenta la parabol˘a dus˘ a prin p
i
intersecteaz˘a tangenta la parabol˘a prin p
j
ˆın punctul p
ij
(i, j = 0, 1, 2, i ,= j). Atunci au loc egalit˘at ¸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 util˘a pentru construirea punctelor unei pa-
rabole cˆand se dau dou˘a puncte ale acesteia ¸si tangentele la parabol˘a 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, cˆand t variaz˘a ˆın R, o parabol˘a, 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 c˘arei 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
une¸ste punctele b
0
¸si b
2
.
19
Exemplul 3.2 Consider˘am 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 Consider˘am 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) corespunz˘atoare valorilor t =
1
2
¸si t =
1
4
.
Algoritmul de Casteljau, forma general˘a
Fie b
0
, b
1
, . . . , b
n
∈ R
m
. Pentru t ∈ R se noteaz˘a b
0
i
(t) := b
i
(i = 0, . . . , n) ¸si
se definesc punctele Scriet ¸i explicit aceste
relat ¸ii pentru n = 3.
b
r
i
(t) := (1 −t)b
r−1
i
(t) +tb
r−1
i+1
(t),
_
r = 1, . . . , n
i = 0, . . . , n −r
(3.1)
Definit ¸ia 3.4 Punctul b
n
0
(t) descrie, cˆand t variaz˘a, o curb˘a, notat˘a 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 nume¸ste poligon de control.
Observat ¸ia 3.5 Punctele intermediare pot fi scrise ˆıntr-un tablou triunghiular,
numit schem˘a de Casteljau. Consider˘am, de exemplu, n = 2 ¸si fix˘am t
0

[0, 1]. Schema de Casteljau corespunz˘atoare 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] fixat, schema asociat˘a 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 corespunz˘atoare punctelor b
0
, b
1
, b
2
din exemplul 3.2 ¸si valorii t
0
=
1
3
este Scriet ¸i schema de Cas-
teljau corespunz˘atoare
acelora¸si puncte ¸si
valorii t =
1
2
.
(0, 6)
(6, 6) (2, 6)
(6, 0) (6, 4) (
10
3
,
16
3
).
(ii) Consider˘am punctele
b
0
= (1, −2), b
1
= (3, 2), b
2
= (3, −2), b
3
= (−3, −2).
Schema de Casteljau corespunz˘atoare 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
).
20
Exercit ¸iul 3.7 Scriet ¸i schema de Casteljau corespunz˘atoare 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 B´ezier
Definit ¸ia 3.8 Pentru n ∈ N fixat, polinoamele Bernstein de grad n sunt
definite prin
B
n
i
(t) = C
i
n
t
i
(1 −t)
n−i
, i ∈ ¦0, . . . , n¦,
unde C
i
n
=
n!
i!(n−i)!
. Prin convent ¸ie, definim B
n
i
(t) = 0, dac˘a 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 definesc prin
B
[a,b],n
i
(u) = C
i
n
_
u −a
b −a
_
i
_
b −u
b −a
_
n−i
, u ∈ [a, b],
i.e. B
[a,b],n
i
(u) = B
n
i
_
u−a
b−a
_
, pentru orice u ∈ [a, b].
Propozit ¸ia 3.11 (Propriet˘at ¸i ale polinoamelor Bernstein)
(i) Polinoamele Bernstein sunt nenegative pe intervalul [0, 1].
(ii) Pentru orice num˘ar natural n, polinoamele Bernstein de grad n formeaz˘a
o partit ¸ie a unit˘at ¸ii
n

i=0
B
n
i
(t) = 1.
(iii) Polinoamele Bernstein verific˘a relat ¸ia de recurent ¸˘a
B
n
i
(t) = (1 −t)B
n−1
i
(t) +tB
n−1
i−1
(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
.
Definit ¸ia 3.12 Fie (b
0
, . . . , b
n
) o mult ¸ime ordonat˘a de puncte din R
m
, numit˘a
poligon de control. Curba B´ezier b : [0, 1] → R
m
definit˘a de poligonul de De ce este important˘a
relat ¸ia

n
i=0
B
n
i
(t) =
1?
control (b
0
, . . . , b
n
) este dat˘a de formula
b(t) :=
n

i=0
B
n
i
(t)b
i
.
21
Exemplul 3.13 Consider˘am poligonul de control
b
0
= (1, 0), b
1
= (1, 1), b
2
= (0, 2).
Curba B´ezier asociat˘a 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 dac˘a punctul
b1 apart ¸ine curbei.
Stabilim, ˆın continuare, dac˘a punctul (
3
4
, 1) apart ¸ine imaginii lui b. Aceasta
este echivalent cu a g˘asi 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 c˘a (
3
4
, 1) ∈ Imb, mai precis,
(
3
4
, 1) = b(
1
2
).
Exercit ¸iul 3.14 Consider˘am poligonul de control
b
0
= (1, 1), b
2
= (2, 0), b
3
= (0, 0)
¸si fie b : [0, 1] → R
2
curba B´ezier asociat˘a. Calculat ¸i b(
1
3
) ¸si stabilit ¸i dac˘a
punctul (1,
1
3
) apart ¸ine imaginii lui b.
Observat ¸ia 3.15 Polinoamele Bernstein de grad n, B
n
0
, . . . , B
n
n
, formeaz˘a o
baz˘a 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 curb˘a polinomial˘a de grad n poate fi scris˘a sub forma unei
curbe B´ezier.
Exemplul 3.16
ˆ
In spat ¸iul vectorial al polinoamelor de grad mai mic sau egal
cu 2 avem egalit˘at ¸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 polinomial˘a
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 B´ezier asociat˘a 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-
mial˘a
c : [0, 1] → R
2
, c(t) = (2 −4t +t
2
, 2 −2t + 2t
2
).
Exemplul 3.18 (i) Curba B´ezier asociat˘a unui sistem de dou˘a puncte distincte
b
0
, b
1
are ca imagine geometric˘a segmentul de dreapt˘a determinat de acestea.
(ii) Dac˘a punctele de control b
0
, b
1
, b
2
sunt coliniare, cu b
1
situat ˆıntre b
0
¸si b
2
, atunci curba B´ezier asociat˘a are gradul 1, imaginea sa fiind segmentul
[b
0
b
2
].
22
Teorema 3.19 (Leg˘atura dintre forma Bernstein ¸si algoritmul de Cas-
teljau) Fie (b
0
, . . . , b
n
) un poligon de control din R
m
. Atunci:
(i) Curba B´ezier b
n
construit˘a cu algoritmul de Casteljau poate fi scris˘a sub Demonstrat ¸i aceast˘a
relat ¸ie pentru n = 2.
forma
b
n
(t) =
n

i=0
B
n
i
(t)b
i
,
deci curba B´ezier b
n
construit˘a cu ajutorul algoritmului de Casteljau coincide
cu curba B´ezier b definit˘a cu ajutorul polinoamelor Bernstein.
(ii) Punctele intermediare de Casteljau b
r
i
pot fi exprimate prin egalit˘at ¸ile
b
r
i
(t) =
r

j=0
B
r
j
(t)b
i+j
, ∀r = 0, . . . , n, ∀i = 0, . . . , n −r,
ceea ce arat˘a c˘a aceste puncte descriu, la rˆandul lor, ni¸ste curbe B´ezier. Mai
precis, pentru r fixat ¸si i = 0, . . . , n − r, punctul b
r
i
(t) descrie, cˆand t variaz˘a,
curba B´ezier asociat˘a poligonului de control (b
i
, b
i+1
, . . . , b
i+r
).
(iii) Punctele curbei B´ezier pot fi scrise cu ajutorul punctelor intermediare
de Casteljau sub forma
b(t) =
n−r

i=0
B
n−r
i
(t)b
r
i
(t), ∀r = 0, . . . , n.
23
Capitolul 4
Propriet˘at ¸i ale curbelor
B´ezier
4.1 Propriet˘at ¸i elementare
Folosind fie algoritmul de Casteljau, fie forma Bernstein a curbelor B´ezier pot
fi deduse imediat urm˘atoarele propriet˘at ¸i ale acestui tip de curbe:
Propozit ¸ia 4.1 Fie (b
0
, . . . , b
n
) un poligon de control din R
m
. Curba B´ezier
asociat˘a b : [0, 1] → R
m
are urm˘atoarele propriet˘at ¸i:
Dat ¸i exemple de poli-
goane de control pentru
care curba asociat˘a are
gradul exact n, respectiv
mai mic decˆat n.
(i) b este o curb˘a polinomial˘a, avˆand gradul mai mic sau egal cu n;
(ii) curba b interpoleaz˘a extremit˘at ¸ile poligonului de control, i.e. au loc
relat ¸iile b(0) = b
0
, b(1) = b
n
; ˆın particular, dac˘a poligonul de control este
ˆınchis, curba B´ezier asociat˘a este ˆınchis˘a;
(iii) proprietatea acoperirii convexe: punctele curbei B´ezier b se afl˘a ˆın
acoperirea convex˘a a punctelor de control;
(iv) invariant ¸˘a afin˘a: dac˘a τ : R
m
→ R
m
este o transformare afin˘a, atunci
curba B´ezier asociat˘a poligonului de control (τ(b
0
), . . . , τ(b
n
)) este curba τ(b);
Ce aplicat ¸ii au pro-
priet˘at ¸ile (iv) ¸si (v)?
(v) invariant ¸˘a la combinat ¸ii baricentrice: fie (b
0
, . . . , b
n
), respectiv
(
¯
b
0
, . . . ,
¯
b
n
) dou˘a poligoane de control ¸si b, respectiv
¯
b curbele B´ezier cores-
punz˘atoare. Pentru orice α ∈ R, curba B´ezier asociat˘a poligonului de control
((1 −α)b
0

¯
b
0
, . . . , (1 −α)b
n
+
¯
b
n
) este curba (1 −α)b +α
¯
b.
(vi) dac˘a
¯
b : [0, 1] → R
m
este curba B´ezier asociat˘a poligonului de control
(b
n
, . . . , b
0
), atunci
¯
b(t) = b(1 − t), ˆın particular, cele dou˘a curbe au aceea¸si
imagine geometric˘a.
4.2 Derivatele unei curbe B´ezier
Definit ¸ia 4.2 (i) Operatorul de diferent ¸iere ˆın avans ∆ este definit 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 define¸ste Calculat ¸i explicit ∆
2
pentru punctele unui
poligon de control
(b0, b1, b2, b3).

r
b
i
:= ∆
r−1
(∆b
i
), pentru i = 0, . . . , n −r.
24
Propozit ¸ia 4.3 Fie (b
0
, . . . , b
n
) un poligon de control din R
m
¸si fie b : [0, 1] →
R
m
curba B´ezier asociat˘a. Derivatele funct ¸iei b sunt date de formulele
b
(k)
(t) =
n−k

i=0
_
n!
(n −k)!

k
b
i
_
B
n−k
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

(1) = Calculat ¸i vectorii b

(0)
¸si b

(1) direct, folosind
forma Bernstein.
n(b
n
− b
n−1
), cu alte cuvinte, vectorii tangent ¸i la curba B´ezier ˆın punctele
b
0
(respectiv b
n
) sunt coliniari ¸si au acela¸si sens cu vectorii
−−−−−→
b
0
b
1
(respec-
tiv
−−−−−→
b
n−1
b
n
).
ˆ
In cazul ˆın care ace¸sti vectori sunt nenuli, ei reprezint˘a direct ¸ia
tangentelor la curb˘a ˆın punctele respective.
(ii) Pentru orice t ∈ [0, 1] are loc egalitatea Explicat ¸i ce devine
aceast˘ a afirmat ¸ie pentru
t = 0 ¸si t = 1.
b

(t) = n(b
n−1
1
(t) −b
n−1
0
(t)),
cu alte cuvinte, punctele construite ˆın etapa (n−1) a algoritmului de Casteljau
determin˘a vectorul tangent la curba B´ezier ˆın punctul b(t).
Exemplul 4.5 Pentru schema de Casteljau din exemplul 3.6 (ii), vectorul tan-
gent la curb˘a corespunz˘ator valorii t =
1
2
a parametrului este (−3, −3).
Exercit ¸iul 4.6 Consider˘am punctele b
0
= (4, 2), b
1
= (4, 4), b
2
= (2, 4) ¸si
fie b : [0, 1] → R
2
curba B´ezier asociat˘a poligonului de control (b
0
, b
1
, b
2
).
Determinat ¸i vectorii tangent ¸i la aceast˘a curb˘a ˆın punctele b(0), b(
1
2
), b(1).
Exercit ¸iul 4.7 Dac˘a punctele b
0
, b
1
, b
2
, b
3
sunt vˆarfurile unui p˘atrat, stabilit ¸i
care este punctul obt ¸inut aplicˆand algoritmul de Casteljau pentru valoarea pa-
rametrului t =
1
2
¸si care este tangenta la curb˘a ˆın acest punct.
4.3 Modificarea unei curbe B´ezier
(i) Deplasarea unui punct de control
Fie (b
0
, . . . , b
j−1
, b
j
, b
j+1
, . . . , b
n
), respectiv (b
0
, . . . , b
j−1
,
¯
b
j
, b
j+1
, . . . , b
n
) dou˘a
poligoane de control ¸si fie b, respectiv
¯
b curbele B´ezier asociate. Folosind ex-
primarea ˆın forma Bernstein, deducem c˘a 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
arat˘a c˘a, dac˘a deplas˘am punctul
b(t) ˆıntr-o anumit˘a direct ¸ie, fiecare punct al curbei B´ezier se deplaseaz˘a de-a
lungul aceleia¸si direct ¸ii. Lungimea segmentului parcurs difer˘a ˆıns˘a ˆın funct ¸ie
de t.
ˆ
In cazul ˆın care j ∈ ¦1, . . . , n¦ extremit˘at ¸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).
r˘amˆan neschimbate. Curba are cea mai vizibil˘a modificare ˆıntr-o vecin˘atate a
punctului b(
j
n
), deoarece funct ¸ia B
n
j
are un maxim pentru t =
j
n
. Situat ¸ia este
asem˘an˘atoareˆın cazul ˆın care j ∈ ¦0, n¦ (deci modific˘am una dintre extremit˘at ¸i):
de exemplu, dac˘a j = 0, punctul b
n
r˘amˆane pe loc ¸si curba este afectat˘a cel
mai mult ˆın vecin˘atatea lui b
0
.
(ii) Inserarea repetat˘a a unui punct de control
Fie (b
0
, . . . , b
j−1
, b
j
, b
j+1
, . . . , b
n
) un poligon de control cu n + 1 puncte de
control ¸si b curba B´ezier asociat˘a. Utilizˆand scrierea Bernstein a curbei b,
25
deducem c˘a ponderea punctului b
j
este B
n
j
(t) = C
j
n
t
j
(1 − t)
n−j
. Inserˆand ˆın
mod repetat (de k ori) punctul b
j
, obt ¸inem poligonul cu n+k puncte de control
(b
0
, . . . , b
j−1
, b
j
, . . . , b
j
. ¸¸ .
k ori
, b
j+1
, . . . , b
n
).
Considerˆand curba B´ezier
¯
b asociat˘a, rezult˘a c˘a ponderea punctului b
j
ˆın curba Comparat ¸i cele dou˘a
ponderi ˆın cazul k = 2.
¯
b este mai mare decˆat ponderea lui b
j
ˆın curba b, deci curba
¯
b este mai ”apro-
piat˘a” de b
j
.
Este de ret ¸inut faptul c˘a din punct de vedere al imaginii geometrice cele dou˘a
poligoane coincid, ˆıns˘a privite ca poligoane de control (i.e. ca mult ¸imi ordonate
de puncte) sunt distincte ¸si, ˆın consecint ¸˘a, curbele B´ezier asociate sunt diferite.
4.4 Generarea unei curbe B´ezier cu poligoane
de control diferite (m˘arirea gradului)
Observat ¸ia 4.8 Fie b
0
, b
1
, b
2
puncte coliniare distincte, cu b
1
situat ˆıntre b
0
Cum verificat ¸i dac˘a b1
este situat ˆıntre b0 sau
b2?
¸si b
2
. Curba B´ezier asociat˘a poligonului de control (b
0
, b
2
) este dat˘a prin relat ¸ia
b(t) = (1 −t)b
0
+tb
2
,
fiind o curb˘a polinomial˘a de gradul ˆıntˆai ¸si avˆand ca imagine geometric˘a seg-
mentul [b
0
b
2
]. Curba B´ezier asociat˘a poligonului de control (b
0
, b
1
, b
2
) admite
parametrizarea
¯
b(t) = (1 −t)
2
b
0
+ 2t(1 −t)b
1
+t
2
b
2
,
fiind o curb˘a polinomial˘a de grad cel mult 2. Imaginea sa coincide ˆıns˘a cu
imaginea lui b, fiind, la rˆandul s˘au, egal˘a cu segmentul [b
0
b
2
]. Acesta este un
exemplu ˆın care poligoane de control diferite genereaz˘a curbe B´ezier cu para-
metriz˘ari diferite, dar care au aceea¸si imagine geometric˘a.
ˆ
In cazul particular ˆın care punctul b
1
este mijlocul segmentului [b
0
, b
2
] avem
¯
b(t) = (1−t)
2
b
0
+2t(1−t)b
1
+t
2
b
2
= (1−t)
2
b
0
+2t(1−t)
_
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 aceast˘a alegere particular˘a a lui b
1
, coincid atˆat ima- Demonstrat ¸i c˘a mijlo-
cul segmentului [b0b2]
este singurul punct cu
aceast˘ a proprietate.
ginile geometrice ale celor dou˘a curbe, cˆat ¸si parametriz˘arile b ¸si
¯
b.
ˆ
In general, ne punem problema ˆın ce m˘asur˘a dat un poligon de control ˆıi
putem asocia un nou poligon de control avˆand cu un punct ˆın plus ¸si astfel
ˆıncˆat curbele B´ezier asociate celor dou˘a poligoane s˘a coincid˘a. R˘aspunsul este
dat de urm˘atoarea propozit ¸ie:
Propozit ¸ia 4.9 Fie T = (b
0
, . . . , b
n
) un poligon de control ¸si b curba B´ezier
asociat˘a. Definim poligonul de control T
(1)
= (b
(1)
0
, b
(1)
1
, . . . , b
(1)
n
, b
(1)
n+1
) prin Scriet ¸i explicit punctele
poligonului P
(1)
pentru
n = 1, 2, 3.
b
(1)
0
= b
0
, b
(1)
n+1
= b
n
,
b
(1)
i
=
i
n + 1
b
i−1
+
_
1 −
i
n + 1
_
b
i
, ∀i = 1, . . . , n
¸si not˘am cu b
(1)
curba B´ezier asociat˘a. Pentru orice t ∈ [0, 1] are loc egalitatea
b(t) = b
(1)
(t); ˆın particular, imaginile geometrice ale celor dou˘a curbe coincid.
Reciproc, singurul poligon de control cu n+2 puncte care genereaz˘a curba b ¸si
care are ca extremit˘at ¸i punctele b
0
¸si b
n
este poligonul T
(1)
.
26
Exemplul 4.10 Fie punctele
b
0
= (−6, 6), b
1
= (0, 6), b
2
= (3, 0).
Cu notat ¸iile din propozit ¸ia 4.9 avem n = 2 ¸si
b
(1)
0
= b
0
= (−6, 6), b
(1)
3
= b
2
= (3, 0);
b
(1)
1
=
1
3
b
0
+
2
3
b
1
= (−2, 6); b
(1)
2
=
2
3
b
1
+
1
3
b
2
= (1, 4)
¸si poligoanele de control (b
0
, b
1
, b
2
), respectiv (b
(1)
0
, b
(1)
1
, b
(1)
2
, b
(1)
3
) genereaz˘a
aceea¸si curb˘a B´ezier (verificat ¸i!).
Exercit ¸iul 4.11 Consider˘am punctele b
0
= (3, 6), b
1
= (9, 6), b
2
= (6, 0).
G˘asit ¸i un poligon de control format din patru puncte care genereaz˘a aceea¸si
curb˘a B´ezier ca ¸si (b
0
, b
1
, b
2
).
Observat ¸ia 4.12 (i) Extremit˘at ¸ile poligoanelor de control T ¸si T
(1)
coincid,
iar punctele intermediare ale poligonului T
(1)
, adic˘a b
(1)
1
, . . . , b
(1)
n
sunt situate Calculat ¸i rapoar-
tele ˆın care punctele
b
(1)
1
, . . . , b
(1)
n
ˆımpart
respectivele segmente.
respectiv pe segmentele [b
0
b
1
], . . . , [b
n−1
b
n
] determinate de punctele de control
ale poligonului T.
(ii) Aplicˆand acela¸si procedeu ˆın mod repetat, obt ¸inem un ¸sir de poligoane
T, T
(1)
, T
(2)
, T
(3)
, . . ., unde T
(k+1)
= (T
(k)
)
(1)
. Acest ¸sir converge la curba
B´ezier definit˘a de toate aceste poligoane, ˆıns˘a convergent ¸a este lent˘a ¸si nu are
consecint ¸e practice.
(iii) M˘arirea gradului este util˘a atunci cˆand avem o familie de curbe B´ezier
(date prin poligoanele de control) ¸si dorim ca aceste curbe s˘a fie generate de po-
ligoane cu un acela¸si num˘ar de puncte: determin˘am poligonul cu cele mai multe
puncte (not˘am cu N num˘arul acestora) ¸si m˘arim num˘arul punctelor fiec˘arui
poligon de control, pˆan˘a cˆand ajunge egal cu N. Din punct de vedere practic,
acest procedeu de uniformizare a gradelor este util ˆın generarea suprafet ¸elor,
unde anumit ¸i algoritmi necesit˘a ca date de intrare curbe de acela¸si grad. De
asemenea, m˘arirea gradului poate fi folosit˘a ˆın transferul de date ˆıntre diferite
sisteme care lucreaz˘a numai cu curbe avˆand gradul fixat.
4.5 Subdivizare
Observat ¸ia 4.13 Dac˘a b : [0, 1] → R
m
este o curb˘a B´ezier, atunci, pentru
orice α ∈ [0, 1] restrict ¸iile sale la intervalele [0, α] ¸si [α, 1] sunt curbe polinomi-
ale, ˆın particular, sunt curbe B´ezier. Se pune ˆın mod natural problema g˘asirii
poligonului de control care le determin˘a. De exemplu, dac˘a b este segmentul
determinat de b
0
¸si b
1
, atunci pentru orice α ∈ [0, 1], b[
[0,α]
este curba B´ezier
determinat˘a de poligonul de control (b
0
, b(α)), iar b[
[α,1]
este asociat˘a poligo-
nului de control (b(α), b
1
). Procesul prin care unei curbe B´ezier i se asociaz˘a
dou˘a arce ale sale a c˘aror reuniune este curba init ¸ial˘a se nume¸ste subdivizare.
Propozit ¸ia care urmeaz˘a descrie situat ¸ia general˘a:
Propozit ¸ia 4.14 Fie b curba B´ezier determinat˘a de poligonul de control (b
0
, b
1
, . . . , b
n
).
Pentru orice α ∈ [0, 1], restrict ¸ia b[
[0,α]
a lui b la intervalul [0, α] este curba Ce se ˆıntˆampl˘ a pentru
α = 0 ¸si α = 1?
B´ezier determinat˘a de poligonul de control
(b
0
0
(α), b
1
0
(α), . . . , b
n−1
0
(α), b
n
0
(α)),
27
iar restrict ¸ia b[
[α,1]
a lui b la intervalul [α, 1] este curba B´ezier determinat˘a de
poligonul de control
(b
n
0
(α), b
n−1
1
(α), . . . , b
1
n−1
(α), b
0
n
(α)),
unde b
0
0
(α), b
1
0
(α), . . . , b
n−1
0
(α), b
n
0
(α), b
n−1
1
(α), . . . , b
1
n−1
(α), b
0
n
(α) sunt puncte
de Casteljau corespunz˘atoare valorii α a parametrului; ˆın particular b
0
0
(α) = b
0
,
b
n
0
(α) = b(α), b
0
n
(α) = b
n
.
Observat ¸ia 4.15 Ultima parte a propozit ¸iei se bazeaz˘a pe urm˘atoarea afir-
mat ¸ie: fie b ¸si
¯
b curbe B´ezier asociate poligoanelor de control (b
0
, b
1
, . . . , b
n
),
respectiv (
¯
b
0
,
¯
b
1
, . . . ,
¯
b
n
), unde
¯
b
0
= b
n
,
¯
b
1
= b
n−1
, . . . ,
¯
b
n−1
= b
1
,
¯
b
n
= b
0
.
ˆ
Intre punctele de Casteljau asociate au loc relat ¸iile:
¯
b
j
0
(t) = b
j
n−j
(1 −t), ∀j = 0, . . . , n, t ∈ [0, 1].
Exemplul 4.16 Consider˘am 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 B´ezier asociat˘a. 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 c˘a restrict ¸ia lui b la intervalul [0,
1
2
] este curba B´ezier determi-
nat˘a 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 B´ezier asociat˘a 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 B´ezier asociat˘a. G˘asit ¸i poligoanele de control care determin˘a
curbele B´ezier b[
[0,
1
2
]
¸si b[
[
1
2
,1]
.
Exercit ¸iul 4.18 Fie b
0
, b
1
, b
2
, b
3
vˆarfurile unui p˘atrat ¸si b curba B´ezier aso-
ciat˘a. Indicat ¸i poligoanele de control care determin˘a curbele B´ezier 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 fi repetat, obt ¸inˆand arce de curb˘a din ce ˆın ce
mai mici. Acest procedeu este util pentru a stabili dac˘a o dreapt˘a intersecteaz˘a
o curb˘a B´ezier: f˘ar˘a a restrˆ ange generalitatea, se poate presupune c˘a dreapta
este paralel˘a cu una din axele de coordonate. Ceea ce se studiaz˘a, de fapt,
(¸si este mult mai u¸sor de verificat din punct de vedere practic) este intersect ¸ia
dreptei cu paralelipipedul minim (minmax box-ul) determinat de poligonul de
control care genereaz˘a curba B´ezier.
ˆ
In cazul ˆın care dreapta nu intersecteaz˘a
acest paralelipiped, atunci ea nu intersecteaz˘a nici curba, ˆın caz contrar, prin
subdiviz˘ari repetate, pot fi aproximate punctele de intersect ¸ie ale dreptei date
cu curba B´ezier init ¸ial˘a.
28
Capitolul 5
Cubice spline
5.1 Racordul a dou˘a arce de curb˘a B´ezier
Observat ¸ia 5.1 Fie (b
0
, b
1
, . . . , b
n
) un poligon de control din R
m
¸si fie b : Ce diferent ¸˘ a este ˆıntre
curba b|
[0,
1
2
]
, construit˘a
prin subdivizare ¸si curba
b
[0,
1
2
]
?
[0, 1] → R
m
curba B´ezier asociat˘a. Pentru un interval arbitrar [α, β] ⊂ R
(α ,= β), definim aplicat ¸ia (numit˘a curb˘a B´ezier definit˘a pe intervalul [α, β])
b
[α,β]
: [α, β] → R
m
, b
[α,β]
:= b ◦ ψ,
unde Algoritmul de Casteljau
poate fi adaptat pen-
tru construirea curbei
b
[α,β]
.
ψ : [α, β] → [0, 1] ψ(u) =
u −α
β −α
este schimbarea afin˘a de parametru de la intervalul [α, β] la intervalul [0, 1]. Determinat ¸i vectorii
tangent ¸i la curba nou
construit˘a ˆın capetele
sale.
ˆ
In cele ce urmeaz˘a vom renunt ¸a la scrierea intervalului de definit ¸ie ca indice
superior, acest interval rezultˆand din context.
Exemplul 5.2 Consider˘am poligonul de control (b
0
, b
1
, b
2
) cu b
0
= (0, 0),
b
1
= (2, 0), b
2
= (2, 4). Curba B´ezier asociat˘a definit˘a pe intervalul [0, 1] este
b : [0, 1] → R
2
, b(t) = (4t −2t
2
, 4t
2
)
iar curba B´ezier asociat˘a aceluia¸si poligon, dar definit˘a pe intervalul [2, 4] este Curbele b ¸si ¯b au
aceea¸si imagine geome-
tric˘a.
¯
b : [2, 4] → R
2
,
¯
b(u) = b ◦ ψ(u),
cu ψ(u) =
u−2
4−2
, deci
¯
b(u) = b
_
u −2
2
_
=
_
−u
2
+ 8u −12
2
, (u −2)
2
_
.
Propozit ¸ia 5.3 Fie (b
0
, . . . , b
n−1
, b
n
) ¸si (b
n
, b
n+1
, . . . , b
2n
) dou˘a poligoane Scriet ¸i explicit condit ¸iile
din aceast˘a propozit ¸ie
pentru n = 3.
de control ¸si b : [u
0
, u
1
] → R
m
, respectiv
¯
b : [u
1
, u
2
] → R
m
curbele B´ezier
asociate (u
0
< u
1
< u
2
; aceast˘a condit ¸ie va fi subˆınt ¸eleas˘a ˆın cele ce urmeaz˘a).
(i) Cele dou˘a curbe au un racord de clas˘a G(
1
ˆın punctul b
n
dac˘a ¸si numai
dac˘a punctele b
n−1
, b
n
, b
n+1
sunt coliniare.
Demonstrat ¸i c˘a, dac˘ a
α, β, γ sunt numere re-
ale, atunci r(α, β, γ) =
β−α
γ−β
.
(ii) Cele dou˘a curbe au un racord de clas˘a (
1
ˆın punctul b
n
dac˘a ¸si numai
dac˘a punctele b
n−1
, b
n
, b
n+1
sunt coliniare ¸si are loc egalitatea de rapoarte
r(b
n−1
, b
n
, b
n+1
) = r(u
0
, u
1
, u
2
).
(iii) Cele dou˘a curbe au un racord de clas˘a (
2
ˆın punctul b
n
dac˘a ¸si numai
dac˘a sunt verificate condit ¸iile:
29
• punctele b
n−1
, b
n
, b
n+1
sunt coliniare ¸si are loc egalitatea de rapoarte
r(b
n−1
, b
n
, b
n+1
) = r(u
0
, u
1
, u
2
);
• exist˘a un punct d cu proprietatea c˘a b
n−2
, b
n−1
, d, respectiv d, b
n+1
, b
n+2
sunt triplete de puncte coliniare ¸si, ˆın plus, au loc egalit˘at ¸ile
r(b
n−2
, b
n−1
, d) = r(d, b
n+1
, b
n+2
) = r(u
0
, u
1
, u
2
).
Punctul d se nume¸ste punct de Boor asociat racordului celor dou˘a curbe.
Exemplul 5.4 (i)
ˆ
In R
2
consider˘am 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); fie, de asemenea,
u
0
= 2, u
1
= 4, u
2
= 7. Cum b
2
, b
3
, b
4
nu sunt coliniare, cubicele B´ezier Justificat ¸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
corespunz˘atoare 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 clas˘a G(
1
ˆın b
3
.
(ii)
ˆ
In R
2
consider˘am 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, adic˘a punctele b
2
, b
3
, b
4
sunt coliniare; ˆın particular cubicele B´ezier 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 clas˘a G(
1
ˆın b
3
. Pe de alt˘a parte,
−−−−−→
b
2
b
3
= b
3
−b
2
= (1, −1),
−−−−−→
b
3
b
4
= b
4
−b
3
= (2, −2),
adic˘a r(b
2
, b
3
, b
4
) =
1
2
, iar r(u
0
, u
1
, u
2
) =
u1−u0
u2−u1
= 1, a¸sadar
r(b
2
, b
3
, b
4
) ,= r(u
0
, u
1
, u
2
),
ceea ce arat˘a c˘a racordul nu este de clas˘a (
1
. Alegˆand ˆı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 B´ezier c : [1, 4] → R
2
, respectiv ¯c : [4, 10] → R
2
asociate
celor dou˘a poligoane de control au un racord de clas˘a (
1
ˆın b
3
. Este de remarcat
faptul c˘a b = c (ca funct ¸ii), ˆın vreme ce parametriz˘arile
¯
b ¸si ¯c au aceea¸si imagine
geometric˘a, dar sunt diferite ca aplicat ¸ii. Acest exemplu arat˘a c˘a un racord care
are doar continuitate geometric˘a G(
1
poate deveni, prin alegerea convenabil˘a
a intervalelor pe care este definit˘a parametrizarea (este suficient s˘a modific˘am
unul din capete!) de clas˘a (
1
. Cu alte cuvinte, continuitatea geometric˘a G(
1
este legat˘a numai de forma poligonului de control, iar faptul c˘a un racord are
clas˘a (
1
este legat atˆat de poligonul de control, cˆat ¸si de intervalele pe care sunt
definite parametriz˘arile.
S˘a analiz˘am ˆın continuare dac˘a acest racord este ¸si de clas˘a (
2
. Pentru
aceasta trebuie s˘a determin˘am punctul d de intersect ¸ie a dreptelor b
1
b
2
¸si
b
4
b
5
: dreapta b
1
b
2
are ecuat ¸ia implicit˘a 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
,
30
deci au loc egalit˘at ¸ile
r(b
1
, b
2
, d) = r(d, b
4
, b
5
) = r(u

0
, u

1
, u

2
),
ceea ce arat˘a c˘a racordul curbelor c ¸si ¯c este de clas˘a (
2
.
Dac˘a raportul r(b
1
, b
2
, d) (respectiv r(d, b
4
, b
5
)) nu ar fi fost egal cu
1
2
, am
ˆ
In ce situat ¸ie nu poate fi
obt ¸inut, nici dup˘a modi-
ficarea intervalelor, un
racord de clas˘ a C
2
?
fi putut modifica punctul b
1
pe dreapta b
2
d (respectiv punctul b
5
pe dreapta
db
4
), astfel ca raportul respectiv s˘a fie
1
2
; altfel spus, prin modificarea poligo-
nului de control se poate obt ¸ine un racord de clas˘a (
2
.
Exercit ¸iul 5.5
ˆ
In R
2
consider˘am 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 B´ezier asociate. Stabilit ¸i ce clas˘a
are racordul celor dou˘a curbe ˆın punctul b
3
.
ˆ
Intrebare: Ce date sunt necesare pentru a putea construi dou˘a cubice B´ezier
care au un racord de clas˘a (
1
? Dar un racord de clas˘a (
2
?
Exemplul 5.6 Consider˘am 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 ˆıncˆat curbele B´ezier asociate b ¸si
¯
b definite pe intervalele
[0, 1], respectiv [1, 2] s˘a aib˘ a un racord de clas˘a (
2
. Mai ˆıntˆai s˘a observ˘am c˘a
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 determin˘am din condit ¸iile Dac˘a 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 Consider˘am 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 ˆıncˆat
curbele B´ezier asociate b ¸si
¯
b definite pe intervalele [1, 2], respectiv [2, 3] s˘a aib˘a
un racord de clas˘a (
2
.
31
5.2 Cubice spline
Definit ¸ia 5.8 O cubic˘a spline este o curb˘a polinomial˘a pe port ¸iuni obt ¸inut˘a
prin racord de clas˘a (
2
al unui num˘ar finit de cubice B´ezier.
Exemplul 5.9 (i) Aplicat ¸ia γ : [1, 10] → R
2
definit˘a prin
γ(t) =
_
c(t), dac˘a t ∈ [1, 4]
¯c(t), dac˘a t ∈ [4, 10],
unde c ¸si ¯c sunt curbele din exemplul 5.4, este o cubic˘a spline.
Stabilit ¸i dac˘ a b ¸si ¯b
din exercit ¸iul 5.5 dau
na¸stere unei cubice
spline.
(ii) Aplicat ¸ia γ : [0, 2] → R
2
definit˘a prin
γ(t) =
_
b(t), dac˘a t ∈ [0, 1]
¯
b(t), dac˘a t ∈ [1, 2],
unde b ¸si
¯
b sunt curbele din exemplul 5.6, este o cubic˘a spline.
Problem˘a: Ce date sunt suficiente pentru a construi o cubic˘a spline?
Observat ¸ia 5.10 (i) O cubic˘a spline este o aplicat ¸ie γ : [u
0
, u
L
] → R
m
cu
proprietatea c˘a exist˘a o diviziune u
0
< u
1
< . . . < u
L
a intervalului [u
0
, u
L
]
astfel ca γ[
[uj,uj+1]
s˘a fie cubic˘a B´ezier pentru orice j ∈ ¦0, . . . , L¦ ¸si aplicat ¸ia γ
s˘a fie de clas˘a (
2
ˆın fiecare nod u
j
(j = 1, . . . , L −1).
(ii) Aplicˆand direct definit ¸ia, rezult˘a c˘a obiectele necesare pentru a putea
construi o cubic˘a spline sunt urm˘atoarele: Scriet ¸i explicit aceste
condit ¸ii pentru L = 2 ¸si
L = 3. • un interval [u
0
, u
L
] ¸si o diviziune u
0
< u
1
< . . . < u
L
a acestuia;
• un ¸sir de poligoane de control (b
0
, b
1
, b
2
, b
3
), (b
3
, b
4
, b
5
, b
6
), . . . ,
(b
3j
, b
3j+1
, b
3j+2
, b
3j+3
), . . . , (b
3L−3
, b
3L−2
, b
3L−1
, b
3L
) astfel ca:
− pentru orice j ∈ ¦1, . . . , L−1¦ punctele b
3j−1
, b
3j
, b
3j+1
sunt coliniare ¸si
r(b
3j−1
, b
3j
, b
3j+1
) = r(u
j−1
, u
j
, u
j+1
);
− pentru orice j ∈ ¦1, . . . , L − 1¦ exist˘a un punct d
j
(numit punct de
Boor) astfel ca b
3j−2
, b
3j−1
, d
j
, respectiv d
j
, b
3j+1
, b
3j+2
s˘a fie coliniare ¸si
r(b
3j−2
, b
3j−1
, d
j
) = r(d
j
, b
3j+1
, b
3j+2
) = r(u
j−1
, u
j
, u
j+1
).
(iii) S˘a fix˘am acum un nod u
j
(j ∈ ¦2, . . . , L −1¦). Avem, a¸sadar,
r(d
j−1
, b
3j−2
, b
3j−1
) = r(u
j−2
, u
j−1
, u
j
); r(b
3j−2
, b
3j−1
, d
j
) = r(u
j−1
, u
j
, u
j+1
).
Utilizˆand lema 5.11, deducem:
r(d
j−1
, b
3j−2
, d
j
) =
u
j−1
−u
j−2
u
j+1
−u
j−1
, r(d
j−1
, b
3j−1
, d
j
) =
u
j
−u
j−2
u
j+1
−u
j
. (5.1)
Relat ¸iile (5.1) arat˘a c˘a putem determina punctele B´ezier b
3j−2
¸si b
3j−1
ˆın
funct ¸ie de punctele de Boor d
j−1
¸si d
j
; mai precis avem Deducet ¸i relat ¸iile (5.2)
¸si (5.3) din egalit˘at ¸ile
(5.1).
b
3j−2
=
u
j+1
−u
j−1
u
j+1
−u
j−2
d
j−1
+
u
j−1
−u
j−2
u
j+1
−u
j−2
d
j
, (5.2)
b
3j−1
=
u
j+1
−u
j
u
j+1
−u
j−2
d
j−1
+
u
j
−u
j−2
u
j+1
−u
j−2
d
j
. (5.3)
32
Lema 5.11 Fie A, P, Q, B puncte coliniare din R
m
, cu A ,= B ¸si P, Q ∈ (AB).
Not˘am Demonstrat ¸i aceast˘a
lem˘a ˆın cazul m = 1.
r
1
= r(A, P, Q), r
2
= r(P, Q, B).
Avem urm˘atoarele relat ¸ii:
r(A, P, B) =
r
1
r
2
r
2
+ 1
, r(A, Q, B) = r
2
(r
1
+ 1).
Teorema 5.12 (Algoritmul Boehm-de Boor) O mult ¸ime ordonat˘a T de
L + 3 puncte
(d
−1
, d
0
, d
1
, . . . , d
L+1
)
¸si un ¸sir de numere reale
u
0
< u
1
< . . . < u
L
definesc o cubic˘a spline. Mult ¸imea T se nume¸ste poligon de Boor al cubicei
spline.
Demonstrat ¸ie. Preciz˘am modul ˆın care se construiesc punctele poligoanelor
de control (b
0
, b
1
, b
2
, b
3
), (b
3
, b
4
, b
5
, b
6
), . . . , (b
3j
, b
3j+1
, b
3j+2
, b
3j+3
), . . . , Scriet ¸i explicit aceast˘a
demonstrat ¸ie pentru
L = 2 ¸si L = 3.
(b
3L−3
, b
3L−2
, b
3L−1
, b
3L
) care definesc arcele de curb˘a B´ezier ce formeaz˘a cu-
bica spline.
• Punctele b
0
, b
1
, b
3L−1
, b
3L
se aleg astfel:
b
0
:= d
−1
, b
1
:= d
0
, b
3L−1
:= d
L
, b
3L
:= d
L+1
.
• Punctele b
2
¸si b
3L−2
se construiesc pornind de la relat ¸iile r(b
1
, b
2
, d
1
) =
r(u
0
, u
1
, u
2
), respectiv r(d
L−1
, b
3L−2
, b
3L−1
) = r(u
L−2
, u
L−1
, u
L
), a¸sadar
b
2
=
u
2
−u
1
u
2
−u
0
d
0
+
u
1
−u
0
u
2
−u
0
d
1
, b
3L−2
=
u
L
−u
L−1
u
L
−u
L−2
d
L−1
+
u
L−1
−u
L−2
u
L
−u
L−2
d
L
.
• Punctele b
4
, b
5
, . . . , b
3j−2
, b
3j−1
, . . . , b
3L−5
, b
3L−4
se construiesc folosind
ecuat ¸iile (5.2), respectiv (5.3).
• Punctele b
3
, b
6
, . . . , b
3j
, . . . , b
3L−3
se obt ¸in folosind egalitatea de rapoarte
r(b
3j−1
, b
3j
, b
3j+1
) = r(u
j−1
, u
j
, u
j+1
), adic˘a
b
3j
=
u
j+1
−u
j
u
j+1
−u
j−1
b
3j−1
+
u
j
−u
j−1
u
j+1
−u
j−1
b
3j+1
, j = 1, . . . , L −1,
ceea ce ˆıncheie demonstrat ¸ia.
Observat ¸ia 5.13 S¸irul punctelor de diviziune ale intervalului [u
0
, u
L
] poate fi
ales astfel ˆıncˆat s˘a reflecte propriet˘at ¸i geometrice ale poligonului de Boor. Spre
exemplu, prin metoda lungimii coardei:
u
0
= 0, u
1
= |
−−−−−→
d
−1
d
1
|,
u
j
= u
j−1
+|
−−−−−−−−→
d
j−1
d
j
|, j = 2, . . . , L −1,
u
L
= u
L−1
+|
−−−−−−−−−−−→
d
L−1
d
L+1
|
diviziunea este aleas˘a astfel ca lungimea intervalului [u
j−1
u
j
] s˘a fie egal˘a cu
lungimea segmentului [d
j−1
d
j
] (pentru j = 2, . . . , L −1).
33
Exemplul 5.14 Consider˘am 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
) fixat. Conform algoritmului Boehm-de
Boor definim 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 aceluia¸si algoritm
b
4
= b
3·2−2
=
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
.
34
Capitolul 6
Curbe B´ezier rat ¸ionale
S˘a consider˘am aplicat ¸ia de proiect ¸ie central˘a pe planul L de ecuat ¸ie x
3
= 1 Comparat ¸i pozit ¸ia rela-
tiv˘a a dreptelor {(α +
1, α − 1, α)|α ∈ R}
¸si {(β, −β, β − 1)|β ∈
R} precum ¸si pozit ¸ia re-
lativ˘a 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
_
.
Identificˆand ˆı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 fie mai departe
a : [0, 1] → R
3
, a(t) =

2
i=0
a
i
B
2
i
(t) curba B´ezier asociat˘a. Presupunem c˘a
niciunul din cele trei puncte de control nu este situat ˆın planul de ecuat ¸ie x
3
= 0
¸si c˘a nici curba a nu intersecteaz˘a acest plan. Scriem a
i
= (x
1
(a
i
), x
2
(a
i
), λ
i
)
(i = 0, 1, 2) ¸si definim 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
u¸surint ¸˘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)
.
Definit ¸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 nume¸ste curb˘a B´ezier rat ¸ional p˘atratic˘a (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 Consider˘am punctele
b
0
= (0, 0), b
1
= (0, 1), b
2
= (1, 0)
¸si numerele reale
λ
0
= 1, λ
1
= 1, λ
2
= 2.
35
Avem
2

j=0
λ
j
B
2
j
(t) = 1 +t
2
,
iar CBRP asociat˘a 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 B´ezier asociat˘a 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 asociat˘a 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 curb˘a B´ezier rat ¸ional p˘atratic˘a r astfel ca
r(t) =
_
1−t
2
1+t
2
,
2t
1+t
2
_
oricare ar fi t ∈ [0, 1]?
ˆ
In caz afirmativ, care este poligonul
de control din R
3
init ¸ial?
Propozit ¸ia 6.6 Fie r o curb˘a B´ezier rat ¸ional p˘atratic˘a definit˘a de datele init ¸iale
(b
i
, λ
i
) i = 0, 1, 2.
(i)
ˆ
In cazul ˆın care cele trei ponderi au aceea¸si valoare, λ ,= 0, (i.e. punctele
a
0
, a
1
¸si a
2
sunt situate ˆın planul x
3
= λ), atunci CBRP asociat˘a r este o curb˘a
B´ezier r(t) =

2
i=0
B
2
i
(t)b
i
.
(ii) Au loc relat ¸iile
ˆ
In propriet˘at ¸ile (ii) ¸si
(iii) se folose¸ste fap-
tul c˘ a ponderile extreme
sunt nenule. Acest
fapt rezult˘a 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 considerat˘a interpoleaz˘a punctele de extrem.
(iii) Au loc egalit˘at ¸ile
r

(0) =

1
λ
0
(b
1
−b
0
), r

(1) =

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) Dac˘a ponderile sunt strict pozitive, atunci CBRP este inclus˘aˆınˆınf˘a¸sur˘atoarea
convex˘a a punctelor de control.
Observat ¸ia 6.7 Convenind c˘a punctele de forma (
x1
x3
,
x2
x3
) cu x
3
= 0 sunt si-
tuate la infinit, putem extinde definit ¸ia unei CBRP, cerˆand doar ca ponderile
λ
0
, λ
1
, λ
2
s˘a nu fie toate nule, dar acceptˆand ca expresia

2
j=0
λ
j
B
2
j
(t) s˘a 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 dou˘a r˘ad˘acini ˆın acest
interval, deci CBRP obt ¸inut˘a va avea cel mult dou˘a puncte la infinit.
Propozit ¸ia 6.8 O curb˘a B´ezier rat ¸ional p˘atratic˘a este un arc de conic˘a. Mai
precis, fie CBRP definit˘a de datele (b
i
, λ
i
), i = 0, 1, 2. Atunci: Este posibil ca o CBRP
s˘a fie inclus˘ a ˆıntr-o co-
nic˘a degenerat˘a?
• dac˘a
λ0λ2
λ
2
1
> 1, curba este un arc de elips˘a,
• dac˘a
λ0λ2
λ
2
1
= 1, curba este un arc de parabol˘a,
• dac˘a
λ0λ2
λ
2
1
< 1, curba este un arc de hiperbol˘a.
36
Exemplul 6.9 Sistemul de ponderi (1, 1, 2) conduce la un arc de elips˘a, oricare
ar fi poligonul de control init ¸ial, ˆın vreme ce cu ponderile (2, 3, 2) se ajunge la
arce de hiperbol˘a.
Propozit ¸ia 6.10 Fie r o CBRP definit˘a de (b
0
, b
1
, b
2
, λ
0
, λ
1
, λ
2
). Dac˘a λ
2
λ
0
>
0, exist˘a o schimbare de parametru ϕ astfel r ◦ ϕ s˘a fie o conic˘a definit˘a de
acela¸si poligon de control ¸si de ponderile (1, λ
1
, 1). O parametrizare a unui arc
de conic˘a definit˘a de un sistem de date de forma (b
0
, b
1
, b
2
, 1, λ
1
, 1) se nume¸ste
parametrizare standard. Tipul conicei este dat de ponderea λ
1
:
• dac˘a λ
1
< 1 conica este elips˘a;
• dac˘a λ
1
= 1 conica este parabol˘a;
• dac˘a λ
1
> 1 conica este hiperbol˘a.
Propozit ¸ia 6.11 Datele init ¸iale (b
0
, b
1
, b
2
, 1, λ
1
, 1) definesc un arc de cerc tan-
gent poligonului de control ˆın punctele b
0
¸si b
2
¸si situat ˆın acoperirea convex˘a Cum putem construi un
cerc complet folosind
trei arce de cerc privite
ca CBRP?
a punctelor poligonului de control dac˘a ¸si numai dac˘a sunt verificate 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 extremit˘at ¸ile b
0
respectiv b
2
este dat˘a 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 Consider˘am 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 corespunz˘ator 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 B´ezier rat ¸ional p˘atratice pot fi de-
terminate fie aplicˆand algoritmul de Casteljau atˆat numitorului cˆat ¸si num˘ar˘a-
torului ¸si apoi efectuˆand ˆımp˘art ¸irea, fie determinˆand punctele a
0
, a
1
, a
2
din R
3
care prin π sunt aplicate ˆın b
i
, aplicˆand acestor puncte algoritmul de Castel-
jau (cu alte cuvinte determinˆand puncte ale curbei B´ezier asociate a) ¸si apoi
calculˆand imaginea acestor puncte prin proiect ¸ia π.
(ii) Prin analogie cu curbele B´ezier rat ¸ional p˘atratice, putem introduce curbe
B´ezier rat ¸ionale de grad n din R
m
. Datele cu ajutorul c˘arora construim o astfel
de curb˘a sunt:
• poligonul de control (b
0
, . . . , b
n
) din R
m
;
• sistemul de ponderi (λ
0
, . . . , λ
n
), nu toate nule.
Curba B´ezier rat ¸ional˘a de grad n asociat˘a acestor date este dat˘a de
r(t) =
n

i=0
λ
i
B
n
i
(t)

n
j=0
λ
j
B
n
j
(t)
b
i
, t ∈ [0, 1].
Propriet˘at ¸ile unei astfel de curbe sunt analoage propriet˘at ¸ilor CBRP.
37
Anexa A
Proiecte
1. Curbe generate de punctele intermediare
Ilustreaz˘a cˆat mai sugestiv curbele determinate de punctele intermediare de
Casteljau.
2. Invariant ¸a afin˘a a curbelor B´ezier.
Ilustreaz˘a cˆat mai sugestiv proprietatea de invariant ¸˘a la transform˘ari afine a
curbelor B´ezier.
3. Invariant ¸a la combinat ¸ii baricentrice a curbelor B´ezier.
Ilustreaz˘a cˆat mai sugestiv proprietatea de invariant ¸˘a la combinat ¸ii baricentrice
a curbelor B´ezier.
4. Inserarea repetat˘a a unui punct de control.
Ilustreaz˘a cˆat mai sugestiv ce se ˆıntˆampl˘a cˆand inser˘am ˆın mod repetat un vˆarf
al unui poligon de control.
5. Intersect ¸ia paralelipipedelor minime.
Input: Dou˘a poligoane de control ale unor cubice B´ezier.
Output: -Precizeaz˘a dac˘a interioarele paralelipipedelor minime ale celor dou˘a
poligoane de control se intersecteaz˘a sau nu.
-Reprezentare grafic˘a (inclusiv desenarea celor dou˘a curbe B´ezier).
6. M˘arirea gradului unei curbe B´ezier
Input: Un poligon de control T = (b
0
, . . . , b
n
), k ≥ 1.
Output: -Construie¸ste, folosind metoda de m˘arire a gradului, poligoane de
control avˆand n+2, n+3, . . . , n+k +1 puncte ¸si care genereaz˘a aceea¸si curb˘a
B´ezier ca ¸si T.
-Reprezentare grafic˘a (ˆın cazul ˆın care poligonul de control este din R
2
).
7. ”Compararea” a dou˘a curbe B´ezier plane
Input: Poligoanele de control pentru dou˘a curbe B´ezier plane.
Output: -Decide dac˘a cele dou˘a poligoane genereaz˘a aceea¸si curb˘a B´ezier.
-Reprezentare grafic˘a.
38
8. ”Deformarea” unei curbe B´ezier ˆıntr-o alt˘a curb˘a B´ezier
Input: Poligoanele de control pentru dou˘a curbe B´ezier plane b
1
¸si b
2
.
Output: Folosind m˘arirea gradului ¸si invariant ¸a la combinat ¸ii baricentrice,
realizeaz˘a o animat ¸ie cu o familie de curbe de la b
1
la b
2
care s˘a sugereze
deplasarea lui b
1
ˆınspre b
2
.
9. Subdivizare
Input: Poligonul de control al unei curbe B´ezier plane b, α ∈ [0, 1].
Output: -Determin˘a poligoanele de control ale curbelor b[
[0,α]
¸si b[
[α,1]
.
-Reprezentare grafic˘a.
10. Racord de clas˘a (
1
al unor cubice B´ezier
Input: Dou˘a 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: -Stabile¸ste dac˘a b ¸si c (curbele B´ezier asociate lui T, respectiv Q ¸si
definite pe [u
0
, u
1
], respectiv [u
1
, u
2
]) au un racord de clas˘a G(
1
sau (
1
.
-Reprezentare grafic˘a.
11. Algoritmul Boehm-de Boor
Input: Un num˘ar natural L, un poligon de Boor (d
−1
, d
0
, . . . , d
L+1
) ¸si un ¸sir
de noduri u
0
, . . . , u
L
.
Output: Reprezint˘a grafic cubica spline asociat˘a acestor date.
12. Curbe B´ezier rat ¸ional p˘atratice
Input: Coeficient ¸ii unor polinoame P, Q, R de gradul 2.
Output: -Determin˘a poligonul de control (b
0
, b
1
, b
2
) ¸si ponderile λ
0
, λ
1
, λ
2
care determin˘a curba B´ezier rat ¸ional p˘atratic˘a r(t) =
_
P(t)
R(t)
,
Q(t)
R(t)
_
.
-Reprezentare grafic˘a.
39
Anexa B
Algoritm pentru
determinarea curburii unei
curbe B´ezier
Consider˘am punctele
b
0
= (α, 0), b
1
= (0, 0), b
2
= (0, β)
¸si fie b : [0, 1] → R
2
curba B´ezier asociat˘a. Ne propunem s˘a scriem un algoritm
care s˘a calculeze curbura lui b ˆıntr-un punct dat t
0
.
• Calculul matematic preliminar (cu precizarea definit ¸iilor ¸si a rezul-
tatelor folosite)
Conform definit ¸iei 3.12 avem
b(t) =
2

i=0
B
2
i
(t)b
i
= (1 −t)
2
(α, 0) +2t(1 −t)(0, 0) +t
2
(0, β) = ((1 −t)
2
α, t
2
β).
Conform definit ¸iei 1.26 (i), curbura unei curbe 2D se calculeaz˘a dup˘a formula
κ
b
(t) =
det(b

(t), b

(t))
|b

(t)|
3
.
Avem
b

(t) = (2(t −1)α, 2tβ), b

(t) = (2α, 2β),
|b

(t)|
2
= 4((t −1)
2
α
2
+t
2
β
2
).
Pentru α, β, t pentru care b

(t) nu se anuleaz˘a avem
κ
b
(t) = −
αβ
2((t −1)
2
α
2
+t
2
β
2
)
3
2
.
Analiz˘am acum situat ¸iile ˆın care b

(t) = 0: aceast˘a condit ¸ie este echivalent˘a cu
(t −1)
2
α
2
+t
2
β
2
= 0 ¸si avem urm˘atoarele posibilit˘at ¸i:
(i) (α, β) = (0, 0) ¸si t arbitrar. Din punct de vedere geometric, curba se
reduce la un punct ¸si curbura nu este definit˘a pentru niciun t ∈ [0, 1].
(ii) α = 0, β ,= 0 ¸si t = 0. Condit ¸ia α = 0 este echivalent˘a cu b
0
= b
1
, caz
ˆın care curbura nu este definit˘a pentru t = 0, adic˘a ˆın b(0) = b
0
= b
1
.
40
(iii) α ,= 0, β = 0 ¸si t = 1. Condit ¸ia β = 0 este echivalent˘a cu b
1
= b
2
, caz
ˆın care curbura nu este definit˘a pentru t = 1, adic˘a ˆın b(1) = b
2
= b
1
.
Putem acum scrie algoritmul pentru calcularea curburii.
• Input: α, β, t
0
.
• Verificarea datelor de intrare (cu interpretare geometric˘a):
(i) dac˘a t
0
,∈ [0, 1], atunci t
0
nu apart ¸ine intervalului de definit ¸ie a curbei;
(ii) dac˘a α = β = 0, curba se reduce la un punct, curbura nu este definit˘a
ˆın niciun punct;
(iii) dac˘a α = 0, β ,= 0 ¸si t = 0, curbura nu este definit˘a ˆın punctul cerut,
deoarece vectorul vitez˘a este nul ˆın acel punct;
(iv) dac˘a β = 0, α ,= 0 ¸si t = 1, curbura nu este definit˘a ˆın punctul cerut,
deoarece vectorul vitez˘a este nul ˆın acel punct.
ˆ
In toate aceste cazuri se trece la ultimul pas.
• Calcule: Dac˘a datele de intrare nu se ˆıncadreaz˘a ˆın situat ¸iile de mai sus se
calculeaz˘a
κ
b
(t
0
) = −
αβ
2((t
0
−1)
2
α
2
+t
2
0
β
2
)
3
2
.
• Output:
ˆ
In cazurile (i)-(iv) descrise mai sus ment ¸ioneaz˘a c˘a nu poate fi
calculat˘a curbura precizˆand motivul, altminteri scrie curbura κ
b
(t
0
).
41
Bibliografie
[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. Petri¸sor, Modelare geometric˘a algoritmic˘a, Ed. Tehnic˘a, Bucure¸sti, 2001.
[3] H. Prautzsch, W. Boehm ¸si M. Paluszny, B´ezier 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, Grafica pe calculator. Algoritmi fundamentali, Editura Uni-
versit˘at ¸ii din Bucure¸sti, 2001.
——————————————————————————————-
[8] L. B˘adescu, Geometrie, Editura Universit˘at ¸ii Bucure¸sti, 2000.
[9] M. do Carmo, Differential Geometry of Curves and Surfaces, Prentice Hall,
1976.
[10] Gh. Galbur˘a ¸si F. Rad´o, Geometrie, Editura Didactic˘a ¸si Pedagogic˘a, Bu-
cure¸sti, 1979.
[11] A. Gray, Modern Differential Geometry of Curves and Surfaces with
Mathematica, CRC Press, 1999.
[12] I. Hiric˘a, S. Leiko, L. Nicolescu, G. Pripoae, Geometrie diferent ¸ial˘a. Pro-
bleme. Aplicat ¸ii, Bucure¸sti, 1999.
[13] M.I. Munteanu, Algoritmi geometrici 2D ¸si aplicat ¸ii ˆın CAGD, Editura Uni-
versit˘at ¸ii ”Al. I. Cuza” Ia¸si, 2005.
[14] L. Nicolescu, Curs de geometrie, Bucure¸sti, 2002.
[15] L. Ornea ¸si A. Turtoi, O introducere ˆın geometrie, Editura Theta, Bucure¸sti,
2000.
[16] M.S. Stupariu, Geometrie analitic˘ a, Bucure¸sti, 2008.
42

Sign up to vote on this title
UsefulNot useful