34
TRANSFORMĂRI GRAFICE

transformări grafice

Embed Size (px)

DESCRIPTION

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: t ransform ări bidimensionale t ransformări tridimensionale. TRANSFORMĂRI BIDIMENSIONALE. - PowerPoint PPT Presentation

Citation preview

Page 1: transformări grafice

TRANSFORMĂRI GRAFICE

Page 2: 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

Page 3: transformări grafice

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

Page 4: transformări grafice

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.

Page 5: transformări grafice

(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

Page 6: transformări grafice

(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

Page 7: transformări grafice

(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

Page 8: transformări grafice

(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.

Page 9: transformări grafice

(BETA) TRANSLAREA 2D

Page 10: transformări grafice

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.

Page 11: transformări grafice

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:

Page 12: transformări grafice

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.

Page 13: transformări grafice

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.

Page 14: transformări grafice

ROTAŢIA 2D

Page 15: transformări grafice

ROTAŢIA 2D

După transformările trigonometrice specifice sumei de argument, obţinem:

Expresia matriceal-vectorială corespondentă este:

Page 16: transformări grafice

ROTAŢIA 2D

Rezultă că matricea transformării este:

Transformarea de rotaţie se rescrie astfel:

cu

yx

r şi

'y'x

'r .

Page 17: transformări grafice

ROTAŢIA 2D

Dacă matricea transformării este nesingulară:

există transformarea inversă:

cu

yx

r şi

'y'x

'r .

0cossinsincos

'rRr 1

Page 18: transformări grafice

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'

Page 19: transformări grafice

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

Page 20: transformări grafice

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).

Page 21: transformări grafice

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

Page 22: transformări grafice

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

Page 23: transformări grafice

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

Page 24: transformări grafice

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

Page 25: transformări grafice

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

Page 26: transformări grafice

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

Page 27: transformări grafice

O

COORDONATE OMOGENE(1.a) Oglindirea faţă de o axă

- faţă de axa Ox:

1yx

100010001

1'y'x

y'yx'x

Y

X

Page 28: transformări grafice

O

COORDONATE OMOGENE(1.a) Oglindirea faţă de o axă

- faţă de axa Oy:

1yx

100010001

1'y'x

y'yx'x

Y

X

Page 29: transformări grafice

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

Page 30: transformări grafice

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

Page 31: transformări grafice

O

COORDONATE OMOGENE(1.c) Oglindirea faţă de un punct

- faţă de origine:

1yx

100010001

1'y'x

y'yx'x

Y

X

Page 32: transformări grafice

O

COORDONATE OMOGENE(2.a) Forfecarea

- după axa Ox:

1yx

1000100F1

1'y'x

y'yyFx'x x

x

Y

XO

Y

X

Page 33: transformări grafice

O

COORDONATE OMOGENE(2.a) Forfecarea

- după axa Oy:

1yx

100

01F001

1'y'x

xFy'yx'x

yy

Y

XO

Y

X

Page 34: transformări grafice

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