IR4RG P06 Transformacije u 2D

download IR4RG P06 Transformacije u 2D

of 18

Transcript of IR4RG P06 Transformacije u 2D

Raunarska grafika

Transformacije u 2D

Geometrijske transformacijeGeometrijske transformacije preslikavaju originalnu taku u njenu sliku Postoje dve konvencije za geometrijske transformacije kretanja (translacije i rotacije):

konvencija pokretnog koordinatnog sistema (pokretne virtuelne kamere, odnosno posmatraa) konvencija pokretnog objekta

Konvencije se mogu kombinovati (kree se i objekat i posmatra) Ovde se podrazumeva

da se taka nalazi u desnom pravouglom koordinatnom sistemu da se primenjuje konvencija pokretne virtuelne kamere

2

Transformacije u 2D

16.04.2007.

Transformacije u 2D2D desni pravougli koordinatni sistem je definisan na sledei nain:

koordinatna osa prve koordinate (X) se prevodi u osu druge koordinate (Y) rotacijom oko koordinatnog poetka za 90 u smeru suprotnom od kretanja kazaljke na asovniku

U optem sluaju, ako su koordinate originalne take (x,y), koordinate neke take nakon transformacije su (x',y'):x' = A1x + B1y + C11 y' = A2x + B2y + C21 1 = 0x + 0y + 11

3

Transformacije u 2D

16.04.2007.

Matrina predstava transformacijaPoslednjim identitetom se proiruje sistem jednaina, da bi se predstavio u matrinom obliku:

[x '

y ' 1] = [x

A1 A2 0 y 1] B1 B 2 0 C1 C 2 1

Q = P M gde je: Q slika take, P original take, M matrica transformacija Drugi oblik matrine jednaine: QT=MT PT

x ' A1 B1 C1 x y ' = A2 B 2 C 2 y 0 1 1 1 0

4

Transformacije u 2D

16.04.2007.

Homogene koordinatePredstava take u vektorskom obliku [x y] se proiruje treom koordinatom jednakom 1: [x y 1] Koordinatni sistem za ovakvo predstavljanje take se naziva sistemom sa homogenim koordinatama Homogene koordinate ine matematiki aparat uniformnim za sve transformacije Svaka transformacija se predstavlja adekvatnom matricom transformacije M Trea kolona matrice M je konstantna za sve 2D transformacije Jednom izraunata matrica transformacije se koristi

da bi se sve relevantne take neke 2D slike transformisale na jedinstven nain

U petlji se mnoe vektori originalnih taaka matricom transformacije: for (i=0; i1 => poveanje objekta (pribliavanje posmatraa)

Preslikavanje: x' = Sxx + 0y + 01 y' = 0x + Syy + 01 1 = 0x + 0y + 11

Sx s= 0 0 Transformacije u 2D

0 Sy 0

0 0 1 16.04.2007.

10

Skaliranje - primerPrimer:

segment linije odreen je krajnjim takama A(1,3) i B(2,7). izvriti skaliranje, ako su dati skala faktori Sx=2 i Sy=1 2 0 0 B' = [2 7 1] 0 1 0 = [4 7 1] 0 0 1

2 0 0 A ' = [1 3 1] 0 1 0 = [2 3 1] 0 0 1 B A A B

11

Transformacije u 2D

16.04.2007.

RefleksijaRefleksija prema Y-osi:Sx=-1, Sy=1

Refleksija prema X-osi:Sx=1, Sy=-1

Refleksija prema proizvoljnoj osi:

translacijom se dovede koordinatni poetak na datu osu rotacijom se X-osa poklopi sa datom osom primeni se refleksija prema X-osi inverzna rotacija inverzna translacija

12

Transformacije u 2D

16.04.2007.

Smicanje (Shear)Faktori smicanja po X i Y-osi: Hx i Hy, respektivno Preslikavanje:x' = 1x + Hxy + 01 y' = Hyx + 1y + 01 1 = 0x + 0y + 11

1 H = H x 0

Hy 1 0

0 0 1

Smicanje samo u pravcu X-ose: Hy=0; Smicanje samo u pravcu Y-ose: Hx=0

13

Transformacije u 2D

16.04.2007.

Smicanje - primerPrimer:

segment linije odreen je krajnjim takama A(1,3) i B(2,7) izvriti smicanje, ako su dati faktori smicanja Hx=2 i Hy=01 0 0 B' = [2 7 1] 2 1 0 = [16 7 1] 0 0 1 B

1 0 0 A' = [1 3 1] 2 1 0 = [7 3 1] 0 0 1 B A

ATransformacije u 2D 16.04.2007.

14

Sloene transformacijeQ je slika take P definisane sa: Q=t3(t2(t1(P)))

tx su elementarne transformacije koje se primenjuju redom: x=1, 2, 3

Sledi (poto je mnoenje matrica asocijativno):Q=(((P*T1)*T2)*T3) = P*(T1*T2*T3) = P*T T je kompozitna matrica sloene transformacije, dok su T1, T2 i T3 matrice elementarnih transformacija koje uestvuju u sloenoj transformaciji

Redosled transformacija je veoma vaan

mnoenje matrica nije komutativno

15

Transformacije u 2D

16.04.2007.

Primena 2D transformacijaJedna primena 2D transformacija je transformacija slike

iz koordinatnog sistema realnog sveta u normalizovane koordinate ureaja obino u jedinicama duine, npr. u [cm] [0.0, ... , 1.0] obino u jedinicama duine ili u pikselimaprozor (Window) YNDC 1.0

Koordinate sveta (Real World Coordinates, RWC) Normalizovane koordinate ureaja (Normalized Device Coordinates, NDC) Koordinate ureaja Prozor i prikazni prozor:YRWC

prikazni prozor (Viewport)

XRWC

0.0

1.0

XNDC 16.04.2007.

16

Transformacije u 2D

Generisanje prikazaProces generisanja prikaza:RWC odsecanje izvan prozora preslikavanje u prikazni prozor NDC

Preslikavanje (mapiranje) u prikazni prozor:1. 2.

3.

translacija (u RWC) tako da se koordinatni poetak premesti u donji levi ugao prozora skaliranje tako da se prozor preslika u prikazni prozor; poto se koordinate prikaznog prozora daju u NDC obliku, ovim se obezbeuje prelaz iz RWC u NDC translacija (u NDC) tako da se prikazni prozor locira na eljeno mesto unutar prikazne povrine normalizovanog prikazivaaTransformacije u 2D 16.04.2007.

17

PrimerProzor je definisan pomou sledeih relacija: 10 < x < 20, 8 < y < 13, Prikazni prozor je u gornjem levom uglu virtuelnog ekrana, u oblasti: 0.0 < xd < 0.25, 0.75 < yd < 1.0 Reenje:

translacija T1 koordinatnog sistema RW u donji levi ugao prozora: O'(10,8) skaliranje S da bi se prozor preslikao u prikazni prozor: Sx =(0.25-0.0)/(20-10)=0.025 Sy =(1.0-0.75)/(13-8)=0.05 translacija T2 koordinatnog poetka iz donjeg levog ugla prikaznog prozora u donji levi ugao virtuelnog ekrana: O''(0.0,-0.75) Kombinovanjem elementarnih transformacija dobija se kompozitna matrica totalne transformacije:

0 0 0.025 0 0 1 0 0 0.025 0 0 1 T1 S T2 = 0 1 0 0 0.05 0 0 1 0 = 0 0.05 0 10 8 1 0 0 1 0 0.75 1 0.25 0.35 1

18

Transformacije u 2D

16.04.2007.