Sunteți pe pagina 1din 7

Sisteme de coordonate

Sistem de coordonate logice SCL (sau Sistem de


coordonate universale sau Sistem de coordonate utilizator) -
Grafica pe calculator sistemul n care sunt proiectate desenele (grafica) ce
urmeaz a fi reprezentate computaional.

Sistem de coordonate fizice SCF (sau Sistem de coordonate


Transformri de vizualizare 2D dispozitiv) sistemul ataat suprafeei de afiare

Unitile de msur ataate celor dou tipuri de sisteme sunt


diferite.
Victor Moraru

Sisteme de coordonate Transformarea de vizualizare 2D


Transformarea de la reprezentarea SCL la reprezentarea
Transformarea de vizualizare 2D pune n coresponden fiecrui punct al
SCF poart numele de transformare de vizualizare 2D. unui desen un punct al suprafeei de afiare. Mulimea punctelor
adresabile ale suprafeei de afiare este finit, n timp ce mulimea
Multe sisteme grafice permit definirea desenelor ntr-un SCL, punctelor spaiului 2D este infinit.
asigurnd n mod automat efectuarea transformrii de
vizualizare 2D. Astfel, funciile de afiare ale unui sistem Necesitatea de a limita mulimea punctelor spaiului logic care se pun n
coresponden cu punctele suprafeei de afiare.
grafic GKS (Graphical Kernel System) sau PHIGS
(Programmers Hierarchical Interactive Graphics System)
Specificarea unui dreptunghi cu laturile paralele cu axele sistemului de
opereaz n SCL (numit i World Coordinate System - coordonate logice, numit fereastr.
WCS).
Specificarea unei zone dreptunghiulare din suprafaa de afiare numit
poart de afiare sau simplu poart.

Transformarea de vizualizare 2D se mai numete i transformare


fereastr-poart.

3 4
Transformarea fereastr - poart Transformarea fereastr - poart
S considerm pentru nceput o aceeai orientare a axelor SCL i SCF.
Fie F(xf ,yf) un punct din fereastr, i fie P(xp ,yp) punctul corespunztor
din poart.

5 6

Transformarea fereastr - poart Transformarea fereastr - poart


Transformarea fereastr-poart este definit astfel nct poziia
Punctele (xfmin ,yfmin), (xfmax ,yfmax), (xpmin , ypmin) i (xpmax , ypmax)
relativ a punctului P n poart s fie aceeai cu poziia relativ a reprezint colurile ferestrei, respectiv porii, de pe
punctului F n fereastr. diagonala principal.
Condiia se formuleaz matematic astfel:

x p x p min x f x f min

x p max x p min x f max x f min

y p y p min y f y f min
Xp
y p max y p min y f max y f min

7 8
Transformarea fereastr - poart Transformarea fereastr - poart

x p max x p min y p max y p min Numerele sx i sy sunt factorii de scalare ai transformrii,


Notm: sx s y, iar tx i ty sunt componentele vectorului de translare. n felul
x f max x f min y f max y f min acesta, transformarea fereastr-poart este o transformare
geometric compus, aplicat asupra punctului F i furniznd
punctul P.
i cu: t x x p min s x x f min t y , y p min s y y f min
Transformarea fereastr-poart poate fi formulat i ca o
transformare a sistemului de coordonate logice n sistemul de
x p x f s x t x coordonate fizice.
Cu aceste notaii, rezult:
y p y f s y t y De asemenea, transformarea fereastr-poart poate fi definit i
ca transformare care aplic dreptunghiul fereastr n
adic formularea matematic a transformrii fereastr-poart. dreptunghiul poart.

9 10

Forma matriciala a transformrii de Transformarea fereastra-poarta


vizualizare 2D Cazuri speciale

11 12
Transformarea fereastra-poarta Transformarea fereastra-poarta
Cazuri speciale Cazuri speciale
Direcia axei Y a ferestrei nu corespunde cu cea a
porii (ecran de afiare)

13 14

Transformarea fereastra-poarta Transformarea fereastra-poarta


Cazuri speciale Cazuri speciale
Directia axei Y a ferestrei nu corespunde cu cea a portii (ecran Scalarea neuniforma provoaca deformarea figurii,
de afisare) pentra a evita aceasta:
s min s , s x y
Pentru a corecta situatia vom calcula yp altfel:

Iar transformarea fereastra-poarta pentru acest caz va fi:

15 16
Transformarea fereastra-poarta Transformarea fereastra-poarta
Cazuri speciale Cazuri speciale
Imagine centrata in poarta Imagine centrata in poarta

pentru acest caz:

17 18

Transformarea fereastra-poarta
Cazuri speciale
Transformarea fereastra-poarta
In cazul ecranului cu axa y in jos: Pentru a realiza transformarea putei utiliza funcia
setviewport(xpmin , ypmin , xpmax , ypmax , decup) , originea
sistemului de coordonate al ecranului este considerat a
fi punctul (x pmin , y pmin ).
n consecin, din formulele precedente se va scdea x
pmin din prima i y pmin din a doua.

Pot fi de asemenea folosite formulele pentru aceeai


orientare a axelor iar apoi se efectueaz o rotaie cu 180
de grade pentru a nu obine imaginea rsturnat.

19 20
Exemplu Exemplu
Fie fereastra din figura urmtoare: Scalarea pe axa Ox fiind de 2 ori mai mare dect cea de pe axa Oy,
Yf (1,1)
orice desen definit n fereastr va fi deformat (lit) la nivelul porii.
x f min 0 y f min 0 Dac un astfel de efect este neconvenabil, atunci va trebui ales ca
factor de scalare a transformrii:
x f max 1 y f max 1
s min s x , s y
Pentru poart se consider: Procednd astfel n exemplul ales, vom constata c desenul din
fereastr este afiat n jumtatea stng a porii.
x p min 0 y p min 0 Of Xf Yf
(400,200)
x p max 400 y p max 200
400 200
Rezult: sx 400 sy 200
1 1
t x 0 sx 0 0 ty 0 sy 0 0
21 Of Xf 22

Exemplu Exemplu
Pentru ca desenul s apar centrat n poart, este necesar s se n general, translarea suplimentar se calculeaz astfel:
efectueze o translare suplimentara, de factor 100 n cazul de fa.
t x x p max x p min s x x f max x f min / 2
t y y p max y p min s y y f max y f min / 2
Yf
(400,200)

adic diferena dintre latura porii i latura ferestrei scalat, mprit la


2. Dac:
x f min 0 i / sau y f min 0
i: x p min 0 , y p min 0
Of Xf atunci: t x s x x f min
t y s y y f min
23 24
Exemplu

Invers, dac:

x f min y f min 0
x p min 0 i / sau y p min 0

atunci:
Intrebari ?
t x x p min
t y y p min

25 26

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