Sunteți pe pagina 1din 17

Cursul 8

Orientarea bazelor si a reperelor ortonormate.


Schimbari de repere.
Maparea unei ferestre pe un viewport

8.1 Orientarea bazelor si a reperelor ortonormate


Definitia 8.1.1 Doua baze (ortonormate sau neortonormate), B, B , din Rn au aceeasi orientare daca determinantul matricii de trecere este pozitiv, det(TBB ) > 0, si respectiv orientare
opusa, daca determinantul matricii de trecere este negativ.
Daca bazele B, B au aceeasi orientare, notam:
B B
1
1
Deoarece TB B = TBB
a ca daca B B , atunci si B B deoarece det(TBB
rezult
) =
1/det(TBB > 0, si deci det(TB B ) > 0.
In Rn orice baza la fel orientata ca baza canonica se numeste baza dreapta, iar o baza
opus orientata bazei canonice (adica cu determinantul matricii de trecere ntre cele doua baze,
negativ) se numeste baza stramba sau stanga. Prin analogie, un reper ortonormat n En se
numeste reper drept daca baza reperului este dreapta si reper stang, daca baza reperului este
stanga.
Pentru a identifica daca un reper este stang sau drept din analiza pozitiei relative a axelor de
coordonate asociate, discutam pe rand cazul reperelor din plan si respectiv din spatiul 3D.

Repere drepte n plan


Pentru a ntelege orientarea bazelor n spatiul R2 , consideram un vector nenul, v = (a, b)T
R2 . Complementul sa ortogonal, v T , este de ecuatie ax + by = 0, adica multimea vectorilor
din R2 ale caror coordonate satisfac ecuatia dreptei ax + by = 0. Cum v T are dimensiunea
2 1 = 1 (vezi Cursul 6), si deci o baza n v T contine un singur vector, rezulta ca exista o
singura directie perpendiculara pe v si anume directia reprezentata de vectorul w = (b, a)T
sau w = (b, a)T = w. Notand cu v 0 , w 0 , w 0 versorii celor trei directii si sensuri precizate,
putem constitui doua baze ortonormate, ce au pe v 0 ca prim vector n baza:
B1 = (v 0 , w 0), B2 = (v 0 , w 0 )
In Figura urmatoare ilustram versorii asociati lui v = (1, 2)T , w = (2, 1)T , w = (2, 1)T :
1

Cursul 8, Algebra liniara, E. Petrisor, noiembrie 2011

2
v0

w0
O
w0

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/kvk =
(a, b)T si w 0 =
(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 , w 0 ), este:

b
a

2
2

a2 + b2
TBB1 = [v 0 |w 0] = 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 , w 0 ) 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 )
kui k kej k
|{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.1 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 ,

8.1. Orientarea bazelor si a reperelor ortonormate

3
e2
u1

u2

e2

e1

u1

e1

u2

Fig.8.1: Baza dreapta (rosu), respectiv baza stanga (albastru) n R2 .

adica masura unghiului dintre u2 si e2 este tot . In acest caz matricea de trecere


cos sin
, are determinatul det(TBB ) = cos2 + sin2 = 1 > 0
TBB =
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
avem cos(u[
a masura unghiului dintre u2 si e2 nu este , ci
2 , e2 ) = cos = cos( ), adic

(vezi Fig.8.1 baza colorata n albastru). In acest caz matricea de trecere dintre cele doua
baze:


cos
sin
, are determinantul det(TBB ) = cos2 sin2 = 1 < 0
TBB =
sin cos
si deci baza ortonormata: B = (u1 = (cos , sin )T , u2 = (sin , cos )T ) este o baza stanga.
In concluzie O baza ortonormata B = (u1 , u2 ) din R2 are aceeasi orientare ca baza
canonica (e1 , e2 ), daca masura unghiului dintre u1 si e1 coincide cu masura unghiului
dintre u2 si e2 (Fig. 8.1, rosu). Baza B are orientare opusa bazei canonice, daca cele doua
unghiuri au masuri diferite (Fig. 8.1, 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.2).
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

Cursul 8, Algebra liniara, E. Petrisor, noiembrie 2011

4
y
y
e2

u2

x
u1

e1

Fig.8.2: Pozitia unui sistem de axe drept, x Oy fata de sistemul de axe canonic, xOy

unghiul dintre Oy si Oy (Fig. 8.2). 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
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.

Fig.8.3: Sisteme de axe n E2 asociate unui reper drept, respectiv 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.2. Schimbarea de reper prin translatie

8.2 Schimbarea de reper prin translatie


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
sensul lui e1 , etc).
Problema care se pune atunci cand avem doua repere este de a determina relatia dintre
coordonatele (x, y|, z) ale unui punct M n primul reper si coordonatele (x , y |z ) ale aceluiasi
punct n reperul al doilea.
y
y
(x, y) M (x , y )

e2
e2

O e1
O e1

Fig.8.4: Doua sisteme de axe ortogonale drepte obtinute unul din celalalt prin translatie.

Propozitia 8.2.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.4 pentru cazul 2D) avem ca


