Geometrické transformace pomocí matic

Podobné dokumenty
Lineární transformace

Rovinné přetvoření. Posunutí (translace) TEORIE K M2A+ULA

transformace je posunutí plus lineární transformace má svou matici vzhledem k homogenním souřadnicím [1]

7 Transformace 2D. 7.1 Transformace objektů obecně. Studijní cíl. Doba nutná k nastudování. Průvodce studiem

Afinní transformace Stručnější verze

Geometrické vidění světa KMA/GVS ak. rok 2013/2014 letní semestr

Úvod Typy promítání Matematický popis promítání Implementace promítání Literatura. Promítání. Pavel Strachota. FJFI ČVUT v Praze

Geometrické vidění světa KMA/GVS ak. rok 2013/2014 letní semestr

Výpočet průsečíků paprsku se scénou

7 Analytické vyjádření shodnosti

Lineární zobrazení. 1. A(x y) = A(x) A(y) (vlastnost aditivity) 2. A(α x) = α A(x) (vlastnost homogenity)

Vlastní čísla a vlastní vektory

1 Projekce a projektory

Počítačová grafika 2 (POGR2)

Matice. Je dána matice A R m,n, pak máme zobrazení A : R n R m.

Eukleidovský prostor a KSS Eukleidovský prostor je bodový prostor, ve kterém je definována vzdálenost dvou bodů (metrika)

Výpočet průsečíků paprsku se scénou

2D transformací. červen Odvození transformačního klíče vybraných 2D transformací Metody vyrovnání... 2

Lineární algebra : Změna báze

6.1 Vektorový prostor

Lineární algebra : Metrická geometrie

A[a 1 ; a 2 ; a 3 ] souřadnice bodu A v kartézské soustavě souřadnic O xyz

Lineární algebra : Lineární prostor

Z teorie je nutné znát pojmy: lineární funkcionál, jádro, hodnost a defekt lineárního funkcionálu. Také využijeme 2. větu o dimenzi.

6. Vektorový počet Studijní text. 6. Vektorový počet

Katedra aplikované matematiky FEI VŠB Technická univerzita Ostrava

SPŠS Č.Budějovice Obor Geodézie a Katastr nemovitostí 4.ročník SOUŘADNICOVÉ SOUSTAVY VE FOTOGRAMMETRII

x 2 = a 2 + tv 2 tedy (a 1, a 2 ) T + [(v 1, v 2 )] T A + V Příklad. U = R n neprázdná množina řešení soustavy Ax = b.

Počítačová grafika 1 (POGR 1)

Michal Zamboj. December 23, 2016

Kapitola 5. Seznámíme se ze základními vlastnostmi elipsy, hyperboly a paraboly, které

Michal Zamboj. January 4, 2018

Obsah a průběh zkoušky 1PG

Definice 13.1 Kvadratická forma v n proměnných s koeficienty z tělesa T je výraz tvaru. Kvadratická forma v n proměnných je tak polynom n proměnných s

9 Prostorová grafika a modelování těles

Matematický ústav Slezské univerzity v Opavě Učební texty k přednášce ALGEBRA II, letní semestr 2000/2001 Michal Marvan. 14.

Lineární algebra : Lineární (ne)závislost

DERIVACE. ln 7. Urči, kdy funkce roste a klesá a dále kdy je konkávní a

Linearní algebra příklady

= cos sin = sin + cos = 1, = 6 = 9. 6 sin 9. = 1 cos 9. = 1 sin cos 9 = 1 0, ( 0, ) = 1 ( 0, ) + 6 0,

Elementární křivky a plochy

Ortogonální projekce a ortogonální zobrazení

6 Lineární geometrie. 6.1 Lineární variety

