Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
1Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
RaRaččunarstvounarstvo i i informatikainformatikaRaRaččunarskaunarska grafikagrafika
GeometrijskeGeometrijske transformacijetransformacije
Prof. Dr Slobodanka Prof. Dr Slobodanka ĐorđeviĐorđevićć -- KajanKajanKatedraKatedra za za raraččunarstvounarstvoElektronskiElektronski fakultet fakultet NiNišš
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
2Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
CiljeviCiljeviUpoznati osnovne 2D geometrijske
transformacijeUpoznati osnovne 3D geometrijske
transformacijeUpoznati kompoziciju geometrijskih
transformacijaUpoznati homogene koordinate
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
3Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
TemeTemeTranslacijaRotacijaSkaliranje (promena veličine)RefleksijaSmicanjeHomogene koordinateInverzne transformacije3D koordinatni sistemiTransformacije u 3D
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
4Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
GeometrijskeGeometrijske transformacijetransformacije -- 11 Geometrijska transformacija je funkcija koja preslikava
originalnu tačku ili vektor u njenu sliku Piše se u obliku
Q = T(P) za tačkev = R(u) za vektore
U računarskoj grafici se koriste dvodimenzionalne (2D) i trodimenzionalne (3D) geometrijske transformacije
U slučaju afine transfomacija, ako su koordinate originalne tačke (x,y) , koordinate ove tačke nakon transformacije su (x′,y′):
Treća jednačina se koristi kod homogenih koordinata
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
5Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
GeometrijskeGeometrijske transformacijetransformacije -- 22Objekat se posmatra kao skup tačaka:
Obj = {P(x,y)} u 2D koordinatnom sistemuObj = {P(x,y,z)} u 3D koordinatnom sistemu
Pomoću geometrijskih transformacija od objektaObj = {P(x,y)} se dobija objekat Obj‘ = {P'(x,y)} – Tačka P′(x,y) se dobija geometrijskom
transformacijom tačke P(x,y)P′(x,y) = T(P(x,y))
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
6Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
GeometrjskeGeometrjske transformacijetransformacije -- 33Postoje dve konvencije za geometrijske
transformacije kretanja (translacija i rotacija)– Kovencija pokretnog koordinatnog sistema
• pokretne virtuelne kamere, odnosno posmatrača– Konvencija pokretnog objekta
Ove dve konvencije se mogu kombinovati– Mogu se kretati i objekat i posmatrač
Mi ćemo nadalje koristiti konvenciju pokretnog objekta
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
7Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
ElementarneElementarnegeometrijskgeometrijskee transformacijtransformacijee
TranslacijaSkaliranjeRotacijaRefleksijaSmicanje
Kompozicijom (konkatenacijom) elementarnih geometrijskih transformacija može se izvesti bilo koja geometrijska transformacija objekta
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
8Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
2D koordinatni sistemi2D koordinatni sistemi
U 2D ravni koristi se 2D Dekartov koordinatni sistem kojimože biti desno ili levo orijentisan
Desno – ako se rotacijom oko koordinatnog početka pozitivne x-ose u smeru suprotom od smera kretanja kazaljke na satu za 900 ona poklopi sa pozitivnom y-osom
Levo – ako se rotacijom oko koordinatnog početka pozitivne x-ose u smeru kretanja kazaljke na satu za 900 ona poklopi sa pozitivnom y-osom
Nadalje ćemo koristiti desno orijentisani koordinatni sistem
x
y
x
y
DesnoorijentisaniDekartov
koordinatnisistem
LevoorijentisaniDekartov
koordinatnisistem
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
9Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
MatriMatriččna reprezentacija transformacijana reprezentacija transformacija Transformacije se mogu predstaviti na dva načina:
– Tačka P(x,y) je predstavljena vektorom vrste
– Tačka P(x,y) je predstavljena vektorom kolone: P′T = MT PT
Nadalje ćemo koristiti prvi način matričnog predstavljanja
P′ = P . Mgde je: P – original tačke, P′ – slika, M - matrica transformacije
P′ = M . P
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
10Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
TranslacijaTranslacijaTačka P(x,y) se translira u tačku P'(x',y') za Dx po
x-osi i Dy po y-osi– Tačka P se pomera paralelno x-osi za Dx jedinica i
paralelno y-osi za Dy jedinica
x x'
y
y'
P‘ = P+T
OriginalSlikaVektortranslacije
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
11Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
SkaliranjeSkaliranje Tačka P se skalira duž x-ose za Sx i duž y-ose za Sy oko
koordinatnog početka Objekat se skalira tako što se skaliraju sve njegove tačke
– Dovoljno je skalirati temena i povući linije između skaliranih temena
uniformno skaliranje Sx=Sydiferencijalno skaliranje SxSyuvećanje S>1smanjenje S<1
PP'
Matricaskaliranja
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
12Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
RotacijaRotacija -- 11 Tačka (x,y) se rotira za ugao θ oko koordinatnog početka
ρ
ρ
Smer
rotac
ije
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
13Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
RotacijaRotacija -- 22
Matrica rotacije
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
14Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
RefleksijaRefleksija
X′=X*SXY′=Y*SY
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
15Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
Smicanje Smicanje -- 11
x
y
Jedinični kvadrat u
koordinatnom početku
x
y
x
y
1
1
Smicanje jediničnog
kvadrata po x-osi
1
1
Smicanje jediničnog
kvadrata po y-osi
Smicanje– sinonim: iskošenje – engl. shear
-1
1
1-1
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
16Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
SmicanjeSmicanje -- 22
Smicanje po x-osi(x koordinata je funkcija y koordinate)
Smicanje po y-osi(y koordinata je funkcija x koordinate)
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
17Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
Smicanje Smicanje -- 33
*
SHy = 1 Hy0 1
SHx = 1 0Hx 1
Smicanje po x-osi Smicanje po y-osi
SHx - Matrica smicanja u pravcu x-oseHx – faktor smicanja po x-osi
P‘ = P * SHx P‘ = P * SHy
SHy - Matrica smicanja u pravcu y-oseHy – faktor smicanja po y-osi
x y SHy = x y+x*Hy*x' y' =x y SHx =*x' y' = x+y*Hx y
Hy – konstanta proporcionalnostiHx – konstanta proporcionalnosti
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
18Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
Smicanje Smicanje -- 44
gde su: Hx i Hy faktori smicanja po x i y-osi
respektivno
Matrica smicanja
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
19Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
Homogene koordinate Homogene koordinate -- 11
Neuniformnost transformacija– T koristi sabiranje– (R, S, H) koriste množenje
Homogene koordinate– Tačka u 2D se predstavlja sa 3 koordinate (x,y,w)– U računarskoj grafici w=1, pa su homogene
koordinate tačke u 2D prostoru (x,y,1)
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
20Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
Homogene koordinate Homogene koordinate -- 22
Predstava tačke u vektorskom obliku [x y] se proširuje trećom koordinatom [x y 1]
Koordinatni sistem za ovakvo predstavljanje tačke se naziva sistemom sa homogenim koordinatama
Pomoću homogenih koordinata dobija se uniformni matematički aparat za sve transformacije
Svaka transformacija se predstavlja adekvatnom matricom transformacije
Treća kolona matrice M je konstantna za sve transformacije
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
21Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
TranslacijaTranslacijapreko homogenih koordinatapreko homogenih koordinata
Homogenamatricatranslacije
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
22Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
Translacija Translacija –– Primer 1Primer 1Linijski segment AB zadat je krajnjim tačkama
A(4,5) i B(7,5) . Translirati ga za (6,-2)
A′ = | 4 5 1 | * 1 0 0 0 1 0 6 -2 1
= | 10 3 1 |
B′ = | 7 5 1 | *1 0 0 0 1 0 6 -2 1
= | 13 3 1 |
4 7
5
y
x10
3A B
13
A′ B′
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
23Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
Translacija preko homogenih Translacija preko homogenih koordinatakoordinata
Konvencija pokretnog koordinatnog sistemaKonvencija pokretnog koordinatnog sistema
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
24Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
Translacija Translacija –– Primer 2Primer 2
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
25Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
SkaliranjeSkaliranjepreko homogenih koordinatapreko homogenih koordinata
Homogenamatricaskaliranja
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
26Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
Skaliranje Skaliranje -- PrimerPrimer
x x
y y
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
27Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
RotacijaRotacijapreko homogenih koordinatapreko homogenih koordinata
Homogenamatricarotacije
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
28Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
Rotacija preko homogenih koordinataRotacija preko homogenih koordinataKonvencija pokretnog koordinatnog sistemaKonvencija pokretnog koordinatnog sistema
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
29Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
Rotacija Rotacija -- PrimerPrimer
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
30Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
SmicanjeSmicanjepreko homogenih koordinatapreko homogenih koordinata
Homogenamatricasmicanja
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
31Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
Smicanje Smicanje -- PrimerPrimer
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
32Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
Inverzne transformacijeInverzne transformacije
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
33Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
Kompozitne transformacije Kompozitne transformacije -- 11 Q je slika tačke P definisana sa Q=t3(t2(t1(P)))
– gde su t1,t2 i t3 elementarne transformacije Kako je množenje matrica asocijativno, to je:
Q = (((P*T1)*T2)*T3) = P*(T1*T2*T3) = P*T– T je kompozitna matrica složene transformacije– T1, T2 i T3 su matrice elementarnih transformacija koje učestvuju u
složenoj transformaciji
Redosled operacija je veoma važan– Množenje matrica nije komutativna operacija
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
34Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
Kompozitne transformacije Kompozitne transformacije -- 22
Kompozitna matrica transformacije
Početno stane
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
35Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
RotacijaRotacija okooko proizvoljneproizvoljne tataččkeke
1. 2.
3.4.
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
36Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
3D transformacije3D transformacije
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
37Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
3D koordinatni sistemi3D koordinatni sistemi
ekran ekran
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
38Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
3D 3D geometrijskegeometrijske transformacijetransformacije
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
39Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
3D translacija3D translacija
3D matrica translacije
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
40Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
3D skaliranje3D skaliranje
Z’ z[X’ Y’ Z’ 1] = [X Y Z 1] 3D matrica skaliranja
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
41Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
3D rotacija3D rotacija
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
42Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
3D rotacija3D rotacija
-
-
-
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
43Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
3D smicanje3D smicanje
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
44Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
Primena 2D transformacijaPrimena 2D transformacija Jedna primena je za transfomaciju slike
– Iz koordinatnog sistema realnog sveta u normalizovane koordinate uređaja
Koordinate realnog sveta (Real Word Coordinates, RWC) – Obično u jedinicama dužine (santimetar, inč)– Sinonimi: prirodne koordinate, svetske koodrdnate
Normalizovane koordinate uređaja (Normalized Device Coordinates, NDC)– Obično od 0.0 do 1.0
Koordinate uređaja (Device Coordinates, DC)– Obično u jedinicama dužine ili pikselima
Prozor (Window) Zaslon ili prikazni prozor (Viewport)
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
45Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
Generisanje prikazaGenerisanje prikaza
(displeja)
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
46Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
PrimerPrimer
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
47Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
TransformacijTransformacijee koordinatnih sistemakoordinatnih sistema
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
48Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
TransformacijeTransformacije koordinatnihkoordinatnih sistemasistema
EF Niš, Računarstvo i informatikaRG – Geometrijske transformacije
CG GIS L@b
49Prof. Dr Slobodanka Đorđević-Kajan 2009/2010
KvizKviz RRG4G4 Kviz
1. Koje vrste geometrijskih transformacija postoje?2. Zašto se uvode homogene koordinate?3. Napisati jednačinu za skaliranje 2D objekta 3 puta po x
osi i 2 puta po y osi4. Napisati jednačinu za skaliranje 3D objekta, 3 puta po x
osi i 2 puta po y osi, 4 puta po z osi5. Napisati jednačinu za rotiranje oko tačke (2,3)
Trajanje kviza: 5 minuta Vrednuje se: 0.5 poena/pitanje
Samostalni rad– Corel Draw geometrijske transformacije