OO + O M = OM
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 .

Cursul 8, Algebra liniara, E. Petrisor, noiembrie 2011

y
M (x, y)

(x , y )

u2

e2
u1
O e1

Fig.8.5: Doua sisteme de axe ortogonale drepte obtinute unul din celalalt prin rotatie n jurul originii
comune.

Din definitia coordonatelor relativ la un reper rezulta ca:

OO = x0 e1 + y0 e2 | + z0 e3 , O M = x e1 + y e2 | + z e3 ,

OM = xe1 + ye2| + ze3

Inlocuind n relatia Chasles de mai sus avem:


x = x + x0
y = y + y0 |
z = z + z0

sau

x = x x0
y = y y0 |
z = z z0

8.3 Schimbarea de reper ortonormat n E2 prin rotatie n jurul originii


In E2 se considera un reper ortonormat drept, R = (O; (e1, e2 )) si sistemul de axe asociat
xOy (cel mai adesea n aplicatii R este reperul asociat bazei canonice). Reperul ortonormat
drept R = (O, (u1, u2 )), ce are aceasi origine O, dar o alta baza ortonomata dreapta, se zice
ca s-a obtinut din reperul initial printr-o rotatie n jurul lui O, de unghi = mas(e[
1 , u1 ) =
mas(e[
2 , u2 ).
Un punct arbitrar M are coordonatele (x, y) relativ la reperul R si respectiv coordonatele
(x , y ), relativ la reperul R (Fig.8.5). Sa deducem relatia dintre cele doua seturi de coordonate.
Conform definitiei coordonatelor unui punct relativ la un reper, dat avem:

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

8.4. Schimbari arbitrare de repere

stim ca:

OM B = TBB OM B

(8.2)

Dar am dedus mai sus ca matricea de trecere dintre doua baze ortonormate drepte, din R este
matricea:


cos() sin()
, = mas(e[
as(e[
TBB =
1 , u1 ) = m
2 , u2 )
sin()
cos()
2

si deci relatia (8.2) devine:




x
y

=
B

cos() sin()
sin()
cos()



x
y

(8.3)

1
T
iar relatia inversa se obtine tinand seama ca TBB
= TBB .

8.4 Schimbari arbitrare de repere


In afara de schimbarea de repere prin translatie sau prin rotatie, avem schimbari mai generale, atat n E2 cat si n E3 . Si anume, schimbarea de la un reper ortonormat R = (O; (e1 |e2 |e3 ))
| {z }
B

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 Rt = (O ; (e1 , e2 , |e3 )).
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 |
(8.4)
Z = z z0

Se determina coordonatele (x , y , |z ) ale punctului M relativ la reperul R = (O ; (u1, u2 , |u3)),


n functie de coordonatele M(X, Y, Z) n reperul intermediar Rt = (O ; (e1 , e2 , |e3 )), astfel:

Se exprima O M n baza reperului Rt , respectiv n baza reperului R :

O M B = Xe1 + Y e2 | + Ze3
(8.5)

O M B = x u1 + y u2 | + z u3

se scriu relatiile dintre cele doua seturi de coordonate ale vectorului O M :


X
x
x
X
T
Y | = TBB y | , y | = TBB
Y|
(8.6)

z
Z B
z
Z
B
B
B

Cursul 8, Algebra liniara, E. Petrisor, noiembrie 2011

Combinand relatiile (8.4), (8.5) putem scrie:


x
X
x x0
T
T
y | = TBB
Y | = TBB
y y0 |

z
Z
z z0

(8.7)

In computer graphics, gaming si robotica e nevoie deseori sa determinam relatiile inverse,


adica cunoscund coordonatele (x , y |, z ) ale lui M sa aflam coordonatele (x, y, |, z) relativ la
reperul initial. Acestea se deduc din


X
x
Y | = TBB y |
(8.8)

z
Z B
B
nlocuind pe X, Y, Z cu expresia lor din (8.4). Astfel obtinem:


x0
x
x x0
x
x
y y0 | = TBB y | , y| = y0 | + TBB y |
z0
z
z z0
z
z
{z
}
| {z } | {z } |
M =punct

O =punct

(8.9)

vector

Pentru a ilustra problematica schimbarilor arbitrare de repere dam un exemplu:

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

Cursul 8, Algebra liniara, E. Petrisor, noiembrie 2011

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 .

1. Se efectueaza o translatie cu originea n OR


(x0 , y0 ) si se obtine reperul intermediar, de

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.10)
Y = y y0 = y 1

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

Tinand seama de relatiile (8.10), obtinem:




 
x x0
x
T
= TBB
y y0
y
Dar matricea TBB este:
TBB = [u1 |u2] =


1/2

3/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:



  
3/2
x+2
1/2
x

=
y1
y
3/2
1/2

Cursul 8, Algebra liniara, E. Petrisor, noiembrie 2011

10
D

xp

yp
Fig.8.6: Sistemul de axe al device-lui de afisare grafica.

8.5 Aplicarea unei ferestre raportata la un reper ortogonal drept pe un


viewport pe ecran
8.5.1 Formularea problemei
Problema pe care o abordam si rezolvam este urmatoarea: un obiect 2D este discretizat si
reprezentat de o multime finita de puncte, raportate la un sistem drept, de axe ortogonale xOy,
numit n grafica, sistemul lumii reale (n l. engleza, real world coordinate system) sau sistemul
obiectului de vizualizat.
Fie [a, b][c, d] o fereastra (un dreptunghi) care contine toate punctele obiectului discretizat.
Dorim sa vizualizam obiectul 2D din dreptunghiul lumii reale, [a, b] [c, d], pe un viewport
(dreptunghi) pe device-lui de iesire al unui sistem grafic. Fiecare hardware are un sistem de
coordonate al device-lui de afisare grafica.
Device-ului de iesire pentru un sistem grafic este o matrice de pixeli(pentru ecran) sau o
matrice de puncte (pentru imprimanta). Pixel-ul (prescurtare de la picture element) este unitatea
de adresare pe ecran.
Dimensiunile, mn, ale matricii de pixeli definesc rezolutia device-ului. Pentru imprimante
rezolutia este data n dots per inch (1 inch=25.4 mm).
Indexarea elementelor din matrice se face ncepand cu 0. Deci pixelul din coltul stanga, sus
este n linia 0, coloana 0.
Majoritatea device-urilor au un sistem stang, de axe ortogonale, cu originea, D, plasata n
coltul din stanga sus al matricii de pixeli. Cele doua axe, notate xp , yp (adica x-pixel, y-pixel)
sunt orientate orizontal, respectiv vertical, n jos, ca n Fig.8.6:
Deoarece axa Dxp trebuie rotita cu 90 n sensul acelor ceasornicului, pentru a fi adusa
peste Dyp , sistemul de coordonate Dxp yp este un sistem stang.
Un pixel plasat n matrice n pozitia (i, j) (linia i, coloana j) are coordonatele (xp = j, yp =
i), relativ la sistemul de axe Dxp yp . Pixelul albastru din Fig.8.6 este n pozitia (2, 5), deci
coordonatele sale sunt (xp = 5, yp = 2).
Observam ca yp creste de sus n jos, adica cu cat este plasat ntr-o linie de indice mai mare,
cu atat yp este mai mare (n sistemele drepte de coordonate, y-ul creste din jos n sus).
Un astfel de sistem stramb de coordonate au si paginile WEB. Pozitia unui obiect n pagina

Cursul 8, Algebra liniara, E. Petrisor, noiembrie 2011

11

se indica prin coordonate


(obiect.Left, obiect.Top)
relativ la un reper Sxy (unde S este coltul stanga sus al unui element parinte al obiectului
respectiv, Sx, Sy fiind orientate la fel ca Dxp , Dyp pentru sistemul device-ului de iesire grafica).
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 al device-ului
de iesire.
y
(b, d)
xp
(pr , pt )

D
M

(a, c)
O

yp

(pl , pb )

Fig.8.7: Ilustrarea problematicii maparii unui dreptunghi pe un viewport pe device-ul de iesire al unui
sistem grafic.

Viewportul este domeniul dreptunghiular de pe ecran ce are varfurile diagonal opuse (pl , pb ),
(pr , pt ), unde pl este prescurtarea de la pixel left, pr -pixel right, pt -pixel top si pb -pixel bottom.
Vizualizarea se efectueaza mapand, adica aplicand fereastra lumii reale pe viewportul de pe
ecran, mai precis aplicand fiecare punct, M(x, y), din figura inclusa n fereastra lumii reale
ntr-un pixel, P (xp , yp ), din viewportul de pe ecran (Fig.8.7).
Pentru a ntelege mai bine problema pe care o abordam consideram un exemplu simplu de
grafica 2D.
Dorim sa desenam pe ecran graficul functiei f (x) = x2 sin x, x [1, 2]. In acest scop
divizam intervalul de definitie [1, 2] n N = 60 subintervale adiacente de lungimi egale. Pasul
(distanta dintre doua puncte de diviziune consecutive) este h =lungimea intervalului/N=3/60 =
0.05. Notam cu xi = 1+ih, i = 0, 60 punctele de diviziune. Calculam valorile functiei n xi
si obtinem yi = x2i sin xi , i = 0, 60. In urma discretizarii graficul este reprezentat de multimea
de puncte (norul de puncte din exprimarea de mai sus) (xi , yi ), i = 0, 60 (Fig.8.8).
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 = 2,
c = min{yi , i = 1, N}, d = max{yi , i = 1, N}. Prin urmare graficul discretizat intra n
fereastra [a, b] [c, d]. Dorim sa desenem graficul pe ecran n viewportul definit de pl = 100,
pr = 400, pt = 50, pb = 375. Pentru a vizualiza graficul, mapam punctele (xi , yi ) pe ecran,
adica pe pixelii de coordonate ((xp )i , (yp )i ), i = 0, N si apoi unim cu un segment de dreapta
doi pixeli consecutivi ((xp )i , (yp )i ), ((xp )i+1 , (yp )i+1 ), i = 0, N 1.
Pentru a mapa fereastra raportata la un sistem drept pe o fereastra (viewport) pe ecranul unui
PC, ce este raportat la un reper stang avem nevoie de:

Cursul 8, Algebra liniara, E. Petrisor, noiembrie 2011

12
4
3
2
1
0
1
1

Fig.8.8: Punctele de pe grafic n fereastra [a, b] [c, d] = [1, 2] [1, 4]

Propozitia 8.5.1 Daca R = (D; e1 , e2 ) este reperul ortonormat, stramb, asociat ecranului,
de axe Dxp yp , O este un punct pe ecran de coordonate pixel (x0p , yp0 ), iar R = (O, e1 , e2 ) este
un reper drept, de axe Oxy (Fig.8.9), atunci daca punctul M are coordonatele (x, y) relativ la
sistemul drept Oxy si coordonatele (xp , yp ) relativ la sistemul stramb de axe, Dxp yp , relatiile
dintre cele doua seturi de coordonate ale lui M sunt:
xp =
x + x0p
yp = y + yp0
D

e1

xp

e2

M (xp , yp )
(x, y)

e2

yp

(8.11)

e1

Fig.8.9: Doua sisteme de axe ortogonale opus orientate.

Demonstratie: Scriem aceeasi relatie a lui Chales ca n cazul precedent:



DO + OM = DM,
unde:

DO = x0p e1 + yp0(e2 ),

OM = xe1 + ye2 ,

DM = xp e1 + yp (e2 )

Cursul 8, Algebra liniara, E. Petrisor, noiembrie 2011

13

si nlocuind obtinem:
xp =
x + x0p
yp = y + yp0

(8.12)

8.5.2 Constructia aplicatiei mapare fereastraviewport


Multimea de puncte Mi (xi , yi ), i = 0, N ce reprezinta obiectul 2D discretizat este in clusa
n dreptunghiul [a, b] [c, d], raportat la sistemul drept de axe ortogonale xOyz.
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 ) cu:
x = x a
(8.13)
y = y c

Fereastra ce trebuie mapata pe ecran este n noul sistem de coordonate [0, b a] [0, d c].
Transformam fereastra [0, b a] [0, d c] ntr-una avand dimensiunile viewportului de
pe ecran, adica lungimea pr pl 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.
Cum alegem factorii de scalare astfel ncat fereastra [0, b a] [0, d c] sa fie mapata pe
fereastra [0, pr pr ] [0, pb pt ] (raportate ambele la sistemul de coordonate F x y )?
Deoarece originea F (x = 0, y = 0) este mapata n ea nsasi, punem conditia ca punctul
diagonal opus al ferestrei, (b a, d c) (Fig.8.10), sa fie aplicat de scalarea S n punctul
(pr pl , pb pt ) si obtinem:
S

(b a, d c) = (pr pl , pb pt )
A=

pr pl
pb pt
,B =
ba
dc

Prin urmare scalarea cautata este:

(A(b a), B(d c)) = (pr pl , pb pt ),

Cursul 8, Algebra liniara, E. Petrisor, noiembrie 2011

14

S(x , y ) = (X , Y ), unde

pr pl

X = ba x

p pt

Y = b
y
dc

(8.14)

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 de pe ecran. (Fig.8.10 dreptunghiul rosu). Precizam ca atat coordonatele (x , y ), cat si
(X , Y ) sunt coordonate relativ la sistemul de axe x F y .
y

M (X , Y )
F

(b a, d c)
(pr pl , pb pt )

x
x

Fig.8.10: 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).

Pentru a vizualiza punctele Pi trebuie sa le determinam coordonatele pixel, (xp , yp ). Pentru a ntelege modul de determinare al acestor coordonate presupun ca sistemul de axe x F y
se lipeste pe ecran 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.8.11).
D
xp

