předmět: počítačová grafika 1 (pgrf1) přednáška č. 2: rovinné transformace

Post on 13-Jan-2016

56 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

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 Presentation

TRANSCRIPT

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

top related