Professional Documents
Culture Documents
8.1
Pentru a defini contextul n care se definesc vectorii clasici AB, determinati de doua
puncte, consideram o multime de puncte P, notate A, B, C, . . . si spatiul vectorial Rn .
Definitia 8.1.1 Spatiul punctual afin de dimensiune n, este un triplet notat An = (P, Rn , ),
unde este o aplicatie : P P Rn , care asociaza la orice pereche de puncte (A, B) un
vector AB Rn :
B
(A, B) AB
2. Pentru orice punct O P fixat si vector v Rn exista un unic punct M P astfel ncat
M
v
O (M ) = OM Rn
este bijectie.
AA = Rn .
BA = AB.
Relatia Chasles se extinde la un numar finit de puncte:
A1 A2 + A2 A3 + + Am1 Am = A1 Am
Deoarece conform proprietatii 2 multimea punctelor P este n corespondenta bijectiva cu Rn ,
luam drept multime de puncte pe Rn . Prin urmare privim multimea Rn n doua moduri: ca
multime de puncte si ca spatiu vectorial. Un punct A din Rn este reprezentat de un nuplu de
numere (x1 , x2 , . . . , xn ) (scrise pe linie), iar un vector v tot de un n-uplu de numere reale, dar
pentru a face distinctie, aceste numere se scriu ntr-o matrice coloana:
a1
a2
v = ..
.
an
y1 x1
y2 x2
AB =
..
.
yn xn
Formal aplicatia ce defineste structura afina pe spatiul de puncte Rn este:
(A, B) = AB := B A
Sa verificam ca ntr-adevar astfel definit satisface conditiile 1. si 2. din definitia spatiului
punctual afin:
1. Fie A, B, C trei puncte arbitrare din Rn . Atunci:
AB + BC = B
+ C B} = C A = AC
| A {z
operatii n Rn
proprietatea ca OM = v.
v
O+v
d(A, B) = AB
d(A, B) = AB =
(y1 x1 )2 + (y2 x2 )2 + + (yn xn )2 =
=
punctelor ce se obtin adunand punctului A un vector tAB, t [0, 1], coliniar si de acelasi sens
cu vectorul AB:
Mijlocul segmentului [A, B] este punctul M cu proprietatea ca AM = M B.
Daca A(a1 , a2 , . . . , an ), B(b1 , b2 , . . . , bn ), M (x1 , x2 , . . . , xn ), atunci din relatia AM = M B
rezulta aceeasi relatie ntre coordonatele din pozitia i a vectorilor implicati, adica:
xi ai = bi xi ,
2xi = ai + bi
xi =
ai + bi
,
2
i = 1, n
Prin urmare coordonatele mijlocului unui segment sunt egale cu media aritmetica a coordonatelor corespunzatoare ale extremitatilor segmentului.
Exemplul 2. In E3 se dau punctele A(1, 2, 4), B(3, 0, 5), C(1, 7, 2).
a) Sa se calculeze distanta de la A la mijlocul segmentului [B, C].
[
b) Sa se calculeze cosinusul unghiului BAC
a) Fie M (x, y, z) mijlocul segmentului [B, C]. Coordonatele sale sunt:
3+1
07
5 + 2
= 2, y =
= 3.5, z =
= 1.5
2
2
2
2 + (2 + 3.5)2 + (4 + 1.5)2 =
Distant
a
d(A,
M
)
=
((1
2)
9 + 5.52 + 5.52
= 9 + 60.5 = 8.34.
[ este unghiul dintre vectorii
b) Unghiul BAC
AB, AC.
x=
cos(BAC) = =
=
=
16 + 4 + 81 4 + 81 + 4
101 + 89
190
AB AC
8.2
5
z
ze3
y
ye2
e3
M (x, y)
OM
xe1
e1
e2
M (x, y, z)
ye2
y
e1
e2
O
OM
xe1
x
x
Fig.8.1: Semnificatia coordonatelor unui punct M din plan raportat la un reper ortonormat (stanga),
respectiv din spatiul 3D (dreapta).
Unui reper ortonormat R i se asociaza un sistem de axe ortogonale Ox1 , Ox2 ,. . . , Oxn , unde
axa Oxi este multimea punctelor M cu proprietatea ca vectorul OM este coliniar si de acelasi
sens cu vectorul bazei, ei , i = 1, n,
ei
xi
OM = x1 e1 + x2 e2 + + xn en ,
Prin definitie, coordonatele vectorului de pozitie OM n baza B se numesc coordonatele punctului M relativ la reperul R sau relativ la sistemul de axe ortogonale, asociat.
In mod natural ne ntrebam prin ce se deosebesc cele doua baze, respectiv repere ortonormate
ce le-ar avea ca baze. Cum am numit baza dreapta orice baza la fel orientata ca baza canonica,
sa caracterizam bazele drepte si respectiv strambe.
1
1
Deoarece v 0 = v/v =
(a, b)T si w0 =
(b, a)T , matricea de trecere
2
2
2
2
a +b
a +b
de la baza canonica B din R2 , la baza B1 = (v 0 , w0 ), este:
a
b
2
2
a2 + b2
TBB1 = [v 0 |w0 ] = a b+ b
a2 + b2
a2 + b2
si det(TBB1 ) = 1 > 0. Deci B1 este baza dreapta. Calculand determinantul matricii de trecere
de la B la B2 = (v 0 , w0 ) obtinem 1 < 0, deci baza B2 este o baza stanga.
In concluzie:
Daca v = (a, b)T este un vector nenul, atunci versorul sau si versorul vectorului w =
(b, a)T definesc o baza ortonormata dreapta.
Pentru a vedea care este pozitia vectorilor unei baze ortonormate drepte (strambe) B =
(u1 , u2 ) fata de baza canonica B = (e1 , e2 ), exprimam vectorii ui n functie de vectorii bazei B:
u1 = < u1 , e1 > e1 + < u1 , e2 > e2
u2 = < u2 , e1 > e1 + < u2 , e2 > e2
Dar
< ui , ej >=
< ui , ej >
= cos(u[
i , ej )
ui ej
|{z} |{z}
=1
Deci:
=1
u1 = cos(u[
[
1 , e1 ) e1 + cos(u
1 , e2 ) e2
u2 = cos(u[
[
2 , e1 ) e1 + cos(u
2 , e2 ) e2 ,
Notand = mas(u[
a n rosu), rezulta ca u1 = cos e1 +
1 , e1 ) (vezi Fig.8.2 baza colorat
cos(/2 ) e2 = cos e1 + sin e2 . u2 fiind ortogonal pe u1 poate avea coordonatele (vezi
discutia de mai sus relativ la vectorii ortogonali v, w R2 ):
1. u2 = sin e1 + cos e2 ,
adica masura unghiului dintre u2 si e2 este tot . In acest caz matricea de trecere
[
]
cos sin
TBB =
, are determinatul det(TBB ) = cos2 + sin2 = 1 > 0
sin
cos
Prin urmare baza ortonormata, B = (u1 = (cos , sin )T , u2 = ( sin , cos )T ) este o baza
dreapta.
Luand u2 vectorul opus celui din primul caz:
2. u2 = sin e1 cos e2
e2
u1
u2
e2
e1
u1
e1
u2
avem cos(u[
a masura unghiului dintre u2 si e2 nu este , ci
2 , e2 ) = cos = cos( ), adic
(vezi Fig.8.2 baza colorata n albastru). In acest caz matricea de trecere dintre cele doua
baze:
[
]
cos
sin
TBB =
, are determinantul det(TBB ) = cos2 sin2 = 1 < 0
sin cos
si deci baza ortonormata: B = (u1 = (cos , sin )T , u2 = (sin , cos )T ) este o baza stanga.
Discutia de mai sus este valabila, nu doar pentru perechea de baze (B, B ), unde B este baza
canonica, ci pentru orice doua baze de aceeasi orientare.
In concluzie O baza ortonormata B = (u1 , u2 ) din R2 are aceeasi orientare ca baza
ortonormata (e1 , e2 ) (care n particular poate fi baza canonica), daca masura unghiului
dintre u1 si e1 coincide cu masura unghiului dintre u2 si e2 (Fig. 8.2, rosu). Baza B
are orientare opusa bazei canonice, daca cele doua unghiuri au masuri diferite (Fig. 8.2,
albastru)
Avand aceasta informatie despre baze, sa deducem o modalitate de a identifica cand un reper
(sistem de axe ortogonale) este drept, respectiv stang.
Observam ca sistemul de axe xOy asociat reperului canonic
R = (O; e1 = (1, 0), e2 = (0, 1))
are particularitatea ca axa Oy se obtine rotind pe Ox n jurul lui O, n sens trigonometric cu 90
de grade (Fig. 8.3).
Un sistem de axe x Oy ale carui axe sunt asociate unui reper ortonormat drept, cu aceeasi
origine, R = (O; (u1 , u2 )), are particularitatea ca unghiul dintre Ox si Ox este egal cu
unghiul dintre Oy si Oy (Fig. 8.3). Astfel structura sudata x Oy se obtine rotind cu unghiul
pe xOy. Deci si x Oy are aceeasi particularitate ca xOy si anume axa a doua se obtine rotind
prima axa n sens trigonometric cu 90 de grade.
In conluzie, un reper ortonormat din plan avand axele ortogonale asociate, Ox, Oy, astfel
ncat Oy se obtine din Ox printr-o rotatie de 90 de grade n sens trigonometric (anti-clockwise
9
y
e2
u2
x
u1
e1
Fig.8.3: Pozitia unui sistem de axe drept, x Oy fata de sistemul de axe canonic, xOy
sau counter-clockwise n computer graphics!), n jurul lui O, este un reper drept. Daca Oy se
obtine rotind Ox n sensul acelor ceasornicului, cu 90 de grade, atunci reperul este stang.
In spatiul afin En (n = 2, si n = 3 fiind cazurile de interes pentru CS) nu exista un singur
reper ortonormat, ci o infinitate de repere. Orice alegere a unui punct, si a unei baze ortonormate
ne conduce la alt reper ortonormat. Problema care se ridica este sa determinam relatia dintre
coordonatele unui punct relativ la un reper dat si apoi relativ la un reper nou. Cea mai simpla
schimbare de repere este:
8.4
Daca R = (O, e1 , e2 |, e3 ) este un reper ortonormat drept n plan sau spatiul 3D1 si O un
punct care are relativ la acest reper coordonatele (x0 , y0 |, z0 ), atunci reperul drept ce are aceeasi
baza, dar alta origine, O , R = (O ; e1 , e2 |, e3 ), se zice ca s-a obtinut din reperul R printr-o
translatie pe directia OO . Notand cu xOy|z sistemul de axe ortogonale asociat primului reper
si cu x O y |z sistemul asociat celui de-al doilea reper, remarcam ca axele corespunzatoare din
cele doua repere sunt paralele, avand aceeasi directie (de exemplu Ox si O x au directia si
1
Bara | ntre e2 si e3 este inclusa pentru a preciza ca n cazul 2D baza contine doar vectorii e1 , e2 , iar n cazul
3D, pe e1 , e2 , e3 .
10
y
y
(x, y) M (x , y )
e2
O e1
e2
O e1
Fig.8.5: Doua sisteme de axe ortogonale drepte obtinute unul din celalalt prin translatie.
Propozitia 8.4.1 Daca originea O a reperului R , obtinut prin translatie din reperul R, are
coordonatele (x0 , y0 |, z0 ) relativ la reperul initial, R, si un punct arbitrar M are coordonatele
(x, y|, z) relativ la reperul R si respectiv coordonatele (x , y |z ) relativ la reperul R , atunci
relatiile dintre cele doua tipuri de coordonate sunt:
x = x x0
y = y y0 |
z = z z0
(8.1)
Demonstratie: Din regula lui Chasles (Fig.8.5 pentru cazul 2D) avem ca
OO + O M = OM
Din definitia coordonatelor relativ la un reper rezulta ca:
OO = x0 e1 + y0 e2 | + z0 e3 , O M = x e1 + y e2 | + z e3 ,
sau
x = x x0
y = y y0 |
z = z z0
11
y
M (x, y)
(x , y )
u2
e2
u1
O e1
Fig.8.6: Doua sisteme de axe ortogonale drepte obtinute unul din celalalt prin rotatie n jurul originii
comune.
8.5
OM = xe1 + ye2
OM = x u1 + y u2
Dar aceste relatii reprezinta de fapt exprimarea aceluiasi vector OM n doua baze ortonormate drepte, diferite, B = (e1 , e2 ), B = (u1 , u2 ). Din cursurile relativ la schimbari de baze
stim ca:
OM B = TBB OM B
(8.2)
Dar am dedus mai sus ca matricea de trecere dintre doua baze ortonormate drepte, din R2 este
matricea:
[
]
cos() sin()
TBB =
, = mas(e[
as(e[
1 , u1 ) = m
2 , u2 )
sin()
cos()
si deci relatia (8.2) devine:
[ ]
[
][ ]
x
cos() sin()
x
=
(8.3)
y B
y B
sin()
cos()
1
T
iar relatia inversa se obtine tinand seama ca TBB
= TBB .
12
la un nou reper ortonormat, R = (O ; (u1 , u2 , |u3 )), care are o alta origine si o alta baza.
Presupunem ca R = (O; (e1 |e2 |e3 )) este un reper ortonormat de axe Oxy|z, asociat bazei
| {z }
B
canonice, O are coordonatele (x0 , y0 |z0 ) relativ la R. Baza noului reper, B = (u1 , u2 |u3 ), este
o baza ortonormata, dreapta sau stramba.
Pentru a determina relatia dintre coordonatele (x, y, z) ale unui punct arbitrar M din En
(n=2,3) relativ la reperul R, respectiv coordonatele M (x , y , |z ), relativ la noul reper R =
(O ; (u1 , u2 , |u3 )), se procedeaza astfel:
se efectueaza mai ntai o translatie a reperului initial, R, n reperul intermediar, Rt =
(O ; (e1 , e2 , |e3 )), ce are ca origine pe O , dar aceeasi baza ca reperul initial. Notam cu O XY |Z
sistemul de axe asociat. Punctul arbitrar M va avea relativ la acest reper, coordonatele:
X = x x0
Y = y y0 |
Z = z z0
(8.4)
O M B = Xe1 + Y e2 | + Ze3
O M B = x u1 + y u2 | + z u3
(8.5)
X
x
Y | = TBB y |
Z B
z B
Inlocuind pe X, Y, Z cu expresia lor din (8.4) obtinem:
x x0
x
x
y y0 | = TBB y | , y| =
z z0
z
z
| {z } |
M =punct
x0
x
y0 | + TBB y |
z0
z
{z } |
{z
}
O =punct
(8.6)
(8.7)
vector
13
1. Fie R = (O; e1 , e2 ) reperul canonic (al lumii reale 2D), de axe asociate xOy si O (2, 1)
un punct raportat la acest reper. Construiti un reper ortonormat drept cu originea n O si axele
avand versorii (u1 , u2 ), stiind ca masura unghiului dintre u1 si e1 este = /3. Sa se determine
relatia dintre coordonatele (x, y) ale unui punct M si coordonatele (x , y ) relativ la reperul
R = (O ; u1 , u2 ). Desenati cele doua sisteme de axe.
y
Y
x
(x, y)
(x , y )
e2
u1
u2
O
e1
e2
O
e1
Reperul fiind drept, nseamna ca baza ortonormata (u1 , u2 ) este astfel ncat mas(e[
1 , u1 ) =
mas(e[
am prin cosinusii directori:
2 , u2 ) = /3. Prin urmare, vectorii unitari u1 , u2 i d
u1 = (cos , cos )T , = /2
u1 = (cos(/3), cos(/2 /3))T =
= (cos(/3),
sin(/3))T = (1/2, 3/2)T
u2 = ( 3/2, 1/2)T
Noul reper are originea n O si axele O x , O y , de directie si sens u1 , u2 .
Din datele problemei, cunoastem coordonatele noii origii, O , relativ la reperul R, ceea ce
nseamna ca vectorul sau de pozitie este:
OO = 2e1 + e2
Coordonatele punctului M relativ la reperul R sunt (x, y), adica:
OM = xe1 + ye2
Se cer coordonatele punctului M relativ la noul reper, R .
axe O XY (axele colorate n verde). Coordonatele (X, Y ) ale unui punct arbitrar M relativ la
acest reper sunt:
X = x x0 = x + 2
(8.8)
Y = y y0 = y 1
14
2. Se considera o noua schimbare de reper, cu originea tot n O , dar directiile axelor sunt
date de u1 , u2 (axele colorate n rosu). Relatia dintre coordonatele (X, Y ) ale punctului M si
coordonatele (x y ) relativ la noul reper sunt date de relatiile de schimbare de baza:
O M B = TB B O M B
adica:
x
y
]
=
T
TBB
X
Y
]
3/2
1/2
3/2
1/2
si deci avem ca, coordonatele unui punct n reperul R , n functie de coordonatele aceluiasi
punct n reperul R sunt:
[ ] [
]
][
x
3/2
1/2
x
+
2
=
y
y1
3/2
1/2
Cursul 9
Maparea unei ferestre 2D dintr-un sistem drept de axe
ortogonale pe un viewport dintr-un sistem stang.
Orientarea reperelor 3D
9.1
xp
yp
Fig.9.1: Sistemul de axe al device-lui de afisare grafica.
FireFox, Safari, IE), ncepand de la o anumita versiune a browser-ului Canvas-ul (numele vine
de la panza folosita pentru picturile n ulei) este o regiune dreptunghiulara definita n codul
HTML
<canvas id="DesenCanvas" width="300" height="200">
.
.
.
</canvas>
si care poate fi accesata de un script JavaScript, ce contine functii de trasare, desenare, etc.
Cu aceste precizari, putem formula mai concret problematica maparii unei ferestre [a, b]
[c, d], din sistemul drept de axe ortogoanle, Oxy, al lumii reale, pe un viewport raportat la un
sistem stang de coordonate.
y
(b, d)
xp
(pr , pt )
D
M
(a, c)
O
yp
(pl , pb )
y
(b, d)
(a, c)
(b, d)
(a, c)
x O
Fig.9.3: In stanga, imagine pe care dorim s-o mapam pe un viewport (canvas). In dreapta imaginea
discretizata.
Evident ca coordonatele (xi , yi ) sunt coordonate relativ la sistemul de axe ortogonale xOy
(al lumii reale). Fereasta minima n care intra aceste puncte are parametrii a = 1, b = 3,
c = 1, d = 3. Prin urmarea imaginea discreta intra n fereastra [a, b] [c, d]. Dorim sa
desenem imaginea reprezentata de aceste puncte pe un viewport (canvas) definit de p = 100,
pr = 400, pt = 50, pb = 300. Pentru a vizualiza emoticonul, mapam punctele (xi , yi ) pe ecran
(canvas), adica pe pixelii de coordonate ((xp )i , (yp )i ), i = 1, N si apoi interpolam punctele de
pe ecran (canvas) (printr-o procedura care se nvata la grafica) ncat din ele sa generam cercul
ce delimiteaza fata si ochii, apoi conturul nasului si curba ce imita gura.
9.2
Pentru a gasi expresia aplicatiei mapare, adica functia, M, care asociaza fiecarui punct
(x, y) [a, b] [c, d] un punct (xp , yp ) [p , pr ] [pb , pt ], se parcurg mai multe etape:
Etapa 1. Efectuam o schimbare de repere drepte prin translatie, cu originea n coltul stanga
jos, F (a, c), al ferestrei si notam cu F x y sistemul de axe asociat.
y
y
(x , y )
M (x, y)
F
x
x
Un punct arbitrar M (x, y) al obiectului de vizualizat are relativ la sistemul F x y coordonatele (x , y ), unde:
x = x a
(9.1)
y = y c
Fereastra ce trebuie mapata pe viewportul stabilit este n noul sistem de coordonate [0, b a]
[0, d c].
Etapa 2. Transformam fereastra [0, b a] [0, d c] ntr-una avand dimensiunile viewportului, adica lungimea pr p si naltimea pb pt .
Aceasta transformare este definita de o aplicatie, numita scalare de factori A, B, unde
scalarea S : R2 R2 are expresia analitica:
S(x , y ) = (Ax , By ),
A, B > 0
Observam ca S(0, 0) = 0. Daca A > 1, B > 1, atunci S produce dilatare pe ambele directii,
F x , F y , iar daca A < 1, B < 1, atunci produce contractie. Daca A > 1 si B < 1 atunci avem
dilatare pe directia orizontala si contractie pe cea verticala, etc.
Cum alegem factorii de scalare astfel ncat fereastra [0, b a] [0, d c] sa fie mapata pe
fereastra [0, pr p ] [0, pb pt ] (raportate ambele la sistemul de coordonate F x y )?
Deoarece originea F (x = 0, y = 0) este mapata n ea nsasi de S, punem conditia ca
punctul diagonal opus al ferestrei, (b a, d c) (Fig.9.4), sa fie aplicat de scalarea S n punctul
(pr p , pb pt ) si obtinem:
(b a, d c) = (pr p , pb pt )
S
A=
pr p
pb pt
,B =
ba
dc
pr p
X = ba x
S(x , y ) = (X , Y ), unde
(9.2)
pb pt
Y =
y
dc
Practic se aplica transformarea S fiecarui punct Mi (xi , yi ), al obiectului discret si se obtin
punctele Pi (Xi , Yi ) care apartin acum domeniului dreptunghiular avand dimensiunile viewportului. (Fig.9.4 dreptunghiul rosu). Precizam ca atat coordonatele (x , y ), cat si (X , Y ) sunt
coordonate relativ la sistemul de axe x F y .
y
(b a, d c)
(pr pl , pb pt )
M (X , Y )
x
x
Fig.9.4: Efectul transformarii S asupra domeniului dreptunghiular, [0, b a] [0, d c], este domeniul
dreptunghiular avand dimensiunile viewportului de pe ecran (cel cu frontiera colorata cu rosu).
400 100
300
=
= 150,
31
2
B=
300 50
250
=
= 125
31
2
Factorii de scara nefiind egali, figura va fi deformata, adica va fi mai dilatata pe directia
orizontala pentru ca A > B (Fig.9.5).
Doar cand factorii de scara sunt egali, A = B, atunci figura din sistemulul lumii reale
ramane nedeformata n fereastra de dimensiunile viewportului. Dar A = B daca si numai daca:
pb pt
pr pl
=
ba
dc
pr pl
ba
=
pb pt
dc
Prin urmare daca dorim imagine nedeformata, se alege p , pr , pb , pt astfel ncat sa avem rapoartele
de mai sus egale.
Etapa 3. Ipotetic, sistemul de axe x F y se lipeste pe ecran/canvas astfel ncat dreptunghiul [0, pr pl ] [0, pb pt ] din acest sistem sa se suprapuna peste viewport. Astfel punctul
F are coordonatele pixel (pl , pb ) (Fig.9.6).
Dupa ce am realizat aceasta pozitionare, deducem pentru fiecare punct M (X , Y ), rezultat
dupa scalare si raportat la sistemul x F y , ce coordonate are acesta relativ la sistemul stramb
y
(b a, d c)
(pr p , pb pt )
Fig.9.5: Stanga: imaginea raportata la sistemul xFy. Dreapta: imaginea emoticonului dupa scalarea
aplicata punctelor raportate la sistemul x F y .
D
xp
M (X , Y )
(xp , yp )
F (pl , pb )
yp
Fig.9.6: Pozitionarea sistemului de axe ortogonale F x y pe ecran.
xp Dyp . Cunoscand coordonatele (xp , yp ) ale punctului M , apelam o functie grafica care l
vizualizeaza/coloreaza pe ecran, imagine sau canvas (aceste functii opereaza cu coordonate
pixel!!!).
Pentru a afla legatura dintre coordonatele (X , Y ) ale unui punct raportat la x F y si coordonatele aceluiasi punct raportat la sistemul stramb xp Dyp , precizam ca sistemul de axe x F y are
directiile axelor date de baza canonica (e1 , e2 ), iar sistemul de axe xp Dyp are directiile axelor
e1 respectiv e2 (axele Dxp ||F x , au aceeasi directie si sens, e1 , iar Dyp are aceeasi directie ca
F y , dar sens opus, e2 .)
Punctul F are coordonatele (0, 0) relativ la sistemul drept (este originea sistemului) si respectiv coordonatele (p , pb ) relativ la cel stramb. Mai stim ca un punct arbitrar M , din imaginea
ce vrem sa o generam are coordonatele (X , Y ) relativ la x F y . Pentru a afla coordonatele sale
relativ la sistemul xp Dyp , scriem relatiile lui Chasles (Fig.9.7):
e1
xp
y
e2
M (xp , yp )
(X , Y )
e2
e1
yp
Fig.9.7: Vectorii de pozitie ai unui punct M raportat la sistemul drept x F y , respectiv sistemul stramb
xp Dyp .
DF + F M = DM ,
unde:
DF = p e1 + pb (e2 ),
F M = X e1 + Y e2 ,
DM = xp e1 + yp (e2 )
si nlocuind obtinem:
p e1 + pb (e2 ) + X e1 + Y e2 = xp e1 + yp (e2
sau
(p + X )e1 + (Y pb )e2 = xp e1 yp e2
Acesti doi vectori (din ultima relatie) sunt egali daca si numai daca coordonatele lor sunt egale
adica:
xp = p + X
(9.3)
yp = pb Y
Combinand acum relatiile (9.3, 9.2, 9.1) aflam coordonatele pixel (xp , yp ) ale unui punct
din imaginea ce vrem sa o generam pe viewport, cunoscand coordonatele (x, y) ale punctului
corespunzator din imaginea raportata relativ la sistemul lumii reale, xOy (sistemul initial cu
care am pornit n Etapa 1):
xp = p +
pr p
pr p
x = p +
(x a)
b a | {z }
| b {za }
X
yp
pb pt
pb pt
y = pb
(y c)
= pb
| {z }
d
c
d
c
| {z }
Y
(9.4)
a1 a2 a3
a a
a a
a a
< v1 v2 , v1 >= a1 2 3 a2 1 3 + a3 1 2 = a1 a2 a3 = 0
b2 b3
b1 b3
b1 b2
b1 b2 b3
v1 v2
v1
v2
Reciproc, daca produsul vectorial a doi vectori este vectorul nul, atunci fie cel putin un vector
este vectorul nul, fie cei doi vectori sunt coliniari.
Norma produsului vectorial este egal cu produsul normelor celor doi vectori si sinusul
unghiului dintre ei: v w = vw sin(v,
d
w) (se verifica prin calcul direct).
Produsul scalar dintre vectorul produs vectorial v w si un vector u R3 este egal cu
determinantul matricii A = [v|w|u], adica < v w, u >= det([v|w|u]).
Demonstratie: Fie v = (x1 , x2 , x3 )T , w = (y1 , y2 , y3 )T , u = (z1 , z2 , z3 )T . Produsul scalar este
egal cu:
x1 x2 x3
x2 x3
x1 x3
x1 x2
z3 = y1 y2 y3 =
z2 +
z1
< v w, u > =
y1 y2
y1 y3
y2 y3
z1 z2 z3
x1 y1 z1
= x2 y2 z2 = det([v|w|u])
x3 y3 z3
(9.5)
cf.(9.5)
(9.6)
10
Propozitia 9.3.2 Baza ortonormata B = (u1 , u2 , u3 ) din R3 este o baza la fel orientata ca
baza canonica, daca si numai daca este verificata una din relatiile:
u1 u2 = u3
u2 u3 = u1
u3 u1 = u2 .
(9.7)
e2
e1
Conform propozitiei de mai sus orice baza ortonormata pozitiv orientata se comporta fata
de regula burghiului, la fel ca baza canonica.
Norma produsului vectorial a doi vectori este egala cu aria paralelogramului construit pe
cei doi vectori.
Demonstratie: Norma vectorului produs vectorial este: v w = vw sin(v,
d
w). Aria
paralelogramului construit pe cei doi vectori este baza, v, ori naltimea, h = w prv (w).
w
w prv (w)
prv (w)
11
Exemplul 1. In E3 raportat la un sistem de axe ortogonale xOyz se dau punctele A(1, 2, 0),
B = (3, 4, 1), C(2, 1, 1). Sa se calculeze aria triunghiului ABC.
Aria triunghiului ABC este jumatate din aria paralelogramului construit pe vectorii AB, AC.
Prin urmare aria este:
1
A(ABC) = AB AC
2
T
Dar AB = B A = (4, 2, 1) , AC = C A = (1, 1, 1)T si
e1 e2 e3
2 1 = 3e1 5e2 2e3 = (3, 5, 2)T
AB AC = 4
1 1 1
Rezulta astfel ca un sistem ortogonal de axe Ox, Oy, Oz este un sistem drept, sau pozitiv
orientat, daca:
rotind axa Ox spre Oy burghiul nainteaza n sensul lui Oz;
sau
rotind axa Oy spre Oz burghiul nainteaza n sensul lui Ox;
sau
rotind axa Oz spre Ox burghiul nainteaza n sensul lui Oy;
12
x1
x2
L(x) = Ax, x = .. Rn
.
xn
De exemplu matricea
[
A=
1
4 3
2 1 5
[
[
] x1
]
x1
x
+
4x
+
3x
1
4
3
1
2
2
x2 =
L x2 =
2x1 x2 + 5x3
2 1 5
x3
x3
Deci aplicatia L are relativ la bazele canonice din cele doua spatii urmatoarea expresie analitica1 :
L(x1 , x2 , x3 )T = (x1 + 4x2 + 3x2 , 2x1 x2 + 5x3 )T
Sa verificam ca aplicatia L definita prin L(x) = Ax este ntr-adevar o aplicatie liniara de la
Rn la Rm :
AL1. Fie x, y Rn . Conform definitiei aplicatiei L, avem ca L(x + y) = A(x + y). Dar
A(x + y) = Ax + Ay si deci L(x + y) = Ax + Ay = L(x) + L(y).
AL2. Fie R si x Rn . L(x) = A(x) = (Ax) = L(x).
1
Reamintim ca o aplicatie (functie) este perfect (complet) definita cand se precizeaza domeniul de definitie D,
multimea n care f ia valori E si legea de corespondenta , adica regula care asociaza la orice argument x din D o
singura valoare y = f (x) din E. Aceasta lege de corespondenta este expresia analitica a lui f . De exemplu functia
exponentiala este definita pe R cu valori n (0, ), f : R (0, ), iar expresia ei analitica este f (x) = ex .
13
Exemplul 3. Spatiul vectorial P3 (R) al functiilor polinomiale de grad cel mult trei cu coeficienti
reali are dimensiunea 4 deoarece o baza n acest spatiu este B = (1, x, x2 , x3 ), adica orice
functie polinomiala, P , de grad cel mult 3 se exprima ca o combinatie liniara a celor 4 polinoame:
P (x) = a0 + a1 x + a2 x2 + a3 x3 ,
a0 , a1 , a2 , a3 R
Deci, spatiul vectorial P3 (R) este izomorf cu spatiul vectorial R4 si un izomorfism intre ele
este:
B (a0 + a1 x + a2 x2 + a3 x3 ) = (a0 , a1 , a2 , a3 )T
Deoarece orice spatiu vectorial real de dimensiune finita, n, este izomorf cu Rn ntreaga
problematica a algebrei liniare relativ la aplicatii liniare o vom exemplifica prin aplicatii L :
Rn Rm , n loc de L definit ntre doua spatii vectoriale abstracte Vn si Wm .
Proprietate: O aplicatie liniara L : V W aplica vectorul nul din V pe vectorul nul din W :
L(V ) = W
Demonstratie: Fie v un vector arbitrar din V . v v = V . Deci
AL1
14
(9.8)
ABB
L(e1 )
a11
a12
= ..
.
a1m
L(e2 )
a21 . . .
a22 . . .
..
.
...
a2m
L(en )
an1
an2
..
.
. . . anm
(9.9)
Deci ATENTIE, numarul de linii ale matricii A este egal cu dimensiunea codomeniului,
iar numarul de coloane cu dimensiunea domeniului de definitie al aplicatiei liniare L : Vn
Wm .
x2
x3
15
Deci matricea aplicatiei L relativ la bazele canonice din cele doua spatii este:
[
]
2 1 5
A=
3 7 1
In continuare aratam ca este suficient sa cunoastem efectul unei aplicatii liniare L : Vn Wm
pe vectorii unei baze din Vn , cu alte cuvinte coloanele matricii aplicatiei L, pentru a putea
calcula apoi efectul lui L asupra oricarui alt vector din spatiu. Si anume:
Propozitia 9.5.1 Fie L : Vn Wm o aplicatie liniara ce are relativ la bazele B Vn ,
B Wm matricea A si v un vector arbitrar din Vn care are descompunerea v = x1 e1 +
x2 e2 + xn en n baza B. Atunci vectorul imagine w = L(v) are exprimarea w =
y1 u1 + y2 u2 + ym um n baza B si coordonatele sale y1 , y2 , . . . ym se exprima n functie
de coordonatele x1 , x2 , . . . , xn ale lui v astfel, wB = AvB , adica:
x1
y1
x2
y2
=
A
..
..
.
.
(9.10)
xn B
ym B
w
= L
(v)
Demonstratie:
Deoarece L(ei ) = m
and proprietatea de liniaritate a lui L:
j=1 aij uj , obtinem aplic
m n
w = L(v) = L( ni=1 xi ei ) = ni=1 xi L(ei ) = ni=1 xi m
j=1 aij uj =
j=1 (
i=1 aij xi ) uj
=(
n
i=1
ai1 xi ) u1 + (
n
i=1
ai2 xi ) u2 + + (
n
i=1
aim xi ) um = y1 u1 + y2 u2 + + ym um
x1
n
[
]
x2
yj =
aij xi = a1j x1 + a2j x2 + + anj xn = a1j a2j . . . anj ..
.
i=1
xn
Prin urmare:
y1
y2
..
.
ym
a11
a12
..
.
a21
a22
..
.
. . . an1
. . . an2
..
...
.
x1
x2
..
.
xn
(9.11)
16
(9.12)
1
0
1
3 4
1
A=
2
1
7
5
3 11
1
0
1
y1
y2 3 4
1
y3 = 2
1
7
5
3 11
y4
Deci
x1 + x3
x1
x2 == 3x1 4x2 + x3 ,
2x1 + x2 + 7x3
x3
5x1 + 3x2 11x3
adica
L(x1 , x2 , x3 )T = (x1 + x3 , 3x1 4x2 + x3 , 2x1 + x2 + 7x3 , 5x1 + 3x2 11x3 )T
| {z } |
{z
} |
{z
} |
{z
}
y1
y2
y3
y4
Cursul 10
Operatori liniari. Valori si vectori proprii ai unui operator
liniar (matrice patratica)
In prima parte a cursului deducem matricile unor aplicatii liniare importante: matricea
proiectiei ortogonale pe un subspatiu, matricea rotatiei n R2 de unghi si matricile rotatiilor n
jurul vectorilor unei baze ortonormate n R3 .
Reamintim ca daca Vn , Wm sunt doua spatii vectoriale peste acelasi corp K, iar
B = (e1 , e2 , . . . , en ) este o baza fixata n Vn , iar B = (u1 , u2 , . . . , um ) o baza n Wm , atunci
daca v = x1 e1 + x2 e2 + + xn en si w = L(v) = y1 u1 + y2 u2 + ym um relatia w = L(v)
este echivalenta cu relatia matriciala:
wB = AvB
y1
y2
..
.
ym
10.1
=
A
x1
x2
..
.
xn
2CURSUL 10. OPERATORI LINIARI. VALORI SI VECTORI PROPRII AI UNUI OPERATOR LINIAR (M
B, din S:
prS (v) = pru1 (v)+pru2 (v)+ +prum (v) =< v, u1 > u1 + < v, u2 > u2 + + < v, um > um
Din aceasta expresie a aplicatiei proiectie, rezulta ca prS este aplicatie liniara. Intr-adevar:
1. prS (v1 + v2 ) = m
uk = m
k=1 < (v1 + v2 ), uk >
k=1 [< v1 , uk > uk + < v2 , uk > uk ] =
m
m
=
k=1 < v1 , uk > uk +
k=1 < v2 , uk > uk = prS (v1 ) + prS (v2 )
2.
prS (v) =
k=1
< v, uk > uk =
< v, uk > uk =
k=1
k=1
Stiind acum ca prS este aplicatie liniara, sa aflam matricea ei relativ la baza canonica, B =
(e1 , e2 , . . . , en ), din Rn si respectiv baza ortonormata B = (u1 , u2 , . . . , um ) din subspatiul S:
A = [prS (e1 )|prS (e2 )| . . . |prS (en )]
Dar prS (ei ) =< ei , u1 > u1 + < ei , u2 > u2 + +
este:
A=
..
..
.
.
< e1 , um > < e2 , um >
. . . < en , u 1 >
. . . < en , u 2 >
..
...
.
. . . < en , um >
u1
u2
A = ..
= [u1 |u2 | |um ]T
.
um
iar proiectia unui vector v = x1 e1 + x2 e2 + + xn en Rn va fi vectorul s = y1 u1 + y2 u2 +
ym um S, unde:
x1
y1
x2
y2
T
.. = [u1 |u2 | . . . |um ] ..
|
{z
}
.
.
=A
xn
ym
6
6
A = [u1 |u2 ]T = 26
1
0
5
5
Daca v = (x1 , x2 , x3 )T R3 , atunci vectorul s = prS (v) este s = y1 u1 + y2 u2 , unde:
1
2
1
[
]
x1
y1
6
6
= 26
x2
1
y2
0
x3
5
5
(10.1)
a11 a21
a12 a22
..
..
.
.
a1n a2n
. . . an1
. . . an2
.
. . . ..
. . . ann
10.2
In continuare dam un exemplu de transformare liniara a lui R2 al carei efect asupra vectorilor
are si o interpretare geometrica.
In Cursul 7 am demonstrat ca o baza ortonormata la fel orientata ca baza canonica B =
(e1 , e2 ) din R2 este de forma
B = (u1 = (cos , sin )T , u2 = ( sin , cos )T ,
adica mas(e\
as(e\
1 , u1 ) = m
2 , u2 ) = (Fig.10.1).
2
Notam cu R : R R2 , (, ], aplicatia liniara care aplica (transforma) vectorul
e1 n u1 si e2 n u2 . Matricea aplicatiei liniare R relativ la baza canonica si n domeniu si n
codomeniu este atunci:
[
]
cos sin
A = [R (e1 )|R (e2 )] = [u1 |u2 ] =
sin
cos
Sa caracterizam efectul aplicatiei liniare R asupra unui vector arbitrar v. Notam cu
masura unghiului dintre v si e1 . Astfel versorul lui v este v 0 = v/v = (cos , sin )T si
deci v = vv 0 . Datorita liniaritatii este suficient sa calculam vectorul w = R (v 0 ), deoarece
R (v) = R (vv 0 ) = v R (v 0 ). Daca vectorul w = R (v 0 ) are n baza canonica coordonatele y1 , y2 , atunci din reprezentarea matriciala a operatorului R avem:
] [
][
]
[
cos sin
cos
y1
=
=
w =
y2
sin
cos
sin
(10.2)
[
] [
]
cos cos sin sin
cos( + )
=
=
sin cos + cos sin
sin( + )
Prin urmare versorul v 0 ce formeaza unghiul cu e1 este transformat n versorul ce formeaza
unghiul + cu e1 , adica R roteste vectorul v 0 cu unghiul si evident aceelasi efect va avea
si asupra vectorului v (Fig.10.1).
R (v)
e2
u2
v
u1
e1
Deoarece orice vector v = (x, y)T R2 se identifica cu punctul M (x, y), adica OM = v,
n grafica se aplica rotattia plana punctelor din plan, si anume R (M ) este punctul ce se obtine
rotind punctul M n jurul originii, cu unghiul , adica n cursul rotirii punctul descrie un arc
R (M )
10.3
Transformari de nclinare n R2
6
e2
v
Ae2
Av
Ae2
Av
e2
e1 = Ae1
e1 = Ae1
Fig.10.2: Efectul transformarii nclinare pe directia lui e1 . In stanga nclinarea se realizeaza n sensul lui
e1 , iar n dreapta n sens contrar.
Deoarece prima coloana a matricii contine coordonatele vectorului Ae1 , iar a doua ale lui
Ae2 remarcam ca o nclinare pe directia lui e1 lasa vectorul e1 pe loc, iar ceilalti vectori v
sunt nclinati pe directia lui e1 .
Deci efectul nclinarii asupra unui vector, v = (x, y)T , este:
[
][ ] [
]
1 a
x
x + ay
w=
=
0 1
y
y
Prin urmare nclinand vectorul v pe directia e1 , obtinem un vector w ce are aceeasi ordonata, y.
In (Fig. 10.2), este ilustrat efectul unei astfel de transformari asupra unui vector cu coordonata
a doua pozitiva. Parametrul a este pozitiv pentru transformarea Fig.10.2 stanga si respectiv
negativ n Fig. 10.2, dreapta.
In mod analog se defineste transformarea de nclinare pe directia lui e2 , si anume matricea
transformarii este:
]
[
1 0
, a = 0
A=
a 1
iar efectul ei asupra unui vector v = (x, y)T este:
][ ] [
]
[
x
x
1 0
=
Av =
a 1
y
ax + y
Desenati efectul acestei nclinari asupra vectorului e2 si respectiv orice alt vector v = e2 , n
cazul a > 0 si respectiv negativ.
Pentru a ilustra mai bine efectul transformarii afine de tip nclinare pe directia lui Ox consideram 12 puncte raportate la sistemul de axe ortogonale Oxy avand respectiv coordonatele:
A1 = O = (0, 0), A2 = (1, 0), A3 = (1, 6), A4 = (4, 0), A5 = (7, 6), A6 = (7, 0)
A7 = (8, 0), A8 = (8, 8), A9 = (7, 8), A10 = 4, 2), A11 = (1, 8), A12 = (0, 8)
Aceste puncte sunt varfurile literei majuscule M din Fig.10.3, stanga. Aplicand vectorilor de
A12
A8
A4
x O
Fig.10.3: Efectul transformarii nclinare de parametru a = 0.4, pe directia lui Ox1 , asupra varfurilor
literei M .
Consideram un reper ortonormat drept, de axe Ox, Oy, Oz, avand respectiv directiile si
cos
sin
Rz (e1 ) = sin , Rz (e2 ) = cos
0
0
Fig.10.4: Sensul pozitiv de rotatie n jurul lui Ox, Oy, respectiv Oz.
cos sin 0
cos 0
Az = [Rz (e1 )|Rz (e2 )|Rz (e3 )] = sin
0
0 1
iar expresia analitica a rotatiei n jurul lui Oz este: Rz (x, y, z) = (X, Y, Z) unde:
x
cos sin 0
X
Y = sin
cos 0 y ,
z
0
0 1
Z
adica daca OM = xe1 +ye2 +ze3 , atunci vectorul rezultat dupa rotatie, OM = Xe1 +Y e2 +Ze3
si coordonatele X, Y, Z se gasesc conform relatiei matriciale precedente. Daca (0, ] se
spune ca avem rotatie n sens pozitiv, iar daca (, 0) rotatie este in sens negativ. Vizual
distingem cele doua rotatii astfel: rotatia n sens pozitiv este rotatia care face ca burghiul sa
nainteze pe directia si sensul lui Oz (Fig.10.4). Rotind de la Ox spre Oy burghiul nainteaza
pe sensul lui Oz.
In mod analog, rotatia n jurul axei Ox, n sens pozitiv, are expresia analitica Rx (x, y, z) =
(X, Y, Z):
X
1
0
0
x
Y = 0 cos sin y , (0, )
Z
0 sin
cos
z
iar rotatia n jurul lui Oy n sens pozitiv este Ry (x, y, z) = (X, Y, Z):
X
cos 0 sin
x
Y =
0 1
0 y , (0, )
Z
sin 0 cos
z
A se observa ca sensul pozitiv de rotatie n jurul lui Oy este sensul n care rotesc burghiul
dinspre Oz spre Ox ncat el sa nainteze pe directia lui Oy.
Transformarile liniare prezentate mai sus sunt descrise ntr-o baza. Deseori nsa ne intereseaza expresia analitica a unui operator liniar n alta baza.
Propozitia 10.3.1 Daca AB este matricea operatorului liniar L : Vn Vn relativ la baza B,
iar AB matricea aceluiasi operator , relativ la baza B , atunci cele doua matrici sunt legate
prin relatia:
1
AB = TBB AB TBB
,
a10 a21
a12 a22
..
..
.
.
a1n a2n
. . . an1
. . . an2
.
. . . ..
a10 a21
a12 a22
..
..
.
.
a1n a2n
. . . an1
. . . an2
.
. . . ..
. . . ann
. . . ann
(10.3)
wB = AB vB
(10.4)
vB = TB B vB
TB B wB = AB TB B vB | TB1
B = TBB
(10.5)
1
wB = TBB AB TB B vB = TBB AB TBB
vB
(10.6)
AB = TB B AB TB1
B
10
10.4
In grafica 3D pentru a vizualiza un obiect acesta se roteste n jurul a diverse axe, nu neaparat
axe de coordonate.
x3
v
u1
u3
o
x1
x2
u2
11
AB
cos sin 0
cos 0
= sin
0
0 1
Cum baza B (reperul R ) este auxiliara, se determina matricea rotatiei, relativ la baza
initiala B astfel:
T
AB = TBB AB TBB
x1
X1
cos sin 0
T
X2 = TBB sin
cos 0 TBB
x2
0
0 1
x3
X3
Daca nsa corpul se roteste n jurul unei axe ce nu trece prin origine, ci printr-un punct
arbitrar C al corpului, atunci se efectueaza mai ntai o translatie a sistemului de axe, cu originea
n C si apoi se determina coordonatele corpului relativ la reperul RC = (C; e1 , e2 , e3 ) si se
construieste rotatia de centru C si axa v, ca mai sus.
10.5
Notiunea de vector si valoare proprie pentru o matrice patratica/operator liniar este una
dintre cele mai importante din algebra liniara, constituind baza pentru numerosi algoritmi de
calcul numeric si cu aplicatii deosebite n machine learning (recunoasterea fetelor umane, designul sistemelor de recomandare produse si servicii online, etc), data science, problemele de
analiza a retelelor de calculatoare, a retelelor sociale (Facebook, LinkedIn), respectiv n ierarhizarea paginilor WEB n functie de autoritatea sau popularitatea acestora, etc. Pragul de
infectare globala a unei retele de calculatoare, de catre un virus, este dat de o valoare proprie
particulara a matricii de adiacenta (conectivitate) a retelei.
12
(10.8)
..
.. = ..
..
..
.
.
.
.
.
an1 an2 . . . ann
xn
xn
(10.10)
Deoarece matricea unitate In , are efect neutru ntr-o nmultire, In vB = vB , relatia (10.9) este
echivalenta cu:
AvB = In vB (A In )[v] = 0,
(10.11)
adica:
a10
a21
..
.
a12
...
a22 . . .
..
.
an1
an2
a1n
a2n
..
.
. . . ann
x1
x2
..
.
xn
0
0
..
.
(10.12)
Datorita sirului de echivalente, rezulta ca operatorul liniar L admite vectori proprii de coordonate x1 , x2 , . . . , xn , daca sistemul liniar si omogen (10.12) admite solutii nebanale (pentru
ca un vector propriu este un vector nenul!). Dar un sistem liniar si omogen de n ecuatii cu n
necunoscute admite si solutii nebanale, daca determinantul matricii sistemului este 0, adica
det(A In ) = 0
Acest determinant depinde de necunoscuta K. Dezvoltand:
a10 a12
.
.
.
a
1n
a21
a22 . . . a2n
det(A In ) = ..
= (1)n n + cn1 n1 + + c1 + c0
..
..
.
.
.
an1
an2
. . . ann
(10.13)
13
0
x1
a10 0 a12
. . . a1n
a21
a22 0 . . . a2n
x2 0
(10.14)
.. = ..
..
..
..
. .
.
.
.
xn
0
an1
an2
. . . ann 0
admite si solutii nebanale. O solutie nebanala este constituita din coordonatele unui vector
propriu v, corespunzator valorii proprii 0 : L(v) = 0 v.
Avem astfel urmatorul algoritm de calcul (manual) a valorilor si vectorilor proprii:
Se determina matricea A a operatorului relativ la o baza fixata n Vn ;
Se calculeaza polinomul caracteristic Pn () = det(A In ).
Se rezolva ecuatia Pn () = 0. Radacinile din corpul K sunt valori proprii ai operatorului
L (mai precis, daca Vn este spatiu vectorial real, polinomul caracteristic este un polinom cu
coeficienti reali. Radacinile sale pot fi numere reale si/sau numere complexe conjugate. Vor fi
valori proprii doar radacinile reale ale polinomului caracteristic);
Pentru fiecare valoare proprie 0 se determina vectorii proprii corespunzatori. Si anume,
coordonatele acestor vectori sunt solutiile nebanale ale sistemului liniar si omogen:
a10 0 a12
. . . a1n
x1
0
a21
a22 0 . . . a2n
x2 0
(10.15)
=
..
.. ..
..
..
.
. .
.
.
an1
an2
. . . ann 0
xn
0
Observatia 10.5.1 Deoarece un operator liniar este reprezentat de o matrice patratica, iar
vectorii proprii de coordonatele lor se obisnuieste sa se formuleze aceeasi problema n limbaj
de matrici, si anume v = (x1 , x2 , . . . , xn )T = Kn este vector propriu al matricii A daca
exista un scalar K astfel ncat Av = v.
In aplicatiile pe care le prezentam folosim limbajul matricial.
Exemplul 3. Se da matricea:
[
A=
7 4
5 2
P2 () = det(A I2 )
14
.
A I2 =
7 4
5 2
1 0
0 1
[
=
7
4
5 2
Deci det(A I2 ) = 2 5 + 6;
Radacinile polinomului caracteristic sunt: 1 = 2, 2 = 3 R. Deci matricea A are doua
valori proprii.
Sa determinam vectorii proprii corespunzatori valorii = 2, adica vectorii v cu proprietatea ca Av = 2v. Coordonatele x1 , x2 ale lui v sunt solutii ale sistemului liniar si omogen:
[
] [ ]
x1
0
(A 2I2 )
=
,
0
x2
adica
5 4
5 4
][
x1
x2
[
=
0
0
Rangul matricii acestui sistem este 1. Alegem drept determinant principal pe p = |5|. x1
este necunoscuta principala si x2 = necunoscuta secundara. Rezolvam ecuatia 5x1 = 4 si
obtinem familia de solutii v = (4/5, )T , R, = 0;
Vectorii proprii corespunzatori valorii = 3:
[
][
] [ ]
4 4
x1
0
(A 3I2 )v = 0,
=
5 5
x2
0
Rezolvand acest sistem obtinem vectorii proprii de forma v = (1, 1)T , = 0.
Exemplul 4. Sa se arate ca operatorul liniar L : R2 R2 , L(x, y) = (x y, 2x y) nu admite
vectori proprii.
Determinam matricea operatorului relativ la baza canonica din R2 ,
B = (e1 = (1, 0)T , e2 = (0, 1)T ):
L(e1 ) = L(1, 0) = (1, 2)
L(e2 ) = L(0, 1) = (1, 1)
[
Astfel
A=
1 1
2 1
15
= n vn = 0v1 + 0v2 + + n vn
rezulta ca matricea operatorului L in aceasta baza este AB = [L(v1 )|L(v2 )| . . . |L(vn )],
adica:
A=
1 0
0 2
..
..
.
.
0 0
...
...
0
0
..
.
...
. . . n
Relatia dintre cele doua matrici AB, AB se numeste relatie de similaritate (asemanare).
Definitia 10.5.2 Doua matrici patratice cu elemente reale, A, A Rnn , cu proprietatea ca
exista o matrice inversabila T Rnn astfel ncat A = T A T 1 se numesc matrici similare.
In cazul n care exista o baza formata din vectori proprii ai matricii A, rezulta de mai sus ca
matricea A este similara cu matricea diagonala, ce are pe diagonala principala valorile proprii:
1
A = TBB diag(1 , 2 , . . . , n )TBB
adica
A = [v1 |v2 | . . . |vn ] diag(1 , 2 , . . . , n ) [v1 |v2 | . . . |vn ]1
{z
}
|
TBB
16
(10.17)
(10.18)
Inmultind relatia (10.16) cu k si scazand apoi membru cu membru din (10.18) obtinem:
1 (1 k )v1 + 2 (2 k )v2 + + k1 (k1 k )vk1 =
Tinand seama ca prin ipoteza inductiei vectorii v1 , v2 , . . . , vk1 sunt liniar independenti rezulta
ca ultima egalitate are loc doar daca toti scalarii coeficienti sunt nuli: i (i k ) = 0, i =
1, k 1. Deoarece valorile proprii sunt distincte, rezulta ca i k = 0, i = 1, k 1 si
deci i = 0, i = 1, k 1. Inlocuind 1 = 2 = = k1 = 0 n (10.16) obtinem
k = 0 deoarece vk fiind vector propriu nu poate fi . Deci vectorii v1 , v2 , . . . , vk sunt liniar
independenti.
Consecinta . Daca matricea A are n valori proprii distincte, 1 , 2 , . . . , n , atunci orice sistem
de vectori proprii B = (v1 , v2 , . . . , vn ), corespunzatori, respectiv valorilor 1 , 2 , . . . , n , sunt
liniar independenti si deci formeaza o baza n spatiul vectorial Rn . Astfel matricea A este
similara cu matricea diagonala D = diag(1 , 2 , . . . , n ):
1 0 . . . 0
0 2 . . . 0
D = diag(1 , 2 , . . . , n ) = ..
..
..
.
. ... .
0 0 . . . n
17
adica:
A = TBB
1 0
0 2
..
..
.
.
0 0
...
...
0
0
..
.
...
. . . n
1
TBB
1 0 3
A= 2 1 2
3 0 1
are valori 3 valori proprii distincte, adica este similara cu o matrice diagonala si apoi sa se
determine matricile din relatia de similaritate a lui A cu matricea diagonala corespunzatoare.
Calculam polinomul caracteristic
1
0
3
1
2
P3 () = det(AI3 ) = 2
3
0
1
= (1)3 9(1) = (1)(2 28)
0
x1
11
0
3
2
x2 = 0
11
2
0
3
0
11
x3
adica ale sistemului:
0
0 0 3
x1
2 0 2 x2 = 0
0
3 0 0
x3
Rangul matricii sistemului nu este 3, deoarece valorile proprii, deci si pe = 1, le-am determinat impunand conditia det(A I3 ) = 0. Rangul matricii este 2, deoarece determinantul ce
contine elementele de intersectie ale liniilor 1, 2 cu coloanele 1, 3 este nenul. Deci un determinant principal este:
0 2
,
p =
3 2
si x1 , x3 sunt necunoscute principale (coeficientii lor intra n determinantul principal), iar x2 :=
este necunoscuta secundara. Rezolvam deci primele doua ecuatii n raport cu x1 , x3 :
3x3 = 0
2x1 + 2x3 = 0
18
Acest sistem admite doar solutia banala si deci vectorii proprii corespunzatori valorii = 1
sunt:
v = (x1 , x2 , x3 )T = (0, , 0)T = (0, 1, 0)T , R
Vectorii proprii v = (x1 , x2 , x3 )T , corespunzatori valorii = 4 au coordonatele solutii ale
sistemului (A 4I3 )v = 0:
3
0
3
x1
0
2 3
2 x2 = 0
3
0 3
x3
0
Din nou rangul nu este 3, dar este 2. Un determinant principal:
3
0
p =
2 3
x1 , x2 sunt necunoscute principale, iar x3 := necunoscuta secundara. Rezolvand sistemul:
3x1
= 3
2x1 3x2 = 2
4
obtinem solutia: x1 = , x2 = , x3 = . Deci vectorii proprii corespunzatori valorii = 4
3
sunt:
4
v = (x1 , x2 , x3 )T = (, , )T = (3, 4, 3)T , R
3
3
3 0 3
x1
0
2 3 2 x2 = 0
3 0 3
x3
0
Determinant principal:
3 0
p =
2 3
0 3 1
0
TBB = [v1 |v2 |v3 ] = 1 4
0 3
1
19
1
1 0 3
0 3 1
1 0
0
0 3 1
2 1 2 = 1 4
0 0 4
0 1 4
0
3 0 1
0 3
1
0 0 2
0 3
1
{z
} |
{z
}|
{z
}|
{z
}
|
A
TBB
1
TBB
In continuare vom arata ca nu doar matricile A Rnn , care admit n valori proprii distincte
sunt similare cu o matrice diagonala sau echivalent nu doar existenta a n valori proprii distincte
ale unui operator liniar, L : Rn Rn , asigura existenta unei baze formate din vectori proprii
n Rn .
Pentru a preciza care anume matrici au asemenea particularitate, reamintim ca daca 0 R
este o valoare proprie a matricii A, atunci multimea vectorilor proprii corespunzatori acestei
valori este subspatiul nul al matricii A 0 In :
S0 = {v Rn | Av = v
(A 0 In )v = } = N ull(A 0 In )
Cursul 11
Baze formate din vectori proprii. Matrici similare cu o
matrice diagonala.
Aplicatii: Popularitatea nodurilor unei retele
m
0
1 0 . . . 0
1
0 m
0 2 . . . 0
2
m
D = ..
..
.. , atunci D = ..
..
.
.
.
. ... .
0
0
0 0 . . . n
1
...
...
0
0
..
.
...
. . . m
n
, m N
si deci:
Am = T
m
0
1
0 m
2
..
..
.
.
0
0
...
...
0
0
..
.
...
. . . m
n
1
T , m N
1 0 . . . 0
0 2 . . . 0
1
A = T ..
..
.. T ,
.
. ... .
0 0 . . . n
nn
unde T este matricea de trecere, TBB , de la baza canonica din Rn , la baza B = (v1 , v2 , . . . , vn ),
formata din vectori proprii ai lui A.
In acest curs determinam conditii mai generale, care asigura similaritatea unei matrici A cu
o matrice diagonala. Cum n aceste conditii intra si dimensiunea subspatiilor proprii S = {v
Rn | Av = v} = Null(A In ), sa precizam ce se stie despre aceasta dimensiune.
O valoare proprie 0 R a matricii A, poate fi radacina reala simpla sau multipla a polinomului caracteristic, adica polinomul caracteristic admite factorizarea:
Pn () = ( 0 )k Qnk ()
unde Q este un polinom nedivizibil cu ( 0 ). Daca k = 1, atunci 0 este radacina simpla,
altfel, este radacina multipla de ordin k.
De exemplu polinomul P4 () = ( + 3)( 5)( 1)2 are radacinile simple 1 = 3,
2 = 5 si radacina dubla (multipla de ordin 2), 3,4 = 1. Relatia dintre ordinul de multiplicitate
al unei valori proprii 0 si dimensiunea subspatiului sau propriu, S0 , este urmatoarea:
Propozitia 11.1.2 Daca 0 este o radacina reala de ordin k a polinomului caracteristic, atunci
dimensiunea subspatiului propriu corespunzator, S0 , este mai mica cel mult egala cu k:
dim(S0 ) k
Demonstratie: Fara demonstratie!!!
Discutie:
Daca valoarea proprie 0 este radacina simpla a polinomului caracteristic, atunci conform
propozitiei precedente dim(S0 ) 1. Dar dimensiunea mai mica decat 1 este 0, care prin
conventie este dimensiunea subspatiului vectorial format doar din vectorul nul {n }. Cum vectorul nul nu este vector propriu, rezulta ca dimensiunea subspatiului propriu corespunzator
unei valori proprii simple nu poate fi decat 1.
Daca 0 este radacina multipla de ordin k atunci dimensiunea efectiva a subspatiului propriu corespunzator, S0 , se deduce determinand o baza n acest subspatiu. adica rezolvam
sistemul liniar si omogen:
(A 0 In )v = 0,
ce defineste ecuatiile subspatiului propriu S0 , determinam o baza si apoi aflam dimensiunea
lui S0 .
Exemplul 1. Sa se deterrmine valorile proprii, subspatiile proprii corespunzatoare si dimensiunea acestora pentru matricea:
0 1 1
A= 1 0 1
2 2 1
1 1 1
x1
0
1 1 1 x2 = 0
2 2 2
x3
0
Rangul matricii sistemului este 1. Alegem determinantul principal = |1|, unde 1 este elementul din pozitia (1, 1). Deci x1 este necunoscuta principala, iar := x2 , := x3 necunoscute
secundare. Rezolvand ecuatia:
x1 + + = 0
obtinem solutia:
x1 = , x2 = , x3 = , , R
Deci subspatiul propriu corespunzator valorii proprii = 1 este:
S=1 = {v = ( , , )T = (1, 1, 0)T + (1, 0, 1)T , , R}
Acest subspatiu este generat de vectorii (1, 1, 0)T , (1, 0, 1)T . Vectorii fiind liniari independenti,
ei formeaza o baza n acest subspatiu si deci subspatiul are dimensiunea 2.
= e1 }
=
S=1 = {v =
0
0
Prin urmare dim(S=1) = 1 <ordinul de multiplicitate al valorii proprii.
Suntem acum n masura sa aratam ca exista un context mai general n care se poate construi
n Rn o baza formata din vectori proprii ai unei matrici sau operator liniar.
Rn exista o baza formata din vectori
Propozitia 11.1.3 Fie A o matrice patratica din Rnn . In
proprii ai matricei A daca si numai daca urmatoarele doua conditii sunt ndeplinite:
1) Polinomul caracteristic Pn () are toate cele n radacini, reale;
2) Dimensiunea fiecarui subspatiu propriu, S , coincide cu ordinul de multiplicitate al valorii proprii corespunzatoare .
Demonstratie: Presupunem ca cele doua conditii 1-2 sunt satisfacute. Deoarece polinomul
caracteristic are toate radacinile reale rezulta ca el se descompune astfel:
Pn () = (1)n ( 1 )k1 ( 2 )k2 ( s )ks , i K, i = 1, s, si k1 + k2 + + ks = n
O radacina arbitrara i avand ordinul de multiplicitate ki , i = 1, s, rezulta conform ipotezei
2) ca dimensiunea subspatiului propriu corespunzator este ki , adica putem constitui o baza
Bi = (v1i , v2i , . . . , vki i ) n Si , i = 1, s. Sistemul de vectori B obtinut din reuniunea bazelor
B1 , B2 , . . . Bs din subspatiile proprii S1 , S2 , . . . , Ss contine n = k1 + k2 + kn vectori liniar
independenti, deci constituie o baza formata din vectori proprii ai lui A. Sistemul de vectori
B este liniar independent deoarece vectorii din fiecare baza, Bi , sunt liniar independenti, si la
valori proprii distincte corespund vectori proprii liniar independenti, deci reuniunea n ansamblu
formeaza sistem liniar independent.
Reciproca propozitiei este evidenta, adica daca exista o baza formata din vectori proprii
atunci cele doua conditii din enunt sunt satisfacute.
Exemplul 3. Reluam cazul matricii A din Exemplul 1
0 1 1
A= 1 0 1
2 2 1
Valorile sale proprii sunt 1 = 3, 2,3 = 1. Rezulta ca toate trei radacinile polinomului
caracteristic P3 () apartin lui R. Sa determinam o baza n subspatiul propriu S=3 , rezolvand
sistemul (A 3I3 )v = 0:
3
1
1
x1
0
1 3
1 x2 = 0
2
2 2
x3
0
Notand x3 cu , rezolvam sistemul:
3x1 + x2 =
x1 3x2 =
si obtinem:
S=3
1
/2
1 }
= {v = /2 =
2
2
1
B1 = (v1 1 ),
2
adica dimensiunea subspatiului propriu coincide cu ordinul de multiplicitate al valorii = 3
(ceea ce se stia apriori, deoarece = 3 este radacina simpla).
In 1 am dedus ca si subspatiul propriu S=1 are dimensiunea egala cu 2, ordinul de multiplicitate al radacinii = 1, si o baza n S=1 este:
B2 = (v2 = (1, 1, 0)T , v3 (1, 0, 1)T
Reuniunea celor doua baze este
B = B1 B2 = (v1 = (1, 1, 2)T , v2 = (1, 1, 0)T , v3 (1, 0, 1)T )
Astfel matricea A este similara cu matricea diagonala:
3
0
0
0 ,
D = 0 1
0
0 1
adica
1
A = TBB DTBB
unde
TBB
1 1 1
1
0
= [v1 |v2 |v3 ] = 1
2
0
1
Consecinta ,
n forma utilizata n Computer Science: valorile proprii a doua matrici similare coincid.
n matematica: valorile proprii ale unui operator liniar nu depind de baza fixata n spatiul
pe care actioneaza operatorul.
Din proprietatile matricilor similare extragem urmatoarele informatii pentru matricile similare cu o matrice diagonala:
Daca:
A = TBB
1 0
0 2
..
..
.
.
0 0
...
...
0
0
..
.
1
TBB
...
. . . n
{z
}
D
In analiza retelelor sociale (Facebook, Google +, Twitter) sau de business, a retelei internet,
a retelelor colaborative profesionale (Linkedin), n ierarhizarea paginilor WEB, etc sunt implicate valorile proprii si vectorii proprii ale/ai matricii de adiacenta grafului ce defineste reteaua
sau a unei matrici dedusa din aceasta.
O problema ce se abordeaza n studiul si analiza retelelor este aceea a stabilirii nivelului
de importanta /popularitate/autoritate a nodurilor sale. Una din metodele care a dat deja rezultate deosebite n stabilirea importantei/popularitatii nodurilor si ranking-ul lor n functie de
indicele/coeficientul de importanta , se bazeaza pe analiza structurii linkurilor.
Scopul unei astfel de analize este de a identifica n cazul retelei WWW care sunt paginile
care au cel mai ridicat indice de importanta (popularitate, autoritate), iar n cazul retelelor sociale, profesionale, pentru a determina membrii sau actorii importanti ai unei comunitati.
Modelul matematic al unei retele este un graf.
Un graf, G, este definit de o pereche G = (V, L), unde V = {1, 2, . . . , m} este multimea
nodurilor, iar L multimea arcelor (linkurilor, conexiunilor dintre noduri).
Un graf poate fi orientat sau nu, adica se indica directia de conexiune sau nu. Reteaua
Facebook, de exemplu, este un graf neorientat, in timp ce reteaua WEB este reprezentata de un
graf orientatnodurile sunt paginile WEB si conexiunile sunt link-urile dintr-o pagina i spre o
pagina j.
Matricea de adiacenta /conectivitate a grafului G este matricea A = (aij ), i, j = 1, m, unde:
1 daca nodurile i si j sunt conectate printr-un arc direct
aij =
0 n caz contrar
Matricea de adiacenta a unui graf neorientat este simetrica, adica aij = aji , oricare ar fi
i, j = 1, m, n timp ce matricea de adiacenta a unui graf orientat nu este simetrica, pentru poate
exista link de la i spre j dar nu si de la j spre i.
Pentru a capta si interactiuni indirecte ntre noduri se defineste notiunea de drum intre doua
noduri i, j: un drum este o succesiune de linkuri(arce) (i1 , i2 ), (i2 , i3 ), . . . (ik1 , ik ) (orientate
sau nu dupa cum graful model este orientat sau nu), astfel incat i1 = i si ik = j. Un ciclu este
un drum pentru care nodul initial si final coincid.
Un graf neorientat/orientat este conex, daca oricare ar fi i si j, doua noduri distincte, exista
un drum intre i si j.
Puterea n a matricii de adiacenta , An = (cij ), codifica urmatoarea informatie: elementul cij ,
din linia i, coloana j a matricii An este egal cu numarul drumurilor de n arce ce leaga nodurile
i si j.
Nivelul de importanta al unui i nod ntr-o retea modelata de un graf conex si neorientat este
un numar pozitiv, xi > 0, definit ca media ponderata a coeficientilor de importanta a nodurilor
j1 , j2 , . . . , jk , cu care nodul i este conectat prin arc direct (drum de lungime 1):
xi =
1
(xj + xj2 + + xjk ),
1
>0
(11.1)
Intuitiv aceasta relatie ilustreaza zicala romaneasca, spune-mi ce prieteni ai ca sa-ti spun
cine esti.
Parametrul determina cat de multa popularitate partajeaza nodurile ntre ele, prin conexiuni. Daca este mic, atunci nodurile cu care i este conectat transmit un coeficient mai mare
de influenta /popularitate nodului i, iar daca creste, atunci influenta mostenita de nodul i de la
nodurile cu care este conectat direct scade.
Remarcam ca relatia (11.1) se poate rescrie astfel:
m
1X
xi =
aij xj
j=1
(11.2)
deoarece elementele matricii de adiacenta , aij , din linia i, sunt nenule doar pentru j = j1 , j2 , . . . , jk
(doar aij1 , aij2 , . . . aijk sunt egale cu 1, restul aij sunt zero), adica doar pentru nodurile j cu care
i este conectat direct.
Ne ntrebam daca cunoscand doar matricea de adiacenta (conectivitate) a unei retele putem
deduce indicatorii de importanta /popularitate a nodurilor sale. Raspunsul este afirmativ, deoarece
relatia (11.2) se mai poate scrie:
m
X
aij xj = xi ,
i = 1, m
(11.3)
j=1
10
0
1
0
1
0
0
A=
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
A =
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
1
1
0
In aceasta matrice este imediat evident, din faptul ca elementele de intersectie a liniilor
4, 5, 6 cu coloanele 1, 2, 3 sunt toate zero, ca graful este neconex, pentru ca grupul de noduri
4, 5, 6 nu comunica cu grupul 1, 2, 3.
Relatia dintre cele doua matrici de adiacenta este:
A = P APT ,
unde P = (pij ) este matricea permutare definita de , pij = i j .
In general produsul la stanga cu o matrice permutare, P , permuta corespunzator liniile
matricii A, iar produsul la dreapta cu PT , permuta la fel si coloanele. Astfel A = P APT
este matricea de adiacenta a grafului care are nodurile reetichetate. Adica in loc de etichetele
(1, 2, . . . , m) se folosesc etichetele (1 , 2 , . . . , m ) si exista arc ntre nodul i si j , daca si
11
numai daca exista arc ntre i si j n graful initial. Deoarece PT = P1 (vezi cursul 1), rezulta
ca relatia:
A = P APT
indica ca cele doua matrici de adiacenta sunt similare (deci au aceleasi valori proprii, dar nu si
vectori proprii; deduceti cum dintr-un vector propriu v a lui A obtin un vector propriu al lui A ).
Dupa aceste precizari putem caracteriza matricile de adiacenta a grafurilor conexe:
Definitia 11.3.1 Matricea de adiacenta a unui graf se numeste matrice ireductibila daca nu
exista nici o permutare a lui (1, 2, . . . , m) astfel ncat:
X Z
T
P AP =
,
O Y
unde P = (pij ) este matricea permutare definita de , iar X, Y sunt matrici patratice.
Cu alte cuvinte o matrice de adiacenta este ireductibila daca nu este similara cu o matrice
de forma:
X Z
,
O Y
adica printr-o reindexare(reetichetare) a nodurilor nu exista o submultime de noduri care sa nu
comunice cu restul printr-un drum de noduri.
Matricea de adiacenta a unui graf conex este evident ireductibila, pentru ca un astfel de graf
nu contine niciun grupu de noduri izolate (neconectate cu nodurile din complementul grupului).par
In continuare evidentiem implicatiile proprietatii de nenegativitate si ireductibilitate a unei
matrici A asupra valorilor si vectorilor proprii.
Fie 1 , 2 , . . . , m toate radacinile (reale si complex conjugate) polinomului caracteristic,
Pm () = det(A Im ).
Daca , sunt doua radacini complex conjugate, aib, atunci lor li se asociaza doua puncte
in plan, de coordonate P (a, b) si P (a, b), ce sunt evident simetrice fatade Ox. Ar trebui sa
stiti de la liceu ca modulul unui numar complex = a + ib este || = a2 + b2 si ca acest
modul reprezinta distanta de la punctul P (a, b) la origine.
Radacinile reale ale polinomului caracteristic sunt de forma a+i0, deci ele sunt reprezentate
prin puncte de pe axa Ox, de coordonate (a, 0).
Daca 0 este radacina polinomului caracteristic a matricii nenegative A, ce are cea mai
mare valoare absoluta, atunci restul radacinilor au valoarea absoluta || |0 , adica punctele
din plan, asociate, sunt incluse ntr-un disc cu centrul n origine si de raza R = |0 |.
Mai subliniem ca:
Orice matrice patratica A Rmm are acelasi polinom caracteristic, deci aceleasi valori
proprii ca si matricea AT .
12
Fig.11.2: Pozitia radacinilor polinomului caracteristic de grad 6, n planul complex, pentru o matrice
nenegativa A R66 .
2 4 1 5
0 21 1 7
A=
4 6 11 2
35 8 0 5
13
10.34 + 0.57i,
10.34 0.57i,
27.76
27.76 este valoarea proprie dominanta, deoarece |9.44| < 27.76 si |10.340.57i| = 10.35.
Matricea de adiacenta , A, a unui graf conex fiind nenegativa si ireductibila i se poate aplica
Teorema lui PerronFrobenius: ea are o valoare proprie dominanta, strict pozitiva si un vector propriu de coordonate strict pozitive. Astfel pentru a defini coeficientul de popularitate al
nodurilor se ia drept valoare proprie din relatia (11.3) valoarea 1 , adica valoarea proprie dominanta, iar ca vector x = (x1 , x2 , . . . , xm ), un vector propriu corespunzator lui 1 , ce are toate
coordonatele strict pozitive.
Pentru a avea coeficientul de popularitate al fiecarui nod din acelasi interval normalizam vec1
torul x adica l mpartim la suma coordonatelor si obtinem vectorul r = Pm
(x1 , x2 , . . . , xm )T ,
i=1 xi
numit vectorul rating, sau vectorul Perron, care este de asemenea un vector propriu corespunzator valorii proprii 1 (pentru ca daca Ax = 1 x, atunci si A(x) = (x). La noi
1
.
= Pm
i=1 xi
xi
Astfel coeficientul de importanta a nodului i sau ratingul nodului i este ri =
x1 + x2 + . . . + xm
si suma tutor ratingurilor este 1, deci indicatorul de importanta se poate raporta si procentual.
Adica daca ri = 0.87, atunci printre toate nodurile retelei, nodul i are o popularitate de 87%.
Exemplul 5. Consideram o retea sociala formata din 6 persoane, codificate 0, 1, 2, 3, 4, 5, si
ilustrata n graful neorientat din Fig.11.3: Matricea de conectivitate/adiacenta a retelei este:
0 0 1 1 0 0
0 0 1 0 1 0
1 1 0 1 0 1
A=
1
0
1
0
1
0
0 1 0 1 0 1
0 0 1 0 1 0
Valorile proprii ale matricii A, calculate numeric sunt:
2.796, 0.8531, 1.195, 2.454, 0, 0
Deci valoarea proprie dominanta este 2.796, iar un vector propriu corespunzator, de coordonate strict pozitive este:
x = (0.35349809, 0.33313061, 0.52899452, 0.45954077, 0.40258437, 0.33313061)
Suma coordonatelor lui x este 2.410, iar vectorul rating este:
r = x/2.41 = (0.14662623, 0.13817807, 0.21941978, 0.1906113, 0.16698655, 0.13817807)
Reordonand descrescator ratingurile nodurilor avem urmatorul ranking al acestora:
14
2
1
A=
0
0
0
1
0
0
0
0
1
0
1
0
1
1
0
1
1
1
1
0
1
0
0
0
0
1
0
0
0
1
1
0
1
1
0
0
Radacinile polinomului sau caracteristic ordonate, n ordinea descrescatoare a valorii absolute (modulului) sunt:
2.481, 0.688, 0, 1, 1, 1.170
15
4
5
0
2
1
Fig.11.4: Graf orientat ce ilustreaza linkurile dintre pagini ntr-o retea WEB.
16
X
1
xj = (a1j x1 + a2j x2 + + anj xm ) =
akj xk ,
k=1
j = 1, m
(11.5)
Cursul 12
Valori si vectori proprii ai matricilor simetrice.
Descompunerea SVD a unei matrici. Aplicatii
(12.1)
Demonstratie: Exprimam produsul scalar < x, y >= xT y. Astfel membrul stang al egalitatii
ce dorim s-o demonstram este:
< Av, w >= (Av)T w = v T AT w
iar membrul drept:
< v, AT w >= v T (AT w) = v T AT w
si deci:
< Av, w >=< v, AT w >
Observatia 12.1.1 Daca A este o matrice simetrica atunci din AT = A si relatia (12.1) rezulta
ca:
< Av, w >=< v, Aw >
(12.2)
Sa enuntam (fara demontratie) particularitatile valorilor si vectorilor proprii ai unei matrici
simetrice:
Propozitia 12.1.2 Polinomul caracteristic al unei matrici simetrice, A Rnn , are toate n
radacinile reale, adica o matrice simetrica are n valori proprii.
Dimensiunea fiecarui subspatiu propriu al unei matrici simetrice coincide cu ordinul de
multiplicitate al valorii proprii corespunzatoare.
Propozitia 12.1.3 La valori proprii distincte ale unei matrici simetrice corespund vectori proprii ortogonali.
Demonstratie: Fie 1 6= 2 doua valori proprii distincte ale matricii simetrice, A, si v1 S1 ,
v2 S2 , vectori proprii corespunzatori, adica Av1 = 1 v1 , Av2 = 2 v2 . Din proprietatea
(refAsimAadj) a matricilor simetrice, avem ca:
< Av1 , v2 >=< v1 , Av2 >
ceea ce este echivalent cu:
< 1 v1 , v2 >=< v1 , 2 v2 >
sau
1 < v1 , v2 >= 2 < v1 , v2 >
(1 2 ) < v1 , v2 >= 0
k1 + k2 + + ks = n
k2
ks
, rezulta ca matricea simetrica A este similara cu aceasta matrice diagonala si n plus matricea
T din relatia de similaritate este matricea ortogonala TBB :
T
1
A = TBB DTBB
= TBB DTBB
Astfel suntem condusi la unul din cele mai importante rezultate aplicative din algebra liniara
si anume:
Propozitia 12.1.4 Daca A Rnn este o matrice simetrica, ce are valorile proprii i cu ordinele de multipliciate ki , i = 1, s, k1 + k2 + + ks = n, atunci exista o baza ortonormata
B , n Rn , formata din vectori proprii ai lui A si notand cu Q matricea de trecere de la baza
canonica la baza B , matricea A este similara cu matricea
D = diag(1 , . . . 1 , . . . , s , . . . s )
| {z }
| {z }
k1 ori
ks ori
(12.3)
A = QDQT
Definitia 12.1.1 Descompunerea unei matrici simetrice n forma
A = QDQT
unde D este matricea diagonala a valorilor proprii si Q = TBB este o matrice ortogonala se
numeste descompunere ortogonala.
A= 2
2
2 2
3 2
2 3
Sa se determine apoi cate o baza ortonormata n fiecare subspatiu propriu al lui A si o baza
ortonormata n R3 , formata din vectori proprii ai lui A.
Sa se scrie descompunerea simetrica ortogonala a matricii A.
Valorile proprii ale lui A sunt 1,2 = 1, 3 = 7;
Subspatiile proprii corespunzatoare, S=1 :
S=1 = {v = (x, y, z) | Av
2 2 2
2 2 2
2 2 2
= 1v (A 1I3 )v = 0}
x
0
y = 0
z
0
4
2
2
x
0
2 4
2
y = 0
2
2 4
z
0
Alegem drept determinant principal determinantul constituit din elementele de intersectie ale
liniilor 1,2 cu coloanele 1,2. Astfel z := , este necunoscuta secundara si obtinem:
S=7 = {v = (1, 1, 1)T , R}
Baza ortonormata n S=7 este:
1
B2 = (q3 = (1, 1, 1)T )
3
iar B = B1 B2 = (q1 , q2 , q3 ) este o baza ortonormata n R3 formata din vectori proprii ai
matricii A. Notand: Q = [q1 |q2 |q3 ] avem descompunerea:
1 0 0
A = [q1 |q2 |q3 ] 0 1 0 [q1 |q2 |q3 ]T
0 0 7
argmaxf (x), x D
x1
a11 a12 . . . a1n
a21 a22 . . . a2n x2
q(vB ) = x1 x2 . . . xn ..
..
..
..
.
.
.
.
xn
an1 an2 . . . ann
(x1 , x2 , . . . , xn )T ,
(12.4)
coeficientii patratelor x21 , x22 , . . . , x2n sunt respectiv elementele a11 , a22 , . . . , ann din matricea simetrica A;
coeficientii produselor xi xj mpartiti la 2 sunt elementele aij si aji din matricea A, i, j =
1, n.
Exemplul 3. Se da forma patratica q : R3 R definita prin q(x1 , x2 , x3 ) = 2x21 + 3x1 x2 +
6x1 x3 5x22 8x2 x3 + x23 . Matricea simetrica asociata este:
3
3
2
2
A= 3
5
4
3
4
1
O forma patratica ia valori reale care pot fi pozitive, negative sau zero. q() =< , A >= 0.
Deci o forma patratica aplica pe (0, 0, . . . , 0) n 0.
Forma patratica q : Rn R care ia valori strict pozitive, q(v) > 0, oricare ar fi vectorul
v Rn \ {}, se numeste forma patratica pozitiv definita.
Daca q(v) 0, pentru orice v Rn , atunci q se numeste forma semipozitiv definita (mai
precis n acest caz q ia valoarea zero si pentru vectori nenuli).
Daca q(v) < 0, oricare ar fi v Rn \ {} atunci q se numeste forma negativ definita, iar
daca q(v) 0, v Rn , forma q se numeste seminegativ definita.
Daca pe anumiti vectori q ia valori pozitive, iar pe altii negative, atunci q se numeste forma
patratica nedefinita.
Analizand expresia analitica a formei patratice din Exemplul 3 este greu sa ne pronuntam
daca ea este pozitiv definita, negativ definita sau nedefinita. Este nsa foarte simplu sa indicam
tipul formei patratice daca ea contine doar termeni n x2i , i = 1, n.
Exemplul 4. Forma patratica Q(x1 , x2 , x3 ) = 3x21 x22 4x23 este evident negativ definita,
forma Q(x1 , x2 , x3 ) = 2x21 x22 + 6x23 este nedefinita, deoarece Q(1, 0, 1) = 2 + 6 = 8 > 0, iar
Q(0, 1, 0) = 1 < 0.
Observam ca putem deduce rapid tipul unei forme patratice daca ea este definita de o matrice
diagonala, care evident este simetrica:
d1 0 . . . 0
x1
0 d2 . . . 0 x2
q(x1 , x2 , . . . , xn ) = x1 x2 . . . xn .. ..
.. ..
. .
. .
0 0 . . . dn
xn
2
2
2
= d1 x1 + d2 x2 + + dn xn , di R
O forma patratica a carei matrice de definitie este diagonala se zice ca este n forma canonica.
Sa exploatam faptul ca orice matrice simetrica, A, este similara cu o matrice diagonala, adica
exista 1 , 2 , . . . n R, ce sunt valorile proprii ale lui A, si matricea inversabila T := TBB ,
ce este matricea de trecere de la baza canonica B la baza ortonormata, B , formata din vectori
T
proprii ai lui A, astfel ncat A = T DT 1 = TBB DTBB
, cu
1 0 . . . 0
0 2 . . . 0
D = ..
..
..
.
.
.
0 0 . . . n
Echivalent, putem scrie ca
T
D = TBB
ATBB
(12.5)
Relatia dintre coordonatele unui vector v Rn relativ la cele doua baze este: vB = TBB vB
Sa deducem expresia analitica a formei patratice de matrice A, relativ la baza B formata din
vectori proprii ai lui A. Pentru aceasta notam cu X1 , X2 , . . . , Xn , coordonatele vectorului arbitrar v relativ la baza B :
(12.5)
(12.1)
T
q(vB ) = < vB , AvB >=< TBB vB , ATBB vB > = < vB , TBB
ATBB vB > = < vB , DvB >
X1 X2
. . . Xn
1 0 . . . 0
0 2 . . . 0
..
..
..
.
.
.
0 0 . . . n
X1
X2
..
.
Xn
In concluzie pentru a decide tipul formei patratice care relativ la baza ortonormata initiala,
B din Rn , are matricea simetrica, A, se determina valorile proprii ale matricii A.
Daca toate valorile proprii sunt strict pozitive, forma patratica este pozitiv definita;
Daca toate valorile proprii sunt mai mari sau egale cu 0, forma patratica este semipozitiv
definita;
Daca i < 0, i = 1, n, forma este negativ definita, respectiv seminegativ definita daca
i 0, i = 1, n.
Daca o parte dintre valorile proprii sunt pozitive si restul negative, forma patratica este
nedefinita.
Exemplul 5. Se da forma patratica q : R2 R, q(x1 , x2 ) = 4x21 4x1 x2 + x22 . Sa se determine
matricea formei patratice, valorile ei proprii si sa se precizeze tipul formei: pozitiv, negativ
definita sau nedefinita.
Matricea formei patratice este
A=
4 2
2
1
Fig.12.1: Graficele a 3 forme patratice aduse la forma canonica, q(x1 , x2 ) = 1 x21 + 2 x22 : stanga, forma
este pozitiv definita, centru, negativ definita si cea din dreapta, nedefinita.
aij =
2f
(x0 ), i, j = 1, n
xi xj
(12.6)
(12.7)
< v, v > 0
< v, v > 0
v fiind vector propriu este nenul si deci < v, v > > 0. Astfel < v, v > 0 daca si numai
daca 0.
Consideram o matrice arbitrara de m linii si n coloane, A Rmn . Matricile asociate AT A,
AAT sunt matrici patratice de tip n n, respectiv m m si simetrice deoarece coincid cu
transpusele lor. De exemplu, (AT A)T = AT (AT )T = AT A.
Propozitia 12.3.2 Daca A Rmn este o matrice de tip m n, atunci matricile simetrice
asociate, AT A, AAT , sunt semipozitiv definite.
Demonstratie: Deoarece produsul scalar al unui vector cu el nsusi este mai mare sau egal cu
zero, avem ca pentru orice vector v Rn : < Av, Av > 0. Dar
< Av, Av >
cf (12.1)
= < v, AT Av >,
10
cf (12.1)
= < v, AAT v >, v Rm
A = |{z}
U
|{z}
mn
mm
1 0
0 2
..
..
.
.
0 0
0 0
..
..
.
.
...
...
...
0
0
..
.
...
. . . r
... 0
.
. . . ..
0
{z
mn
0 ...
0 ...
..
. ...
0 ...
0 ...
..
. ...
0
0
..
.
0
0
..
.
0 ... 0
T
V
|{z}
nn
(12.8)
11
x1 y1 x1 y2 . . . x1 yn
x1
x2
x2 y1 x2 y2 . . . x2 yn
T
uv = .. y1 y2 . . . yn = ..
..
..
.
.
.
.
...
xm y1 xm y2 . . . xm yn
xm
Prin urmare matricea produs exterior, B = uv T , are elementele bij = xi yj , i = 1, m,
j = 1, n.
Daca vectorii u, v sunt nenuli, atunci coloanele matricii uv T sunt proportionale si prin urmare rangul matricii B este 1.
Optional
Produsul dintre o matrice U Rmm si matricea pseudodiagonala
R
, = [1 |2 | . . . |r | . . . |n ], care are 0 n toate pozitiile de indici diferiti se poate
exprima ca o combinatie liniara a coloanelor matricii U = [u1 |u2 | . . . |um ]:
mn
Curs 1
0
0
0
0
.
.
.
.
.
.
U
= j U
=U
j
jj
.
.
..
..
0
0
0
0
..
.
1
..
.
0
= j Uej = j uj
a11
a21
a12
a22
a13
a23
12
Prin urmare ideea de baza a descompunerii SVD a unei matrici A Rm n, de rang r este
ca matricea A se poate descompune ca o combinatie liniara cu coeficienti pozitivi, descrescatori
a r matrici de rangul 1, Mj = uj vjT , j = 1, r:
A = UV T = 1 u1 v1T + 2 u2 v2T + + r ur vrT
Aproximarea de rang k a matricii A: Observam ca exprimarea matricii A ca o combinatie
liniara de r matrici are coeficientii i descrescatori, 1 2 r > 0. Daca ultimele
valori singulare sunt mici (apropiate de zero), atunci renunta nd la termenii ce le contin obtinem
o aproximare a matricii A:
Ak = 1 (u1 v1T ) + + k (uk vkT )
Matricea aproximare Ak se factorizeaza astfel:
1 0 . . . 0
0 2 . . . 0
v1T
v2T
..
.
= Uk k VkT
vkT
|
} {z }
kn
si are rangul k (pentru a arata ca are rangul k se demonstreaza ca subspatiul Null al produsului
din membrul drept are dimensiunea egala cu dimensiunea subspatiului Null al matricii k , adica
n k).
Ori de cate ori se aproximeaza un element al unei multimi nzestrate cu o distanta (metrica), cu alt element al aceleasi multimi ne intereseaza cat de buna este acea aproximare,
evaluand distanta dintre element si aproximantul sau. In multimea matricilor din Rmn se
definesc diferite norme si atunci dist(A,B)=kA Bk.
O norma este cea definita de produsul scalar a doua matrici:
< A, B >= trace(AT B)
si anume
kAk =
< A, A > =
trace(AT A)
Aceasta norma se numeste norma Frobenius a unei matrici si pentru a o distinge de alte norme
se noteaza kAkF .
Teorema 12.4.1 (Teorema Eckart) Fie matricea A Rmn si Ak Rmn aproximarea sa de
rang k. Dintre toate matricile B Rmn de rang k, distanta de la A la B este minima pentru
B = Ak , adica:
q
2
+ + r2
min
{kA BkF } = kA Ak kF = k+1
B | rang(B)=k
13
Cu alte cuvinte Ak este cea mai buna aproximare de rang k a matricii A Aceasta proprietate se
exploateaza n numeroase domenii din Computer Science, printre care: comprimarea datelor n
general si a imaginilor n particular, information retrieval, machine learning.
Daca A este o matrice imagine ai carei pixeli au diverse nivele de gri, ntre negru si alb,
un element aij al matricii fiind codul nivelului de gri c {0, 1, 2, . . . , 255} sau normalizat
c [0, 1] (depinde de tipul de imagine si limbajul de programare care o citeste; de exemplu n
Python/numpy imaginile n nivele de gri din multimea {0, 1, 2, . . . , 255} sunt convertite la citire
n imagini cu nivelul de gri in [0, 1], adica daca codul pt gri este c = 135, el este
la
Pconvertit
r
T
135.0/255 [0, 1]), atunci determinand descompunerea SVD a matricii A =
i=1 i ui vi ,
si renunta nd la termenii ce au coeficientii k+1 , . . . , r suficient de mici n comparatie cu
1 , 2 , . . . , k obtinem o aproximare Ak a imaginii a imaginii A. Aceasta este o modalitate de
comprimare a imaginii n scopul stocarii sau transmiterii ei pe un canal de comunicatie. Adica
n locul transmiterii vectorilor u1 , u2 , . . . , ur , v1 , v2 , . . . , vr si respectiv a valorilor singulare
1 , 2 , . . . , r se transmit doar vectorii u1 , . . . , uk , v1 , . . . , vk si valorile singulare 1 , 2 , . . . , k ,
k << r.
Descompunerea trunchiata, Ak , a unei imagini filtreaza o parte din zgomotul continut n
imagine fara a pierde o informatie semnificativa din A.
Ca exemplu aveti n IPython Notebook-ul asociat cursului, imaginea color a lui Mister Bean.
14
Astfel pentru i 6= j, < wi , wj >= j 0 = 0 (deci vectorii sunt ortogonali), iar pentru i = j
avem: < wi , wi >= i ceea ce este echivalent cu kwi k2 = i sau echivalent:
p notatie
kwi k = i = i , i = 1, r
i = 1, r
1
1
1
Notam cu C matricea
v1 | v2 | . . . | vr
1 2
r
T
15
(C T C)AT w = 0
Matricea C are rangul r si conform Propozitiei 12.3.3 rezulta ca si C T C are rangul r, prin
urmare matricea C T C de tip r r este nesingulara si deci sistemul omogen de matrice C T C
are doar solutia banala, adica din (C T C)AT w = 0 rezulta ca AT w = 0.
Prin urmare,
T
1
1
1
v1 | v2 | . . . | vr AT w = 0 AT w = 0
1 2
r
adica ecuatiile complementului ortogonal S , unde S=span(u1 , u2, . . . , ur ) sunt:
AT w = 0
si deci o baza ortonormata ur+1 , . . . , um , n subspatiul Null(AT ) completeaza sistemul (u1 , u2, . . . , ur )
la o baza (u1, . . . , ur , ur+1 , . . . , um) ortonormata n Rm .
Notam cu U matricea de trecere dela baza canonica din Rm la baza ortonormata (u1 , u2, . . . , um ).
U = [u1 |u2| . . . |um] este matrice ortogonala.
End Optional
Proprietati ale descompunerii singulare
Daca matricea A Rmn de rang r, are descompunerea SVD, A = UV T , U = [u1 |u2 | . . . |um ],
V = [v1 |v2 | . . . |vn ], si valorile singulare sunt i , i = 1, r, atunci urmatoarele proprietati sunt
satisfacute:
1) Avi = i ui , i = 1, r;
2) AT ui = i vi , i = 1, r;
3) Matricea A se descompune ca o combinatie liniara cu coeficientii 1 , 2 , . . . , r a r matrici de acelasi tip, Mi = ui viT , i = 1, r:
A=
r
X
i=1
M2
(12.9)
Mr
1
1
1
Avi ) = (AT A)(vi ) = i vi = i vi , pt ca i = i2
i
i
i
16
se calculeaza produsul M = AT A;
se determina polinomul caracteristic al matricii simetrice semipozitiv definite M = AT A,
Pn () = det(M In ) si i se determina radacinile 1 2 n 0;
se determina cate o baza n fiecare subspatiu propriu al matricii M = AT A, care apoi se
ortonormeaza folosind procedeul Gramm-Schmidt, si reuniunea acestor baze conduce la o baza
ortonormata n Rn , formata din vectori proprii (v1 , v2 , . . . , vn );
se constituie matricea V = [v1 |v2 | . . . |vn ];
se separa vectorii v1 , v2 , . . . , vr ce corespund
respectiv valorilor proprii nenule 1 2
r , se calculeaza valorile singulare i = i , i = 1, r.
1
se determina vectorii ortonormati (u1 , u2 , . . . , ur ) din Rm , prin ui = Avi , i = 1, r.
i
se determina o baza arbitrara n subspatiul Null al matricii AT , rezolvand sistemul liniar
si omogen AT x = 0. Aplicand procedeul Gramm-Schmidt se ortonormeaza baza determinata
obtinand astfel m-r vectori ortonormati, ur+1, . . . , um (deoarece dimensiunea lui Null(AT ) este
egala m r adica cu numarul m de coloane ale matricii minus rang(AT )=rang(A)=r);
se constituie matricea U = [u1 |u2 | . . . |um ];
Se scrie descompunerea SVD: A = UV T , tinand seama ca matricea are aceleasi
dimensiuni ca si A, adica este de tip m n.
Exemplul 6. Sa se determine descompunearea singulara a matricii:
1 1
A= 0 1
1 0
Calculam
T
M =A A=
2 1
1 2
2
2
2
2
V = [v1 |v2 ] =
2
2
2
2
3, 2 =
17
1 = 1.
1
Determinam coordonatele vectorilor ui = Avi , i = 1, 2, unde 2 este rangul matricii
i
AT A:
6/3
1 1
1
2/2
= 6/6
u1 = 0 1
2/2
3 1 0
6/6
0
1 1
2/2 = 2/2
u2 = 0 1
2/2
1 0
2/2
Completam sistemul ortonormat (u1 , u2 ) la o baza ortonormata n R3 . Teoretic ar trebui
sa determinam o baza n subspatiul solutiilor sistemului AT x = 0, adica:
x1
1 0 1
0
x2 =
1 1 0
0
x3
Notand x2 = avem:
6
3
0
3
3
6
2
3
U = [u1 |u2|u3 ] =
6 2
3
6
2
3
6
2
3
3
3
3 0
3
2
A= 6 2
0 1 2
6
2
2
2
3
0 0
6
2
3
2
2
6
2
3
Cursul 13
Geometria diferential
a a curbelor
Geometria diferentala studiaza curbe si suprafete ale caror ecuatii sunt definite de
functii diferentiabile.
13.1
Modalit
ati de reprezentare a curbelor plane
In prima parte a cursului definim curbe plane diferentiabile. O curba plana diferentiabila
poate fi data prin mai multe modalitati.
1. Curbe grafic. Cele mai simple curbe diferentiabile sunt graficele functiilor f :
I R R, derivabile pe un interval I din R.
y
m = f 0 (x0 )
Gf
(x, f (x))
x0 O
Fig.13.1: Curb
a plana ce este graficul unei functii reale.
Graficul unei astfel de functii este multimea punctelor de coordonate (x, y):
Gf = {M (x, y) | y = f (x)}
cu proprietatea ca y este valoarea functiei n x (Fig.13.1).
Indicam o astfel de curba prin:
: y = f (x), x I
1
(13.1)
(13.2)
(13.3)
y0
M (x0 , y0 )
x0
F
F
(x0 , y0 )(x x0 ) +
(x0 , y0 )(y y0 ) = 0
x
x
(13.4)
Normala la o curb
a definit
a implicit.
T
inand seama ca daca panta unei drepte este m atunci vectorul ei director este d =
(1, m)T , rezulta ca vectorul director al normalei ntr-un punct M (x0 , y0 ) al curbei de
ecuatie F (x, y) = 0, este:
F
(x0 , y0 )
F
F
y
(x0 , y0 ),
(x0 , y0 ))T
N = (1,
)T k (
F
x
x
(x0 , y0 )
x
Deci vectorul normal curbei n punctul M este:
N =
F
F
(x0 , y0 ),
(x0 , y0 )
x
x
T
= grad(F )(x0 , y0 ),
F
F
(0, 0) = 0 si
(0, 0) = 0 panta tangentei n origine este nedeterminata
x
y
deoarece avem 0/0.
Un punct al curbei de ecuatie F (x, y) = 0, n care ambele derivate partiale se anuleaza
se numeste punct singular. Deci originea este punct singular pentru curba data.
Panta tangentei n punctul M (3/2, 3/2) este 1 deci ecuatia tangentei n M este:
Deoarece
3
3
= (x )
2
2
Observam totusi ca n origine N este vectorul nul, adica normala nu are o directie, tocmai
pentru ca tangenta este nedefinita n acest punct.
2. Curbe plane si n spatiu date parametric
In computer graphics se lucreaza preponderent cu curbe date parametric.
Definitia 13.1.2 O curba din plan sau spatiu ce este imaginea unui interval I, printr-o
aplicatie r : I R Rn (n=2,3), de clasa C k pe I, k 1, r(t) = (x(t), y(t), |z(t)), se
numeste curba diferentiabila data parametric. Notam = im(r) pentru a indica, c
a
este o curba parametrizata de r.
O curba data parametric este interpretata ca si traiectoria unui punct mobil (x(t), y(t), |z(t))
a carui miscare are loc n intervalul de timp I.
A(x(a), y(a))
b
t
(x(t), y(t))
B(x(b), y(b))
mobil (rosu) In intervalul de timp [a, b]. Dand un singur click cu mouse-ul pe butonul B din
widget-ul asociat figurii, este animata micarea continua n sens direct, de la A spre B, iar pe
C , miscarea n sens opus, de la B spre A. Clickand succesiv pe > , respectiv < , este simulat
a
misarea discret
a (pas cu pas) n sens direct, respectiv opus. Oprirea animatiei se realizeaza d
and
click pe | < .
Orice curb
a dat
a ca grafic de functie, adic
a de ecuatie y = f (x), x I, se
parametrizeaz
a prin r : I R2 , r(t) = (x(t), y(t)) unde :
x(t) = t
y(t) = f (t)
M (R cos t, R sin t)
R
t
O
Problem
a. Deduceti parametrizarea cercului cu centrul ntr-un punct C(a, b) si de raza
R. (sugestie: efectuati o translatie a sistemului de axe cu originea n centrul cercului,
aflati parametrizarea n noul sistem de axe si apoi o exprimati relativ la sistemul initial).
Exemplul 4. Parametrizarea elipsei de ecuatie:
x2 y 2
+ 2 1=0
a2
b
(13.5)
M (a cos t, a sin t)
t
O
P (a cos t, y)
M
t [0, 2n]
unde a, b sunt constante pozitive (a descrie raza miscarii circulare, iar b pasul de naltare
pe directia lui Oz, cand n miscarea circulara parcurge un radian),iar n este un numar
natural ce indica numarul de spire.
z
13.2
Tangenta la o curb
a diferentiabil
a dat
a parammetric. Triedrul
lui Frenet
h0
M0
t0
Vectorul r (t0 ) = (x0 (t0 ), y 0 (t0 )|, z 0 (t0 ))T asociat curbei n punctul M0 (x(t0 ), y(t0 )|, z(t0 ))
reprezinta din punct de vedere fizic, vectorul vitez
a la momentul t0 a punctului mobil
ce se misca pe curba .
Daca n plus functia parametrizare r : I Rn (n = 2, 3) este de clasa C 2 pe I, atunci
fiecarui punct M (x(t0 ), y(t0 )|, z(t0 )) i se asociaza vectorul acceleratie la momentul t =
t0 , notat si definit astfel:
R ( ) = r (( ))0 ( )
(13.6)
10
Fig.13.8: Curb
a 3D, parametrizata de r : [a, b] R3 si
reparametrizata de R : [c, d] R3 .
Functia : [c, d] [a, b], numita schimbare de parametru, fiind functie bijectiva ntre
doua intervale, este strict monotona (fie strict crescatoare, fie strict descrescatoare). Daca
este, de exemplu, strict crescatoare, atunci la fel este si 1 .
Doua parametrizari r, R ale unei curbe , astfel ncat R = r ( r = R 1 ), cu
strict crescatoare definesc acelasi sens de parcurs pe curba (n interpretarea cinematica
a curbei ca traiectoria unui punct mobil). Daca schimbarea de parametru este strict
descrescatoare, atunci cele doua parametrizari definesc sensuri opuse de parcurs (fapt
ilustrat si de relatia (13.6) dintre vectorii viteza: fiind strict descrescatoare are derivata
0 ( ) < 0, [c, d]).
Exemplul 6. Fie cercul parametrizat de r : [0, 2] R2 r(t) = (a cos t, a sin t).
Vectorul viteza ntr-un punct arbitrar este r (t) = (a sin t, a cos t) si norma acestuia
este k r (t)k = a,adica cercul este parcurs cu viteza constanta. Luand schimbarea de
parametru : [0, 2] [0, 2], definita prin ( ) = 2 , obtinem o noua parametrizare
a cercului R( ) = r( 2 ) = (a cos 2 , a sin 2 ). Conform acestei legi de miscare pe cerc,
Observatia 13.2.1 O parametrizare r : [a, b] Rn , n = 2, 3, defineste un sens de parcurs pe curba = im(r), si anume de la punctul A = r(a) spre B = r(b). Parametrizarea
cea mai simpla care defineste sensul opus de parcurs pe aceeasi curba este:
R : [b, a] Rn ,
R( ) = r( )
11
13.3
Avand dedusa directia tangentei la o curba plana data parametric, ecuatia tangentei
n punctul M0 (x(t0 ), y(t0 )) este:
y y(t0 )
x x(t0 )
=
0
x (t0 )
y 0 (t0 )
sau scrisa n forma echivalenta:
y 0 (t0 )
(x x(t0 ))
y y(t0 ) = 0
x (t0 )
obtinem ca panta tangentei n punctul M0 n care x0 (t0 ) 6= 0 este:
m(t0 ) =
y 0 (t0 )
x0 (t0 )
iar daca y 0 (t0 ) 6= 0, panta normalei, respectiv vectorul director al normalei sunt:
m0 (t0 ) =
x0 (t0 )
,
y 0 (t0 )
Subliniem ca pentru vectorul normal N (t0 ) am ales sensul care asigura ca baza ortogonala
( r (t0 ) = (x0 (t0 ), y 0 (t0 ))T , N (t0 ) = (y 0 (t0 ), x0 (t0 ))T ) este pozitiv orientata. Intr-adevar,
0
x (t0 ) y 0 (t0 )
r (t0 )
(t0 ) =
, n (t0 ) =
k r (t0 )k
N (t0 )
k N (t0 )k
se numeste reperul lui Frenet. Cand punctul M0 se misca pe curba directiile vectorilor
12
13.4
Tangenta la o curb
a n spatiu. Planul normal si reperul
mobil al lui Frenet
curbei vectorii asociati r (t), r (t) sunt liniar independenti (adica sunt nenuli si necoliniari).
In aceasta sectiune consideram doar curbe regulate de ordin 2.
Fie M un punct al curbei corespunzator parametrului t = t0 , adica punctul de coordonate (x(t0 ), y(t0 ), z(t0 )). Ecuatiile tangentei n punctul M , la curba, sunt:
x x(t0 )
y y(t0 )
z z(t0 )
=
=
0
0
x (t0 )
y (t0 )
z 0 (t0 )
In cazul curbelor plane am numit normala, dreapta perpendiculara pe tangenta n punctul
de tangenta. Aceasta dreapta este unica pentru ca complementul ortogonal al vectorului
tangent, ca vector din R2 , are dimensiunea 1, deci exista o unica directie perpendiculara pe
tangenta. In spatiu nsa, complementul ortogonal al vectorului tangent este de dimensiune
doi si deci exista o infinitate de vectori perpendiculari pe vectorul tangent (vectori normali)
n punctul de tangenta. Din aceasta infinitate n mecanica se aleg doua directii particulare,
numite directia binormalei si directia normalei principale. Mai precis, se asociaza unui
punct M (x(t0 ), y(t0 ), z(t0 )) un reper ortonormat pozitiv orientat, numit reperul lui Frenet.
Pentru a defini baza reperului lui Frenet construim mai ntai o baza ortogonala (w1 , w2 , w3 )
pe care apoi o normam.
Se ia drept vector w1 , vectorul tangent n M:
w1 = r (t0 )
13
Fig.13.10: Animarea reperului mobil al lui Frenet. Cei trei vectori din baza reperului sunt
colorati n rosu (tangenta), verde (normala principala), albastru (binormala.
Vectorul
w3 = r (t0 ) r(t0 )
RF = (M ; (
(t0 ),
n (t0 ), b (t0 )) este reperul lui Frenet asociat curbei n punctul M .
Exact ca si n cazul curbelor plane reperul este mobil (Fig.13.10).
Exemplul 7. Sa se determine reperul lui Frenet asociat punctului M (2, 0, 1) de pe curba
= im(r), r : [0.5, 5] R3 , r(t) = (2t, ln t, t2 ).
Deoarece directiile reperului lui Frenet ntr-un punct se determina pornind de la vectorii
viteza, r (t), si acceleratie, r (t), n acel punct si acesti vectori nu depind de coordonatele carteziene ale punctului, ci de parametrul t corespunzator punctului respectiv,
determinam n prealabil parametrul t astfel ncat r(t) = (2, 0, 1) sau echivalent acel t care
14
13.5
Curbe B
ezier
Aceast
a sectiune este doar pentru cei interesti.
Curbele si suprafetele Bezier sunt obiectele geometrice de baza n modelarea geometrica. Modelarea geometrica este procesul de construire a unei descrieri matematice
(simbolice) a unui obiect fizic sau virtual.
Curbele Bezier s-au nascut n laboratoarele de la Renault si Citroen. Ideea care a
sugerat introducerea acestor curbe este urmatoarea: Daca se da o succesiune de puncte
si cate doua consecutive se unesc printr-un segment, cum se poate genera o curba a carei
forma sa mimeze forma poligonului rezultat din segmentele construite (Fig.13.11)?
Fig.13.11: Un poligon asociat unui sir de puncte ce sugereaza profilul unei capote.
Scopul era de a gasi o modalitate rapida de a genera forme de capote prin design liber,
ce implica mbinarea creativitatii si talentului artistic cu metode riguroase furnizate de
matematica.
Curbele ce au parametrizare polinomiala:
x(t) = a0 + a1 t + + an tn
y(t) = c0 + c1 t + + cn tn
(13.7)
sunt cele mai potrivite pentru a fi generate printr-un program, pentru ca evaluarea
functiilor polinomiale implica calculele cele mai simple si deci se reduce cumularea erorilor.
Curbele parametrizate polinomial se numesc curbe polinomiale.
Exemplul 8. Curba parametrizata prin:
x(t) = 2 + t + 7t2 5t3
y(t) = 3 4t + 7t2 + t3
15
(13.8)
vector
1 = (t + (1 t)) =
n
X
k=0
Cnk tk (1
t)
nk
n
X
Bkn (t)
k=0
16
x(t) = x(b0 )B0n (t) + x(b1 )B1n (t) + + x(bn )Bnn (t)
y(t) = y(b0 )B0n (t) + y(b1 )B1n (t) + + y(bn )Bnn (t)|
b(t) =
z(t) = z(b0 )B0n (t) + z(b1 )B1n (t) + + z(bn )Bnn (t),
b(t) = b0 B01 (t) + b1 B11 (t) = (1 t)b0 + tb1 = b0 + tb0 b1 , si este segmentul determinat
de cele doua puncte.
2. O curba Bezier interpoleaza extremitatile poligonului sau de control (adica trece
sigur prin b0 si bn , dar nu si prin punctele intermediare), deoarece b(0) = b0 si b(1) = b1 .
3.
17
b1
b0
b2
O curba Bezier ale carei puncte de control sunt coplanare (apartin aceluiasi plan) este
o curba plana, n sensul ca toate punctele curbei apartin aceluiasi plan. In particular
curba generata de trei puncte de control este un arc de parabola. (Fig.13.12).
4. O curba Bezier imita forma poligonului de control (Fig.13.13).
bn1 bn :
13.6
Reprezentarea procedural
a a curbelor B
ezier. Algoritmul
de Casteljau
Spre deosebire de Bezier care a definit curbele ce-i poarta numele printr-o parametrizare,
Pnde Casteljau
a dat o definitie procedural
a acestor curbe. Mai precis n cazul parametrizarii b(t) = k=0 bk Bkn (t),
pentru a calcula un punct pe curb
a corespunzator parametrului t, trebuie evaluata aplicatia parametrizare
n t. Definitia procedural
a presupune calculul unui punct corespunzator unui parametru t [0, 1], pe
curba de puncte de control b0 , b1 , . . . , bn , pe baza unui algoritm ce consta ntr-o formula recursiva.
Pentru a descrie algoritmul de Casteljau, numit si schema de Casteljau, fixam cateva notiuni elementare de geometrie analitic
a pe care se bazeaza definitia procedurala.
Dac
a A, B sunt dou
a puncte n plan sau spatiu, o combinatie convexa a lor este un punct M =
1 A + 2 B, i [0, 1], 1 + 2 = 1. Notand 2 = t, rezulta ca 1 = 1 t si deci punctul M se exprim
a
18
b3
b2
b4
b1
b0
b5
b6
b7
Fig.13.13: Curb
a Bezier definita de 8 puncte de control.
ca o combinatie convex
a a lui A si B astfel:
M = (1 t)A + tB, t [01]
Definitia 13.6.1 Un punct al segmentului [A, B], M 6= B, mparte segmentul [A, B] n raportul r dac
a
AM = rM B.
Propozitia 13.6.2 Un punct M 6= B al segmentului [A, B], M = (1 t)A + tB, mparte segmentul
t
t
n raportul
si reciproc, dac
a M mparte segmentul [A, B] n raportul
, t 6= 1, atunci M =
1t
1t
(1 t)A + tB.
Demonstratie: Demonst
am ambele p
arti printr-un sir de echivalente:
M = (1 t)A + tB M = A + tAB AM = t(AM + M B)
t
(1 t)AM = tM B AM =
MB
1t
19
Pornind de la aceast
a proprietate explic
am mai ntai schema lui de Casteljau pentru cazul curbei definit
a
de 3 puncte de control b0 , b1 , b2 . Acestea fiind punctele date se renoteaza b00 , b01 , b02 , indicele 0 din
pozitia de sus indic
and etapa 0 a procedurii.
t
(Fig.13.14).
Fix
and un parametru t [0, 1), acesta mparte segmentul [0, 1) n raportul
1t
In etapa 1 se determin
a pe fiecare segment determinat de doua puncte de control consecutive,
t
punctul ce mparte segmentul respectiv n acelasi raport
:
1t
b10
b11
b20
= (1 t)b00 + tb01
= (1 t)b01 + tb02
(13.9)
pe segmentul determinat de cele doua puncte calculate n etapa precedenta se determina punctul
t
ce mparte segmentul [b10 , b11 ] n raportul
:
1t
b20 = (1 t)b10 + tb11
(13.10)
b01
b11
b10
b20
b00
b02
0
Fig.13.14: Ilustrarea schemei de Casteljau pentru calculul unui punct pe curba Bezier definit
a
de trei puncte de control si parametrul t = 0.35.
B12 (t)
B22 (t)
20
b02
b11
b21
b01
b20
b12
b30
b10
b03
b00
Fig.13.15: Ilustrarea punctelor calculate de algoritmul de Casteljau pe baza a patru puncte de
control si a parametrului t [0, 1], fixat.
b0 , b1 , . . . , bn , dup
a n etape a schemei de Casteljau aplicata dupa acelasi principiu, folosind un parametru
t [0, 1], se obtine un punct pe curba Bezier corespunzator acestui parametru.
Punctele de control calculate n etapele intermediare se pot afisa ntr-o matrice triunghiular
a de
puncte. S
i anume punctele de control sunt puncte date, deci corespund etapei 0 a procedurii recursive si
le ad
aug
am indicele 0 n pozitia de sus:
b00
b01
b02
..
.
b10
b11
b12
..
.
b20
b21
b22
..
.
b0n2
b0n1
b0n
b1n2
b1n1
b2n2
bn1
0
bn1
1
bn0
(13.12)
Punctele din coloana r corespund etapei r a schemei recursive, r = 1, n. Succint, schema de Casteljau se
exprim
a prin:
bri (t) = (1 t) br1
(t) + t br1
i
i+1 (t), r = 1, n, i = 0, n r,
(13.13)
adic
a punctul i din etapa r este o combinatie convexa a punctelor i si i + 1 din etapa r 1:
br1
i
br1
i+1
1t
bri
21
a0 , a1 , . . . , anr si modific
a continutul:
Etapa 0
a0
a1
a2
..
.
Etapa 1
a0
a1
a2
..
.
an2
an1
an
an2
an1
Etapa 2
a0
a1
a2
..
.
Etapa n 1
a0
a1
Etapa n
a0
(13.14)
an2
function deCasteljau(n, b0 , b1 , . . . , bn , t)
for i = 0 : n
ai bi ;
end for
for r = 1 : n
for i = 0 : n r
ai (1 t) ai + t ai+1 ;
end for
end for
return a0 ;
end function
In procesul iterativ al schemei de Casteljau, de evaluare a unui punct b(t), de pe curba Bezier definit
a
de punctele de control b0 , b1 , . . . , bn , se determina practic si directia tangentei la curba n acel punct.
S
i anume se poate demonstra c
a vectorul tangent la curba B
ezier n punctul corespunz
ator
parametrului t [0, 1] este:
(13.15)
unde bn1
(t), bn1
(t) sunt punctele calculate n penultima etapa (etapa n 1 ) a schemei de Casteljau.
1
0
Pseudocodul pentru calculul directiei vectorului tangent n b(t):
In Fig.13.16 este animat
a procedura de generare a unui punct pe o curba Bezier definita de 4 puncte
de control, iar n Fig.13.17 procedura de generare a 21 de puncte pe aceeasi curba.
Pentru a discretiza o curb
a Bezier se divizeaza intervalul [0, 1] prin puncte echidistante. Fix
and
num
arul N de subintervale egale ale intervalului [0, 1], pasul de divizare este h = 1.0/N , iar punctele de
diviziune sunt tj = j h, j = 0, 1, 2, . . . , N .
Pentru fiecare parametru tj , j = 0, 1, . . . N , se apeleaza schema (functia) de Casteljau, obtinand astfel
punctele pj , de pe curb
a.
22
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
function TangentaBezier(n, b0 , b1 , . . . , bn , t)
for i = 0 : n
ai bi ;
end for
for r = 1 : n 1
for i = 0 : n r
ai (1 t) ai + t ai+1 ;
end for
end for
v a1 a0 ;
return v;
end function
23
Cursul 14
Elemente de geometrie diferentiala a suprafetelor
14.1
14.1.1
O suprafata diferentiabila data explicit este graficul unei functii diferentiabile definita pe un
domeniu compact D R2 , f : D R, f de clasa C 1 pe D (Fig.14.1).
Graficul functiei f este multimea punctelor din spatiu de coordonate (x, y, z), unde z este
valoarea functiei n (x, y) D:
Gf = {(x, y, z) | z = f (x, y), (x, y) D}
Ecuatia:
z = f (x, y), (x, y) D
(14.1)
S = {(x, y, z) | F (x, y, z) = 0}
1
(x, y)
x
Fig.14.1: Suprafata grafic.
z
z
Exemplul 3. Elipsoidul:
x2 y 2 z 2
S : F (x, y, z) = 2 + 2 + 2 1 = 0
a
b
c
14.1.3
(14.2)
Intuitiv, domeniul U este o placa plana si aplicatia parametrizare transporta placa n spatiu si o
deformeaza (o curbeaza) ntr-o panza de suprafata .
z
z
x2 y 2 z 2
Fig.14.4: Sfera cu centrul n origine si de raza R (stanga), elipsoidul de ecuatie
+
+
1 = 0
16 49
9
(dreapta).
Domeniul parametrilor U este raportat la sistemul de axe uO0 v, iar R3 la sistemul de axe
xOyz. In computer graphics se lucreaza preponderent cu domenii U ale parametrilor, dreptunghiulare, U = [a, b] [c, d] sau triunghiulare. Panzele de suprafata corespunzatoare se
numesc panze dreptunghiulare, respectiv triunghiulare. In Fig.14.5 este ilustrat efectul aplicatiei
parametrizare asupra unui dreptunghi.
Exemple de suprafete parametrizate
Exemplul 4. Orice suprafata data explicit prin ecuatia: S : z = f (x, y), (x, y) D se parametrizeaza cel mai simplu notand x cu u si y cu v:
x(u, v) = u
y(u, v) = v
(u, v) D
z(u, v) = f (u, v)
De exemplu, paraboloidul z
x(u, v)
y(u, v)
z(u, v)
(u, v) {(u, v) | u2 + v 2
h}
v
r
(x(u, v), y(u, v), z(u, v))
U
O0
(u, v)
x
t [0, 2],
Si anume:
S:
x(u, v) = u cos v
y(u, v) = u sin v
, u [0, h], v [0, 2]
z(u, v) = x2 + y 2 = u2
x(u, v) = u cos v
y(u, v) = u sin v
z(u, v) = u
(14.3)
Remarcam ca pe langa expresia analitica a functiilor x(u, v), y(u, v), z(u, v), ce definesc
parametrizarea, este foarte important sa precizam domeniul parametrilor. De exemplu trunchiul
din conul z 2 = x2 + y 2 , corespunzator lui z [h1 , h2 ] este parametrizat de aceleasi functii
x(u, v), y(u, v), z(u, v), ce definesc parametrizarea conului ntreg (Ec.14.3), dar parametrii (u, v)
[h1 , h2 ] [0, 2] (Fig.14.8 stanga). Pe de alta parte, parametrizarea unei jumatati din acest
trunchi de con, corespunzatoare lui x 0 (Fig.14.8 dreapta) esste:
x(u, v) = u cos v
y(u, v) = u sin v
u [h1 , h2 ], v [/2, 3/2],
(14.4)
z(u, v) = u
deoarece pentru un cerc cu centrul n origine si de raza r, jumatatea corespunzatoare lui x 0
corespunde parametrului t [/2, 3/2] din parametrizarea x(t) = R cos t, y(t) + R sin t
(Fig.14.7):
Exemplul 6. Parametrizarea sferei si a unei sub-panze de sfera. Pentru a parametriza sfera sau
o portiune de sfera folosim coordonatele sferice si anume coordonatele (, , ) ale unui punct
au urmatoarea semnificatie geometrica:
O
yx
z
z
y
x
inclusa figura ce ilustreaza semnificattia lor geometrica. Coordonatele sferice nu sunt tratate
aici din cauza figurilor generate in alt format decat cele din acest curs).
Relatia dintre coordonatele sferice si cele carteziene sunt:
x = cos cos
y = sin cos
z = sin
(14.5)
(14.6)
Polul nord are coordonata = /2, iar polul sud coordonata = /2.
Schimband domeniul parametrilor, obtinem portiuni sau subpanze de sfera. De exemplu,
pentru u = [0, 2], v = [/2, 0] obtinem semisfera sudica descrisa analitic prin
x2 + y 2 + z 2 R2 = 0, z 0 (Fig.14.9 stanga), iar pentru u = [0, /2], v = [0, /2]
obtinem octimea de sfera descrisa analitic prin x2 + y 2 + z 2 R2 = 0, x 0, y 0, z 0
(Fig.14.9 dreapta).
14.2
14.2.1
Fie suprafata S, de clasa C 1 , reprezentata de parametrizarea r : [a, b] [c, d] R3 . Imaginea prin r a unui segment vertical, u = u0 , v [c, d], din dreptunghiul de definitie al parametizarii (Fig.14.11), este o curba pe suprafata, u0 , parametrizata de:
C(v) = r(u0 , v) = (x(u0 , v), y(u0 , v), z(u0 , v)), v [c, d]
Vectorul tangent ntr-un punct arbitrar al acestei curbe este
0
x
y
z
C (v) = r v (u0 , v) =
(u0 , v), (u0 , v), (u0 , v) = (x0v (u0 , v), yv0 (u0 , v), zv0 (u0 , v))
v
v
v
10
rv0
ru0
r
M
U
O0
(u0 , v0 )
x
Fig.14.11:
intersectie.
Imaginea prin r a unui segment orizontal, v = v0 , u [a, b], este curba de pe suprafata , v0 ,
parametrizata prin:
D(u) = r(u, v0 ) = (x(u, v) ), y(u, v0 ), z(u, v0 )), u [a, b]
Vectorul tangent ntr-un punct al acestei curbe este:
0
y
z
x
D (u) = r u (u, v0 ) =
(u, v0 ), (u, v0 ), (u, v0 ) = (x0u (u, v0 ), yu0 (u, v0 ), zu0 (u, v0 ))
u
u
u
Printr-un punct arbitrar (u0 , v0 ) din domeniul parametrilor trec cele doua segmente perpendiculare, u = u0 , respectiv v = v0 (Fig.14.11). Imaginile lor prin aplicatia parametrizare sunt doua
curbe pe suprafata , ce se intersecteaza n punctul M (x(u0 , v0 ), y(u0 , v0 ), z(u0 , v0 )) (Fig.14.11).
In geometria diferentiala curbele u0 , v0 , se numesc curbe coordonate.
Daca vectorii tangenti la curbele coordonate, u0 , v0 , n punctul M sunt liniar independenti
(adica nenuli si necoliniari), punctul M se numeste punct regulat.
Definitia 14.2.1 Fie M (x(u0 , v0 ), y(u0 , v0 ), z(u0 , v0 )) un punct regulat al unei suprafete. Planul
11
x x(u0 , v0 ) y y(u0 , v0 ) x z(u0 , v0 )
x0u (u0 , v0 )
zu0 (u0 , v0 )
yu0 (u0 , v0 )
x0v (u0 , v0 )
zv0 (u0 , v0 )
yv0 (u0 , v0 )
=0
Definitia 14.2.2 Normala ntr-un punct M al unei suprafete este directia perpendiculara pe
planul tangent n acel punct.
Deoarece planul tangent este generat de vectorii r0 u (u0 , v0 ), r0 v (u0 , v0 ), directia vectorului
normal n punctul M la suprafata este:
d = k r0 u r0 v k du dv
d intervine n definitia integralei de suprafata . In ingineria electrica integralele de suprafata se
folosesc pentru a calcula fluxul campului electric printr-o suprafata .
Se demonstreaza ca aria k r0 u r0 v k = EG F 2 , unde E = r0 u r0 u , F = r0 u r0 v ,
G = r0 v r0 v (adica E, F, G sunt produsele scalare a doi cate doi vectori din baza ( r0 u , r0 v )
din planul tangent ntr-un punct la suprafata ).
14.2.2
(u, v, f (u, v)), iar vectorii tangenti la curbele coordonate printr-un punct arbitrar sunt r0 u =
f T
f T
(1, 0,
) , r0 v = (0, 1,
) . Astfel directia normalei la suprafata ntr-un punct arbitrar este:
u
v
i j k
f
f
f
f f
1 0
T
N (u, v) = r u r v =
u = ( u , v , 1) k ( u , v , 1)
0 1 f
v
Deoarece n parametrizarea aleasa, u = x si v = y, putem concluziona ca directia normalei
ntr-un punct M (x0 , y0 , z0 ), la o suprafata diferentiabila, data prin ecuatia explicita z = f (x, y)
este:
T
f
f
N (x0 , y0 , z0 ) =
(x0 , y0 ),
(x0 , y0 ), 1
x
y
12
14.2.3
M0
Fig.14.12: Ilustrarea domeniului de definitie si graficul unei functii definite implicit de ecuatia unei
suprafete, F (x, y, z) = 0 si un punct M al suprafetei, precum si normala n M la suprafata .
13
F
= 2z. Deci aceasta derivata se anuleaza n punctele de pe sfera situate n planul z =
z
0 (planul xOy), adica n punctele ecuatorului. Conform teoremei functiilor implicite daca
M (x0 , y0 , z0 ) nu apartine ecuatorului atunci o portiune de suprafata din jurul acestui punct
este graficul unei functii z(x, y). Mai precis conditiile b) si a) ne asigura ca punctele graficului functiei z (vizualizat cu verde pe sfera din Fig.14.12), (x, y, z(x, y)), (x, y) V , apartin
suprafetei si respectiv, punctul M apartine acestui grafic (z(x0 , y0 ) = z0 ). Domeniul de definitie,
V , al functiei z este multimea colorata verde din planul xOy, Fig.14.12.
Conform sectiunii precedente putem afla directia normalei n M, la graficul functiei z, de
clasa C 1 , care de fapt este directia normalei n M la suprafata initiala, de ecuatie F (x, y, z) = 0,
astfel:
T
z
z
(x0 , y0 ), (x0 , y0 ), 1
N (x0 , y0 , z0 ) =
x
y
Tinand seama de relatiile (14.7) directia normalei n M devine:
T
F
F
x
y
k
N (x0 , y0 , z0 ) =
(x
,
y
,
z
),
(x
,
y
,
z
),
1
0
0
0
0
0
0
F
F
z
z
T
F
F
F
k
(x0 , y0 , z0 ),
(x0 , y0 , z0 ),
(x0 , y0 , z0 )
=
x
y
z
= grad(F )(x0 , y0 , z0 )
14.3
Figurile din cursul de AlgebraGeometrie din acest semestru au fost generate folosind
asymptote http://asymptote.sourceforge.net/, un limbaj de specificatie grafica,
care genereaza figuri in format eps, pdf, png.
Limbajul asymptote se aseamana foarte mult cu C++. Contine cateva biblioteci de clase si
functii, ce se importa la nevoie.
De exemplu, un punct 2D sau un vector 2D este un obiect pair:
pair M=(-2.0, 1);
pair v=(3.2, -1.5);
draw(M--M+v, blue, Arrow); // traseaza segmentul cu sageata,
// adica vector de la M, la M+v
Inclus aveti codul pentru generarea animatiei 3D din Cursul 13, ce ilustreaza triedrul lui
Frenet. Fisierul are in mod normal extensia asy, dar pentru a-l putea deschide i-am dat extensia
txt.
Figurile din Cursul 14 si Suplimentul la Cursul 14 au fost realizate cu versiuni mai vechi ale
lui asymptote si pentru ca nu mai gasesc codul ca sa-l re-rulez, am inserat n figurile generate
14
acum cativa ani si nu au o calitate deosebita, desi n momentul generarii erau OK. Cred ca asta
se datoreaza si versiunilor mai noi ale Acrobat Reader-ului, care nu convertesc bine fisiere eps
si pdf mai vechi.