předmět: počítačová grafika 1 (pgrf1) přednáška č. 2: rovinné transformace
DESCRIPTION
Předmět: Počítačová grafika 1 (PGRF1) Přednáška č. 2: Rovinné transformace. Fakulta Informatiky a Managementu UHK 2003. Posunutí (Translation). Posunutí (Translation). Nákres k posunutí bodu v rovině (Translation). Rovnice posunutí bodu v rovině o vektor (m,n). - PowerPoint PPT PresentationTRANSCRIPT
Předmět:
Počítačová grafika 1 (PGRF1)
Přednáška č. 2:
Rovinné transformace
Fakulta Informatiky a Managementu UHK 2003
Posunutí (Translation)
Posunutí (Translation)
Nákres k posunutí bodu v rovině (Translation)
O x1x0
B0
B1
y0
y1
m
n
x
y
Rovnice posunutí bodu v rovině o vektor (m,n)
1 0
1 0
x x m
y y n
Nákres posunutí souřadného systému
mB1
m
nO1
O0
n n
m
x
y
x0
y0
x1
y1
O
B0
B1
Rovnice transformace souřadného systému. (Nový systém má počátek
v bodě (m,n))
1 0
1 0
x x m
y y n
Inverzní transformace k posunutí bodu v rovině o vektor (m,n). Jde
o posunutí o vektor (-m,-n)
nyy
mxx
01
01
Otočení (rotation)
0
90
0
900
90
0
90
Otočení (rotation)
0
90
0
900
900
90
Nákres otočení bodu v rovině okolo počátku souřadného systému v
kladném smyslu o úhel α (Counterclockwise rotation)
0
90
1 1 1( ) ( ), ,cos sinyxB r r
0 0 0, ,cos sinyxB r r
x0x1
y0
y1
O
Otočení bodu v rovině okolo počátku souřadného systému v kladném
smyslu o úhel α - odvození
0 0 0
1 1 1
0 0
, ,cos sin
( ) ( ), ,cos sin
( ) ( ),cos cos sin sin sin cos cos sin
) ),cos cos sin sin sin cos cos sin
cos
y
y
y
xB r r
xB r r
r r
r r r r
x
00) ),sin cos siny x
Rovnice otočení bodu v rovině o úhel α
1 0 0
01 0
cos sin
sin cosy
yx x
yx
Rovnice otočení souřadného systému o úhel - α
1 0 0
01 0
cos sin
sin cosy
yx x
yx
Rovnice otočení souřadného systému o úhel α
1 0 0
01 0
cos sin
sin cosy
yx x
yx
Změna měřítka (Scaling)
Změna měřítka (Scaling)
Rovnice změny měřítka (bodové afinity) - Scaling
Inverzní transformace k transformaci změny měřítka
Osová souměrnost (Osou souměrnosti je osa x a osa y).
Osová souměrnost (Osou souměrnosti je osa x a osa y).
Rovnice osové souměrnosti(osou souměrnosti je nejdříve osa x
a potom osa y). Transformace jsou inverzní samy k sobě
1 0 1 0, y yx x
1 0 1 0, y yx x
Identita a středová souměrnost
Identita a středová souměrnost
Rovnice identity (nahoře) a středové souměrnosti (dole).
Transformace jsou opět inverzní samy k sobě
1 0 1 0, y yx x
1 0 1 0, y yx x
Zkosení (Shearing)
Zkosení vodorovné 300
Zkosení vodorovné 300
Zkosení svislé 300
Zkosení svislé 300
Rovnice zkosení
1 0 0 1 0,y y yx x a
1 0 01 0, y yx x xb
Rovnice inverzní transformace k těmto zkosením
1 0 0 1 0,y y yx x a
1 0 01 0, y yx x xb
Rovnice inverzní transformace k posunutí bodu v rovině v
homogenních souřadnicích
0
0
0
1
1
1
.
100
10
01
z
y
x
n
m
z
y
x
Rovnice inverzní transformace k posunutí bodu v rovině v
homogenních souřadnicích
0
0
0
1
1
1
.
100
10
01
z
y
x
n
m
z
y
x
Rovnice otočení bodu v rovině v homogenních souřadnicích
Rovnice inverzní transformace k otočení bodu v rovině v homogenních
souřadnicích
Změna měřítka (bodová afinita) v homogenních souřadnicích
Rovnice inverzní transformace ke změně měřítka (bodové afinitě) v homogenních
souřadnicích
0
0
0
1
1
1
.
100
01
0
001
z
y
x
k
k
z
y
x
y
x
Matice osové souměrnosti:(osami souměrnosti jsou postupně osa
x (vlevo) a osa y (vpravo)
0 010 010 0 1
0 010 010 0 1
Matice identity ( vlevo) a středové souměrnosti (vpravo)
0 010 010 0 1
0 010 010 0 1
Matice zkosení
010 010 0 1
a
0 0101
0 0 1b
Skládání dvou posunutí
100
10
01
.
100
10
01
100
10
012
2
1
1
21
21
n
m
n
m
nn
mm
Skládání dvou otočení
100
0)cos().cos()sin().sin()sin().cos()cos().sin(
0)cos().sin()sin().cos()sin().sin()cos().cos(
100
0)cos()sin(
0)sin()cos(
.
100
0)cos()sin(
0)sin()cos(
100
0)cos()sin(
0)sin()cos(
Skládání afinit
100
00
00
.
100
00
00
100
0.0
00.2
2
1
1
21
21
k
k
k
k
kk
kk
y
x
y
x
yy
xx
Systém rovinných transformací
Všechny afinní transformace v rovině jsou popsány jednotným způsobem pomocí matic
Matice trasformací jsou regulární (Věcně neztrácí se dimenze, „nesešlapává se útvar“…)
Existují inverzní matice i transformace. (Věcně návrat do výchozí polohy)
Skládání transformací odpovídá násobení matic (Věcně jde o postupnou aplikaci transformací)
Záleží na pořadí transformací Algebraicky jde o nekomutativní grupu
Podgrupa shodností
Vzdálenost libovolné dvojice odpovídajících si bodů je shodná před transformací a po ní.
Z probraných transformací jsou shodnostmi posunutí a otočení, osová a středová
souměrnost Afinita je shodností ve speciálním případě,
kdy koeficienty jsou +1 nebo - 1
Příklad skládání transformací: Rotace v rovině kolem bodu o souřadnicích (m,n) o úhel α
Je to složenina (postupná aplikace tří transformací) v tomto pořadí:
Posunutí počátku souřadného systému do bodu (m,n)
Rotace bodu okolo počátku souřadného systému o úhel α
Posunutí počátku souřadného systému o vektor (-m,-n)
Tomu odpovídá násobení patřičných matic transformací
Příklad: Souměrnost podle přímky: y=x+1 Složíme ji těchto 5 transformací: (posun o –1, otočení o 450 v
záporném smyslu, souměrnost podle osy x, zpětná rotace a zpětná translace). Označme:
Pak pro výslednou transformaci T platí:
)45(cos)45(sin 00 w
110
010
001
100
0
0
100
010
001
100
0
0
010
010
001
ww
ww
ww
ww
T
111
001
010
112
002
020
2
2
2
ww
w
Příklad: Souměrnost podle přímky: y = a.x+b
Označíme –li: a=tg(α), pak pro výslednou transformaci T platí:
1)2(cos2)2(sin
0)2(cos)2(sin
0)2(sin)2(cos
10
010
001
100
0cossin
0sincos
2
bbb
100
010
001
100
0cossin
0sincos
10
010
001
b
T
Homogenní souřadnice Bod (x,y) je rozšířen na trojici (x,y,1) Transformace bodu (x,y) do homogenních
souřadnic se děje přidáním třetí souřadnice 1
Transformace trojice (a,b,c) v homogenních souřadnicích zpět do dvojice (x,y) se děje vydělením rovnice třetí komponenou
)1,,(),( yxyx
c
b
c
acba ,),,(
Bod (x,y) má nekonečně reprezentací v homogenních souřadnicích. Každá reprezentace (a.x,a.y,a) pro a různé od nuly je dobrou reprezentací. Uvažujeme-li bod (a.x,a.y,a) jako trojici v třírozměrném prostoru, pak mění-li se a od 0 do nekonečna, pohybuje se tento bod po polopřímce od počátku do nekonečna. Směr paprsku je určen souřadnicemi x a y, a souřadnice a určuje vzdálenost od počátku. Tedy bod v dvojrozměrném prostoru odpovídá paprsku v třírozměrném prostoru.
Často se nachází bod (x,y,1) ležící v rovině z=1