Download - transformări grafice
TRANSFORMĂRI GRAFICE
INTRODUCERE
Transformările grafice sunt operaţii geometrice liniare sau neliniare, având ca operanzi formele grafice. Cele mai uzitate tipuri de transformări grafice sunt:- transformări bidimensionale- transformări tridimensionale
TRANSFORMĂRI BIDIMENSIONALE
Transformările bidimensionale sunt operaţii de trecere între spaţii de dimensiune 2.Cele mai cunoscute tipuri de transformări grafice bidimensionale sunt:
- translarea- rotaţia- scalarea- oglindirea- forfecarea
TRANSLAREA 2D
Translarea se definește ca fiind transformarea grafică pentru care orice punct al formei suferă o deplasare liniară global definită.Translarea este o transformare grafică ce lasă nemodificate distanţele între punctele unei forme grafice. Acestă caracteristică este specifică corpurilor fizice solide (nedeformabile) și de aceea o vom numi caracteristică de corp solid. Reformulând, putem spune că transformarea grafică numită translare prezintă caracteristica de corp solid.Operaţia de translare poate fi definită cel puţin din două puncte de vedere: ALFA și BETA.
(ALFA)TRANSLAREA 2DFie punctul P de coordonate (xp,yp) și punctul Q de coordonate (xq,yq). Distanţa între aceste două puncte este definită ca fiind:
2y
2x
2pq
2pq DDyyxxD
Dy
Dx
D
xp xq
yq
yp
Q(xq,yq)
X
Y
O
P(xp,yp)
Fig. 1. Translarea ca deplasare între puncte
(ALFA) TRANSLAREA 2D
Deplasarea geometrică a punctului grafic, din poziţia P în poziţia Q, echivalează cu parcurgerea de către acesta a distanţei D, sau – ceea ce este echivalent, cu parcurgerea de către proiecţia x a distanţei Dx și de către proiecţia y a distanţei Dy. În format analitic, acest lucru se scrie:
unde: și sunt vectorii de poziţie ai punctelor Q și P, iar notează vectorul deplasare .
ypq
xpq
Dyy
Dxx
y
x
p
p
q
q
DD
y
x
y
x
q
q
y
x
p
p
y
x
y
x
DD
(ALFA) TRANSLAREA 2D
Observaţie: Expresia matriceală normală ar trebui să fie de forma: unde matricea
este operatorul transformării. În condițiile date, însă, o astfel de scriere, în care componentele operatorului să fie constante reale, nu este posibilă. Din acest motiv vor fi introduse mai târziu coordonatele omogene.În cazul dat, coeficienții matricei operatorului transformării ar trebui să fie conformi cu: Se observă că și nu sunt constante independente de punctele extreme ale deplasării.
p
p
2221
1211
q
q
y
x
aaaa
y
x
2221
1211
aaaa
1x/D
y/D1
py
px
12a 21a
(BETA) TRANSLAREA 2DFie reperele XpOpYp și XqOqYq, ortogonale drepte. Translarea punctului curent din P în Q este interpretată în acest caz ca o transformare de coordonate, de la (xp,yp) la (xq,yq), adică o deplasare a referenţialului XqOqYq faţă de XpOpYp cu distanţa D.
(BETA) TRANSLAREA 2D
SCALAREA 2D• Transformarea grafică de scalare se definește ca fiind operaţia
prin care forma grafică suferă o modificare de reprezentare în urma căreia distanţele dintre puncte sunt afectate.
• Fiecărei axe de coordonate i se atașează un scalar numit factor de scară. Atunci când factorii de scară au aceeași valoare, operaţia de scalare se transformă în operaţie de asemănare iar factorul de scalare unic definit poartă numele de factor de asemănare. Factorul de asemănare unitate conduce la operaţia de identitate.
• Un factor de scalare supraunitar specifică o mărire de dimensiune în timp ce un factor de scalare subunitar conduce la o micșorare de dimensiune.
SCALAREA 2D
Scalarea unui punct P(x,y) cu factorii sx și sy faţă de origine, semnifică scalarea vectorului de poziţie . Vectorul rezultat în urma scalării, notat , are componentele x’, y’ exprimate ca:
SCALAREA 2D
Asemănarea se va exprima astfel:
cu: sx=sy=s
Observaţie: Se poate observa că în analiza făcută, originea (ca punct) prezintă un rol special, constituind punctul fix al transformării. În cazul general, punctul fix al transformării poate fi oricare punct din spațiul transformării.
SCALAREA 2DScalarea punctului P faţă de punctul fix al transformării F, cu factorii sx și sy, înseamnă scalarea vectorului . Componentele vectorului scalat vor fi:
Observaţie: Pentru se regăsesc relațiile corespunzătoare scalării față de origine.
ROTAŢIA 2D
ROTAŢIA 2D
După transformările trigonometrice specifice sumei de argument, obţinem:
Expresia matriceal-vectorială corespondentă este:
ROTAŢIA 2D
Rezultă că matricea transformării este:
Transformarea de rotaţie se rescrie astfel:
cu
yx
r şi
'y'x
'r .
ROTAŢIA 2D
Dacă matricea transformării este nesingulară:
există transformarea inversă:
cu
yx
r şi
'y'x
'r .
0cossinsincos
'rRr 1
COMPUNEREA TRANSFORMĂRILOR 2D
De cele mai multe ori o transformare grafică este compusă din mai multe transformări elementare. Pentru simplificarea reprezentărilor matematice, se preferă utilizarea notaţiei matriceale în descrierea operaţiilor de transformare. Astfel, rotaţia punctului P(x,y) faţă de origine, se exprimă astfel:
sau:
Sintetic se poate scrie:
yx
cossinsincos
'y'x
T
cossinsincos
yxcossinsincos
yx'y'x
TTT Rvv'Rvv'
COMPUNEREA TRANSFORMĂRILOR 2D
Considerăm în continuare o scalare faţă de origine urmată de o rotaţie faţă de origine. Avem:
cu:
Observaţie:Deoarece produsul matriceal nu este comutativ, va trebui acordată atenție succesiunii matricelor ce semnifică operatorii transformărilor. Regula este ca matricea să se succeadă în ordinea în care acestea operează, de la dreapta la stânga.
Astfel, o transformare compusă dintr-o rotaţie urmată de o scalare se scrie: În timp ce o transformare compusă dintr-o scalare urmată de o rotaţie se scrie:
Exerciţiu: Să se demonstreze că cele două transformări sunt distincte.
Tvv'RSvv'
cosssins
sinscosss00s
cossinsincos
yx
yx
y
xRST
SRT 1RST 2
COORDONATE OMOGENECoordonatele omogene au fost introduse de Möbius.
August Ferdinand Möbius (n. 17 noiembrie 1790 - d. 26 septembrie 1868) a fost un matematician și un astronom german. Este cunoscut mai ales pentru descoperirea unei suprafețe speciale, denumite ulterior bandă Möbius. Möbius este primul care a introdus coordonatele omogene în geometria proiectivă. Alte concepte matematice care i se atribuie sunt: transformările lui Möbius din geometria proiectivă, funcția lui Möbius din teoria numerelor și formula de inversiune a lui Möbius.
Coordonatele omogene permit transformări afine prin reprezentarea lor sub forma unei matrice. Ele permit, de asemenea, efectuarea calculelor în spații proiective într-un mod similar cu cel în care coordonatele carteziene o fac în spaţiul euclidian.
Din punct de vedere intuitiv, coordonatele omogene reprezintă componentele vectoriale ce construiesc vectorii de poziţie ai mulţimii punctelor (x,y,w) de pe planul (w=const) ce constituie proiecţia universului înconjurător. Punctele din planul constituie intersecţia dreptelor de proiecţie a punctelor din univers cu planul , atunci când razele de proiecţie trec prin originea sistemului de coordonate (punctul fix proiectiv este originea).
COORDONATE OMOGENEDacă se va încerca exprimarea unor transformări compuse ce cuprind în secvenţă cel puţin o translare, reprezentările matriceale ale acestora (după modelul prezentat) nu vor mai fi posibile fără a apela la coordonatele omogene.
Un punct din plan, notat (x,y), se reprezintă în coordonate omogene prin vectorul:unde: și .
Observaţie 1:Reprezentarea unui punct în coordonate omogene nu este unică.
Astfel, vectorii: , și sunt reprezentări posibile ale punctului (3,2) în coordonate omogene.
Observaţie 2:Un vector în coordonate omogene , , reprezintă punctul din plan notat .
kyx
0
0
kyy,kxx 00 k
123
246
102030
cba
0c
c/bc/a
COORDONATE OMOGENE
Observaţie: Punctul este punctul de la infinit situat pe dreapta ay-bx=0 (această ecuație rezultă din ).Rezultă:
este punctul de la infinit de pe semiaxa pozitivă Ox
este punctul de la infinit de pe semiaxa negativă Oy
este punctul de la infinit de pe dreapta y=x în direcţia
0/b0/a
ba
yx
001
01
0
011
11
Cele trei transformări discutate (translarea, scalarea și rotaţia) în coordonate omogene, capătă următoarele exprimări:
- translarea:
- scalarea față de origine:
- rotația față de origine:
COORDONATE OMOGENE
1yx
100
t10t01
1'y'x
y
x
1yx
100
0s000s
1'y'x
y
x
1yx
1000cossin0sincos
1'y'x
COORDONATE OMOGENEExpresiile matematice ale scalării și rotaţiei faţă de un punct oarecare din plan, se pot obţine prin compunerea următoarelor transformări:
1. translarea în urma căreia punctul fix al transformării ajunge în origine;2. scalarea/rotaţia faţă de origine;3. translarea inversă celei de la punctul 1.
Ecuaţiile matriceale sunt: respectiv .
unde: şi
SDDT 11
SRRT 12
100
y10
x01
D f
f
100
y10
x01
D f
f1
COORDONATE OMOGENETransformări inverseFiecare dintre transformările elementare deţine o operaţie inversă (o transformare opusă).Se pot verifica proprietăţile:
1.
2.
3.
)t,t(D)t,t(D yx1
yx
)s/1,s/1(S yx1)s,s(S yx
)(R)(R 1
COORDONATE OMOGENE
Alte transformări1. Oglindirea (Reflexia)2. Forfecarea
1. Oglindirea(a) – faţă de o axă(b) – faţă de o dreaptă oarecare(c) – faţă de un punct
2. Forfecarea(a) – după o axă(b) – după o dreaptă oarecare
O
COORDONATE OMOGENE(1.a) Oglindirea faţă de o axă
- faţă de axa Ox:
1yx
100010001
1'y'x
y'yx'x
Y
X
O
COORDONATE OMOGENE(1.a) Oglindirea faţă de o axă
- faţă de axa Oy:
1yx
100010001
1'y'x
y'yx'x
Y
X
O
COORDONATE OMOGENE(1.a) Oglindirea faţă de o axă
- faţă de axa x=y (prima bisectoare):
1yx
100001010
1'y'x
x'yy'x
Y
X
COORDONATE OMOGENE(1.b) Oglindirea faţă de o dreaptă oarecare
Această transformare se poate defini ca fiind transformarea compusă din următoarea secvenţă:
1. translare astfel încât dreapta să treacă prin origine;2. rotaţie faţă de origine astfel încât dreapta să se suprapună peste una dintre
axele principale;3. oglindire faţă de axa principală respectivă;4. rotaţie inversă celei de la punctul 2;5. translare inversă celei de la punctul 1.
În notaţie matriceală transformarea se exprimă astfel:Observaţie: Exerciţiu: Să se demonstreze afirmaţia de mai sus pentru cazul oglindirii faţă de prima bisectoare.
ORDRDT 11 OO 1
O
COORDONATE OMOGENE(1.c) Oglindirea faţă de un punct
- faţă de origine:
1yx
100010001
1'y'x
y'yx'x
Y
X
O
COORDONATE OMOGENE(2.a) Forfecarea
- după axa Ox:
1yx
1000100F1
1'y'x
y'yyFx'x x
x
Y
XO
Y
X
O
COORDONATE OMOGENE(2.a) Forfecarea
- după axa Oy:
1yx
100
01F001
1'y'x
xFy'yx'x
yy
Y
XO
Y
X
O
COORDONATE OMOGENE(2.b) Forfecarea
- cazul general:
1yx
100
01F0F1
1'y'x
xFy'yyFx'x
y
x
y
x
Y
XO
Y
X