Upload
goran-zdravkov
View
35
Download
0
Embed Size (px)
Citation preview
1
Računarskagrafika
predavanjadoc.dr. Samir Lemeš[email protected]
14. Geometrijske transformacije
Vektorska grafika
Homogene koordinate
2D Primitivi
2D translacija
2D rotacija
2D skaliranje
Inverzne transformacije
Vektorska grafika
U rasterskoj grafici slika je predstavljena mrežom piksela.
Nedostaci: zahtijeva puno memorije, povećanjem slike gubi se kvalitetpovećanjem slike gubi se kvalitet.
Vektorska grafika
Vektorska grafika sliku opisuje geometrijskim likovima: tačke, linije, krugovi, funkcije,...
Položaj geometrijskih Položaj geometrijskih likova određuje se koordinatama u izabranom koordinatnom sistemu (2D: x,y ili r,θ; 3D: x,y,z ili r,θ,z).
Homogene koordinate
Uobičajene transformacije u računarskoj grafici: translacija, rotacija, skaliranje, projekcije, se lakše izvode ako se koriste homogene koordinate jer se onda tehomogene koordinate, jer se onda te transformacije mogu implementirati u obliku operacija s matricama.
Homogene koordinate je uveo Möbius 1827.
Prednost je u tome što se sve tačke mogu prikazati konačnim brojevima (čak i )
Homogene koordinate
Prikaz tačke parom brojeva (x,y) se zamjenjuje prikazom sa tri tačke (x,y,h)
Skalarni proizvod homogene koordinate daje istu tačku: (2 3 5) = (4 6 10)daje istu tačku: (2,3,5) = (4,6,10)
To znači da se ista tačka može predstaviti sa više različitih homogenih koordinata.
Bar jedna homogena koordinata mora biti različita od nule; (0,0,0) nije dozvoljena
h=0 daje tačke "u beskonačnosti"
2
2D Primitivi
2D tačka:
2D pravac:
1 2 3( , ) ( ', ', ) ( , , )V x y X x y h ili X x x x
1 2
3 3
x xx y
x x
2D pravac: implicitni oblik:
uvođenje homogene koordinate:
homogena jednačina:
1 2
3 3
0x x
a b cx x
1 2 3 0a x b x c x
0a x b y c
2D Primitivi
2D pravac: matrični
zapis:
1 2 3 1 2 3 0
a
X G a x b x c x x x x b
c
vektor normale:
vektor tangente:
dogovor:
n a b
t b a
0, " "
0,
0, " "
X je iznad pravca
X G X je na pravcu
X je ispod pravca
2D primitivi
Dvije tačke određuju pravac (vektorski proizvod)
1 1 1 1
2 2 2 2
( )
( )
X x y h
X x y h
i j k
1 2 1 1 1
2 2 2
1 2 2 1
1 2 2 1
1 2 2 1
T T
T
j
G X X x y h
x y h
b c b c x
i j k a c a c y X
a b a b h
Primjer
X1=(2 3 1), X2=(6 4 1)
i j k
1 2
1 2 3
2 3 1
6 4 1
3 4 1
2 6 4
8 18 10
4 10 4 10 0
T T
j
G X X
G i j k i j k
G x x x x y
2D translacija 2D translacija
y
x
y
x
3
2D rotacija 2D rotacija
y
x
2D skaliranje 2D skaliranje
y
x
y
x
x·sx
y·sy
Inverzne transformacije
Inverzna matrica translacije daje pomak u suprotnom smjeru
Inverzna matrica rotacije daje rotaciju u suprotnom smjeru
Inverzne transformacije
Inverzna matrica skaliranja odgovara inverznoj transformaciji;povećanjepovećanje odgovara smanjivanju