P (X , Y )
(xp , yp )
F (pl , pb )

yp
Fig.8.11: Pozitionarea sistemului de axe ortogonale F x y pe ecran.

8.6. Produs vectorial n R3 . Orientarea bazelor si reperelor ortonormate n spatiul 3D

15

Un punct P ce are coordonatele (X , Y ) n sistemul de axe ortogonale, F x y , va avea


conform relatiei (8.11) coordonatele pixel:
xp = pl + X
y p = pb Y

(8.15)

Tinand acum cont n (8.15) de relatiile (8.14), (8.13) obtinem relatiile dintre coordonatele (x, y)
ale unui punct M din fereastra [a, b] [c, d] si coordonatele pixel, (xp , yp ), ale mapatului sau
P , pe viewportul de varfuri diagonal opuse (pl , pb ), (pr , pt ):
pr pl
(x a)
ba
pb pt
= pb
(y c)
dc

xp = pl +
yp

(8.16)

Deoarece coordonatele pixel sunt numere ntregi, relatiile din (8.16) presupun atribuirea unui
numar real unui ntreg. Pentru a evita erorile de aproximare a unui real printr-un ntreg n loc
de (8.16) se recomada relatiile:
pr pl
(x a) + 0.5]
ba
pb pt
yp = [pb
(y c) + 0.5],
dc
xp = [pl +

(8.17)

adica se calculeaza partea ntreaga a membrilor drepti. Astfel n cazul n care membrii drepti
din (8.16) ar fi (230.15, 318.77) rotunjirea s-ar face la (230, 318), n timp ce folosind (8.17)
xp = 230, iar yp = 319, adica aproximarea este mai buna.

8.6 Produs vectorial n R3 . Orientarea bazelor si reperelor ortonormate


n spatiul 3D
In spatiul vectorial R3 nzestrat cu produsul scalar standard <, >, definim produsul vectorial
a doi vectori, ca un ingredient cheie n constructia bazelor de o anumita orientare.
Reamintim ca doua baze (ortonormate sau nu) B, B , din R3 au aceeasi orientare daca
det(TBB ) > 0. O baza din R3 , la fel orientata ca si baza canonica, se numeste baza dreapta.
Daca v1 = (a1 , a2 , a3 )T , v2 = (b1 , b2 , b3 )T sunt doi vectori nenuli si necoliniari din R3 , cu
alte cuvinte, doi vectori liniari independenti, subspatiul lui R3 , S = span(v1 , v2 ), are dimensiunea 2 si deci complementul sau ortogonal, S , are dimensiunea 1:

S = {v(x1 , x2 , x3 ) | v v1 , v v2 < v, v1 >= 0, < v, v2 >= 0

a1 x1 + a2 x2 + a3 x2 = 0
}
b1 x1 + b2 x2 + b3 x2 = 0

Cursul 8, Algebra liniara, E. Petrisor, noiembrie 2011

16
S
u
w

v
u

x
O baza n S consta dintr-un vector nenul u. Odata cu u nsa si u apartine lui S . Astfel
(v, w, u), respectiv (v, w, u) sunt baze n R3 (ca reuniune de baze din S, respectiv S ). Cum
cele doua baze difera prin sensul vectorului al treielea, ele au orientari diferite: una este baza
dreapta si alta stramba. Problema pe care o abordam n continuare este aceea de a determina
sensul +u sau u care conduce la o baza dreapta.
Subspatiul S este multimea solutiilor sistemului
a1 x1 + a2 x2 + a3 x2 = 0
b1 x1 + b2 x2 + b3 x2 = 0
Matricea sistemului are rangul 2 deoarece vectorii v1 , v2 sunt liniar independenti. Presupunem,
de exemplu, ca determinantul principal este:


a1 a2

=
b1 b2
Notand necunoscuta secundara cu := x3 si rezolvand sistemul folosind
avem:







a3 a2
a1 a3
a2 a3








b3 b2
b2 b3
b1 b3

=
x2 =
=
x1 =
a1 a2
a1 a2
a1 a2








b1 b2
b1 b2
b1 b2

Prin urmare un vector arbitrar din S este de forma:






a1 a3



a2 a3
b1 b3  a a
b2 b3
2 3

v=
a a , a a , || b2 b3
1 2
1 2
b1 b2
b1 b2

regula lui Cramer

a1
b1
a1
b1

a3
b3
a2
b2









, a1 a3 , a1 a2 , R
b1 b3 b1 b2

Definitia 8.6.1 Vectorul din R3 , asociat vectorilor v1 = (a1 , a2 , a3 )T , v2 = (b1 , b2 , b3 )T , si


avand n baza canonica coordonatele:








a2 a3
, a1 a3 , a1 a2 ,

b1 b3 b1 b2
b2 b3
se numeste produsul vectorial al lui v1 cu v2 si se noteaza v1 v2 .

Cursul 8, Algebra liniara, E. Petrisor, noiembrie 2011

17

Coordonatele produsului vectorial, v1 v2 , n baza canonica, (e1 , e2 , e3 ), din R3 a se obtin din


dezvoltarea dupa prima linie a determinantului:


e1 e2 e3


v1 v2 = a1 a2 a3
b1 b2 b3
Proprietati.

Conform constructiei vectorului produs vectorial v1 v2 , rezulta ca acesta este simultan


ortogonal pe fiecare vector factor, v1 , v2 .
v1 v2

v1

v2

Produsul vectorial este anticomutativ: v w = (w v) (verificati!)


Produsul vectorial a doi vectori coliniari este vectorul nul.
Intr-adevar, daca v1 k v2 , atunci v2 = v1 , 6= 0:


e1
e2
e3

v1 v2 = v1 v1 = a1 a2 a3 =
a1 a2 a3

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: kv wk = kvkkwk 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








x1 x2
x1 x3
x2 x3
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
(8.18)
Produsul < v w, u >= det([v|w|u]) se numeste produsul mixt al vectorilor v, w, u si se
noteaza v w u.

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