Analytická geometrie přímky, roviny (opakování středoškolské látky) = 0. Napište obecnou rovnici. 8. Jsou dány body A [ 2,3,

Ing. Jan Buriánek. Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Jan Buriánek, 2010

11. VEKTOROVÁ ALGEBRA A ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ

Algoritmizace prostorových úloh

Matematika I, část I. Rovnici (1) nazýváme vektorovou rovnicí roviny ABC. Rovina ABC prochází bodem A a říkáme, že má zaměření u, v. X=A+r.u+s.

příkladů do cvičení. V textu se objeví i pár detailů, které jsem nestihl (na které jsem zapomněl) a(b u) = (ab) u, u + ( u) = 0 = ( u) + u.

ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ

6. ANALYTICKÁ GEOMETRIE

Reprezentace bodu, zobrazení

18. První rozklad lineární transformace

Mechanika

6 Samodružné body a směry afinity

Střední škola automobilní Ústí nad Orlicí

Západočeská univerzita v Plzni. Fakulta aplikovaných věd Katedra matematiky. Geometrie pro FST 2. Pomocný učební text - díl II

Shodná zobrazení v rovině

X = A + tu. Obr x = a 1 + tu 1 y = a 2 + tu 2, t R, y = kx + q, k, q R (6.1)

1 Připomenutí vybraných pojmů

6 Skalární součin. u v = (u 1 v 1 ) 2 +(u 2 v 2 ) 2 +(u 3 v 3 ) 2

Cvičení z Lineární algebry 1

Těleso racionálních funkcí

Transformace (v OpenGL) příklady a knihovna GLM

Vzorce počítačové grafiky

Matematika 1 MA1. 1 Analytická geometrie v prostoru - základní pojmy. 4 Vzdálenosti. 12. přednáška ( ) Matematika 1 1 / 32

Vlastní číslo, vektor

PŘEDNÁŠKA 9 KŘIVKOVÝ A PLOŠNÝ INTEGRÁL 1. DRUHU

Lineární algebra : Skalární součin a ortogonalita

Co byste měl/a zvládnout po 6. týdnu

Vybrané kapitoly z matematiky

Úlohy k přednášce NMAG 101 a 120: Lineární algebra a geometrie 1 a 2,

Josef Janyška Anna Sekaninová ANALYTICKÁ TEORIE KUŽELOSEČEK A KVADRIK

Učební texty k státní bakalářské zkoušce Matematika Skalární součin. študenti MFF 15. augusta 2008

3 Projektivní rozšíření Ēn prostoru E n

1 Báze a dimenze vektorového prostoru 1

Další plochy technické praxe

2. Kinematika bodu a tělesa

1 Linearní prostory nad komplexními čísly

VIDEOSBÍRKA DERIVACE

Jiří Cajthaml. ČVUT v Praze, katedra geomatiky. zimní semestr 2014/2015

2. ANALYTICKÁ GEOMETRIE V PROSTORU Vektory Úlohy k samostatnému řešení... 21

19 Eukleidovský bodový prostor

Kinematika tuhého tělesa. Pohyb tělesa v rovině a v prostoru, posuvný a rotační pohyb

VEKTORY A ANALYTICKÁ GEOMETRIE PAVLÍNA RAČKOVÁ JAROMÍR KUBEN

14. přednáška. Přímka

2. Vyplňování. Transformace.

ELIMINACE VLIVU DRUHÉ ROTACE PŘI AFINNĚ INVARIANTNÍM 2D ROZPOZNÁVÁNÍ

Matematika vzorce. Ing. Petr Šídlo. verze

Potenciální proudění

Deformace rastrových obrázků

Afinita je stručný název pro afinní transformaci prostoru, tj.vzájemně jednoznačné afinní zobrazení bodového prostoru A n na sebe.

Základní vlastnosti ploch

Transformace dat mezi různými datovými zdroji

Matematika I 12a Euklidovská geometrie

Řešíme tedy soustavu dvou rovnic o dvou neznámých. 2a + b = 3, 6a + b = 27,

Transformace (v OpenGL)

KMA/GPM Barycentrické souřadnice a

Počítačová grafika RHINOCEROS

transformace Idea afinního prostoru Definice afinního prostoru velké a stejně orientované.

Transkript:

Geometrické transformace pomocí matic Pavel Strachota FJFI ČVUT v Praze 2. dubna 2010

Obsah 1 Úvod 2 Geometrické transformace ve 2D 3 Geometrické transformace ve 3D

Obsah 1 Úvod 2 Geometrické transformace ve 2D 3 Geometrické transformace ve 3D

Úvod časté a důležité operace v počítačové grafice: geometrické transformace aplikované na objekty ve 2D, resp. 3D invariance objektů (úseček, křivek) vzhledem k transformacím: stačí transformovat řídící body (vektory) Transformace posunutí (translace) rotace změna měřítka (škálování) zkosení složené transformace - např. promítání

Úmluva původní bod P má souřadnice P = (x, y) T ve 2D, resp. P = (x, y, z) T ve 3D transformovaný bod P má souřadnice P = (x, y ) T ve 2D, resp. P = (x, y, z ) T ve 3D

Obsah 1 Úvod 2 Geometrické transformace ve 2D 3 Geometrické transformace ve 3D

Translace x = x + d x, y = y + d y vektor posunutí d = (d x, d y ) T P = P + d

Změna měřítka změna měřítka ve směru osy x, resp. y dána faktory s x, s y škálování vzhledem k počátku souř. soustavy x = s x x, y = s y y ( ) sx 0 matice škálování S =, P = SP 0 s y

Rotace 1/2 rotace kolem počátku souřadné soustavy o úhel θ proti směru hodinových ručiček y P původní bod P má souřadnice P T = (x, y) = (r cos φ, r sin φ) θ φ P x po rotaci dostaneme P T = (r cos (φ + θ), r sin (φ + θ)) = (r cos φ cos θ r sin φ sin θ, r sin φ cos θ + r cos φ sin θ) = (x cos θ y sin θ, y cos θ + x sin θ).

Rotace 2/2 matice rotace ( cos θ sin θ R = sin θ cos θ ) maticový tvar transformace P = RP

Maticová reprezentace 2D transformací Motivace potřeba jednotného zápisu transformací jednoduché skládání transformací efektivní implementace rotace, škálování - lineární transformace, násobení maticí translace - má jiný tvar sjednocení popisu transformací: přechod do homogenních souřadnic potom každá afinní transformace = maticové násobení

Homogenní souřadnice 1/3 přidáme třetí souřadnici W bod P = (x, y) T má homogenní souřadnice P [xw, yw, W ] T = [X, Y, W ] T W 0. každý bod P R 2 je tedy reprezentován přímkou v prostoru (X, Y, W ) dvě trojice homogenních souřadnic [X 1, Y 1, W 1 ], [X 2, Y 2, W 2 ] reprezentují stejný bod, právě když [X 1, Y 1, W 1 ] = [αx 2, αy 2, αw 2 ] α 0 bod [0, 0, 0] není povolen body kde W = 0 se nazývají body v nekonečnu

Homogenní souřadnice 2/3 homogenizovaný bod (pro bod [X, Y, W ], W 0) je bod o souřadnicích [ X W, Y ] W, 1 = [x, y, 1], jeho první 2 složky jsou kartézské souřadnice homogenizované body tvoří rovinu v prostoru (X, Y, W )

Homogenní souřadnice 3/3 sčítání bodů zadaných v homogenních souřadnicích [X 1, Y 1, W 1 ] + [X 2, Y 2, W 2 ] = [X 1 W 2 + X 2 W 1, Y 1 W 2 + Y 2 W 1, W 1 W 2 ] násobení skalárem α [X, Y, W ] = [αx, αy, W ] (a nikoliv [αx, αy, αw ], což je jen jiný zápis pro původní bod [X, Y, W ])

Translace v homogenních souřadnicích 1/2 pro posunutí o d = (d x, d y ) T násobíme bod P = [x, y, 1] T maticí 1 0 d x D = 0 1 d y. 0 0 1 dostaneme P = DP = 1 0 d x 0 1 d y 0 0 1 x y 1 = x + d x y + d y 1 = x y 1.

Translace v homogenních souřadnicích 2/2 pro obecný bod P = [xw, yw, W ] T, W / {0, 1} máme 1 0 d x xw xw + d x W 0 1 d y yw = yw + d y W = 0 0 1 W W DP = takže dostáváme opět správný výsledek. úkol: ověřte aditivitu posunutí, tj. 1 0 d 1 x 1 0 d 2 0 1 dy 1 x 0 1 d 2 y 0 0 1 0 0 1 } {{ } posunutí o d 1 } {{ } posunutí o d 2 = 1 0 dx 1 + dx 2 0 1 dy 1 + dy 2 0 0 1 (x + d x ) W (y + d y ) W W. } {{ } posunutí o d 1 +d 2,

Změna měřítka v homogenních souřadnicích změna měřítka s x -krát, resp. s y -krát ve směru osy x, resp. y je dána maticí s x 0 0 S = 0 s y 0. 0 0 1 pro homogenizovaný bod dostaneme s x 0 0 x P = SP = 0 s y 0 y = 0 0 1 1 s x x s y y 1 = x y 1. úkol: ověřte multiplikativnost škálování, tj. s 1 x 0 0 s 2 0 sy 1 x 0 0 sxs 1 2 0 0 sy 2 x 0 0 0 = 0 sys 1 y 2 0. 0 0 1 0 0 1 0 0 1

Rotace v homogenních souřadnicích rotace bodu P podle počátku souř. soustavy o úhel θ proti směru hodinových ručiček je dána maticí R = cos θ sin θ 0 sin θ cos θ 0 0 0 1. pro homogenizovaný bod dostaneme x cos θ y sin θ P = RP = y cos θ + x sin θ = 1 úkol: ověřte aditivitu rotace, tj. x y 1. cos θ sin θ 0 sin θ cos θ 0 0 0 1 cos γ sin γ 0 sin γ cos γ 0 0 0 1 = cos (θ + γ) sin (θ + γ) 0 sin (θ + γ) cos (θ + γ) 0 0 0 1

Afinní transformace a transformace tuhého tělesa afinní transformace zachovává rovnoběžnost přímek, obecně nezachovává délky ani úhly obecně ve 2D je dána vztahem P = AP + d, kde A R 2 je lib. matice, v homogenních souřadnicích je dána lib. maticí ve tvaru T = a 11 a 12 d x a 21 a 22 d y 0 0 1 lib. složení rotací, translací a škálování je afinní pokud je matice ( ) a11 a A = 12 a 21 a 22 ortogonální, transformace zachovává úhly i délky a nazývá se také transformace tuhého tělesa (rigid body trasformation). Vznikne složením rotací a posunutí.

Afinní transformace a obecné afinní zobrazení afinní prostor E obsahuje body, rozdíl dvou bodů je vektor zobrazení f : E E je afinní, když existuje lin. zobrazení F tak, že f (P) f (Q) = F (P Q) P, Q E. zobrazení ve tvaru f (P) = AP + d afinní je, zde F = A. afinní zobrazení zachovává rovnoběžnost: úsečka PQ CD pokud Q P = α (D C) potom ale f (Q) f (P) = F (Q P) = F (α (D C)) takže f (P) f (Q) f (C) f (D). = αf (D C) = α (f (D) f (C)),

Zkosení angl. shear transformation zkosení podél osy x (x lineárně závisí na y) přísluší transformační matice H x = 1 a 0 0 1 0 0 0 1. podobně pro zkosení podél osy y (y závisí na x) máme 1 0 0 H y = b 1 0. 0 0 1

Skládání transformací Rotace kolem obecného bodu složitější transformace lze snadno získat složením základních transformací např. rotace kolem daného bodu P 0 1 posunutí, aby P 0 byl v počátku 2 rotace kolem počátku souř. soustavy 3 posunutí zpět

Rotace kolem obecného bodu Matice transformace předpokládejme P 0 = (x 0, y 0 ) T = [x 0, y 0, 1] T R P0 (θ) = = 1 x 0 1 y 0 1 cos θ sin θ 0 sin θ cos θ 0 0 0 1 cos θ sin θ x 0 (1 cos θ) + y 0 sin θ sin θ cos θ y 0 (1 cos θ) x 0 sin θ 0 0 1 1 x 0 1 y 0 1

Zrcadlení další jednoduchá afinní transformace zrcadlení podle osy x zrcadlení podle osy y zrcadlení podle počátku souřadnicové soustavy zrcadlení podle přímky y = x úkol: sestavte příslušné matice transformací

Obsah 1 Úvod 2 Geometrické transformace ve 2D 3 Geometrické transformace ve 3D

Transformace ve 3D homogenní souřadnice analogicky jako ve 2D, nyní máme P = (x, y, z) T = [X, Y, Z, W ] T levotočivý, resp. pravotočivý souřadný systém: při pohledu z kladného směru osy z do počátku je rotace od kladné poloosy x ke kladné poloose y po, resp. proti směru hodinových ručiček

Matice transformací v homogenních souřadnicích 1/3 posunutí změna měřítka D = S = 1 0 0 d x 0 1 0 d y 0 0 1 d z 0 0 0 1 s x 0 0 0 0 s y 0 0 0 0 s z 0 0 0 0 1

Matice transformací v homogenních souřadnicích 2/3 rotace kolem osy z R z = rotace kolem osy x R x = rotace kolem osy y R y = cos θ sin θ 0 0 sin θ cos θ 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 cos θ sin θ 0 0 sin θ cos θ 0 0 0 0 1 cos θ 0 sin θ 0 0 1 0 0 sin θ 0 cos θ 0 0 0 0 1

Matice transformací v homogenních souřadnicích 3/3 škálování např. podél osy z s úhlem α vzhledem k souřadnici x a úhlem β vzhledem k souřadnici y H z = 1 0 tan α 0 0 1 tan β 0 0 0 1 0 0 0 0 1

Afinní transformace ve 3D podobně jako ve 2D je každá transformace tvaru a 11 a 12 a 13 d x ( T = a 21 a 22 a 23 d y A d a 31 a 32 a 33 d z = 0 T 1 0 0 0 1 ) afinní. Pokud je navíc matice A ortogonální, transformace zachovává úhly a délky

Změna souřadného systému každá transformace (s regulární maticí - což jsou zde všechny) je vlastně změna souřadného systému naopak, každou změnu souřadného systému lze vyjádřit maticí (přechodu) transformace složitá v jednom souř. systému může být primitivní v jiném rotace kolem obecné osy l (se směrovým vektorem l) - složená transformace 1 přechod ze standardní báze (e 1, e 2, e 3 ) do báze (l, v 1, v 2 ), kde v 1, v 2 leží v rovině kolmé na l 2 rotace podle souřadnicové osy l 3 přechod zpět do standardní báze

Transformace normál rovina zadána normálovým vektorem n = [A, B, C, D] T bod P = [x, y, z, 1] T leží v dané rovině (ne nutně procházející počátkem), právě když n P = Ax + By + Cz }{{} +D = 0 posunutí po transformaci maticí T získáme body P = T P ležící v rovině s normálovým vektorem n = jak získat n? předpokládejme, že n = Qn, kde Q je neznámá matice. Musí platit 0 = n P = n T P = n T Q T T P. ( to bude splněno, pokud Q T T = I, tj. Q = T 1) T.

Literatura J. D. Foley, A. van Dam, S. K. Feiner, J. F. Hughes: Computer Graphics: Principles and Practice, Addison Wesley, 1997. L. Vrána: Matematická analýza III - diferenciální počet (skripta FJFI). Vydavatelství ČVUT, 1990. Žára, Beneš, Sochor, Felkel: Moderní počítačová grafika. Computer Press, 2005.