Przekszta!cenia geometrczne w grafice wektorowej Rados!aw Mantiuk Zachodniopomorski Uniwerstet Technologiczn w Szczecinie Wektor Dla danej n-wmiarowej przestrzeni Euklidesowej wektor równ jest: v 0 v v " R n # v 1,v... i " R,i 0,1,...,n *1 % v n ( Dzia!ania na wektorach: dodawanie (rozdzielno"# dodawania (ang. associativit,!czno"# dodawania (ang. communitativit, to%samo"# (ang. zero identit, dodawanie wektora przeciwnego, mno!enie przez liczb" (!czno"# i rozdzielno"# mno%enia przez skalar, iloczn skalarn, d#ugo% wektora, iloczn wektorow R n n#1 2 u v u i " v i u u i n " Uk!ad wspó!rzdnch Uk!ad wspó!rzdnch (uk!ad odniesienia wznaczan jest przez liniowo niezale%ne wektor bazowe. Ka%d wektor mo%e b# reprezentowan przez n warto"ci skalarnch v 0,v 1,...,v n"1 oraz wektor bazowe u 0,u 1,...,u n"1 Wektor s niezale!ne liniowo je%eli równanie: v 0 u 0 + v 1 u 1 +...+ v n"1 u n"1 0 jest prawdziwe tlko dla v 0 v 1... v n"1 0 Dzia!ania na wektorach Iloczn wektorow w u " v u v w u " v w u " v u v # sin w%u,w%v u,v,w tworz uk!ad prawoskrtn uk!ad prawoskrtn uk!ad lewoskrtn Iloczn skalarn n#1 u v u i " v i u " v " cos% Uk#ad ortonormaln - d!ugo"# wektorów bazowch równan jest 1. Uk#ad ortogonaln - uk!ad ortonormaln, w którm kt midz wektorami bazowmi równ jest 90 stopni. Macierze M wiersz,kolumna [m ij ] Grafika wektorowa Wspó!rzdne obiektów graficznch definiowane s w dziedzinie liczb rzeczwistch (np. wspó!rzdna wierzcho!ka trójkta na p!aszcz(nie wra%ona jest przez dwie liczb rzeczwiste. Dzia!ania na macierzach: dodawanie, mno%enie przez liczb, transponowanie, mno%enie, wznacznik macierz, macierz odwrotna, macierz ortogonalna. (101.56, 200.49 Transformacja ze wspó#rz"dnch rzeczwistch do rastrowch x raster normal(x " xres raster normal( " res Normalizacja sprowadza si do okre"lenia warto"ci wspó!rzdnch w przedziale <0,1>. Macierz odwrotna: element macierz dope!nie: d ij A wznacznik z A, z której usunito i-t wiersz i j-t kolumn (101.56,200.49 (50,100 (xres,res
Przekszta!cenia 2D - Translacja Translacja o wektor (tx,t Przekszta!cenia 2D - Obrót Obrót wokó# punktu (pocztku uk#du wspó#rz"dnch Przekszta!cenie odwrotne (ang. inverse translation Przekszta!cenie zachowujce pierwotne po!o%enie (ang. identit Z!o%enie translacji jest translacj. Istnieje przekszta!cenie odwrotne do z!o%enia translacji. Przekszta!cenia 2D - Skalowanie Skalowanie o wektor (sx,s x s x " x s " Przekszta!cenia 2D - Rechunek macierzow Wspó!rzdne jednorodne Wspó#rz"dne jednorodne (ang. homogenous coordinates - umo%liwiaj z!o%enie przekszta!ce za pomoc operacji macierzowch. Skalowanie (podobiestwo " x % "( x 0 0% " x% 0 ( 0 # 1 # 0 0 1 # 1 Przekszta!cenia 2D - Przekszta!cenia Euklidesowe Przekszta#cenia Euklidesowe (ang. Euclidean transformation Z!o%enie translacji i obrotów (przekszta!cenie br! sztwnej, ang. rigid bod transform. Translacja Obrót " x % " 1 0 t x % " x% 0 1 t ( # 1 # 0 0 1 # 1 " x % " cos( sin( 0% " x% sin( cos( 0 * # 1 # 0 0 1 # 1
Przekszta!cenia 2D - Przekszta!cenia afiniczne (1 Przekszta#cenie afiniczne (ang. affine transform Z#o!enie translacji, obrotów i skalowania. Zachowuj równoleg!o"# linii. Zachowuj wbran p!aszczzn przekszta!cenia. Przekszta!cenia 2D - Przekszta!cenia afiniczne (2 Przk!adowe przekszta!cenia afiniczne Definiowane przez sze"# parametrów aij. skew Source: Dave Mount, U. Marland, Notes for CMSC 427, Fall 2000 Pictures courtes of MIT (lecture 6.837 Przekszta!cenia 2D - Podsumowanie Przekszta!cenia 2D - Przekszta!cenia afiniczne (3 Wspó!rzdne trzech punktów wraz z odpowiadajcmi im punktami po przekszta!ceniu jednoznacznie definiuj przekszta!cenie afiniczne. Parametr przekszta!cenia afinicznego szuka si poprzez rozwizanie uk!adu równa liniowch. Pictures courtes of MIT (lecture 6.837 Przekszta!cenia geometrczne 3D Iloczn wektorow i skalarn Punkt (ang. point - warto% absolutna Wektor (ang. vector - warto% wzgl"dna Ramka (ang. frame - uk#ad wspó#rz"dnch Wspó#rz"dne (ang. coordinates
Translacja w 3D Przesunicie o zadan wektor. T "1 (t T("t Obrót w 3D Obrót wokó! danej osi o zadan kt 1 0 0 0 0 cos" #sin" 0 R x (" 0 sin" cos" 0 cos" 0 sin" 0 0 1 0 0 R (" #sin" 0 cos" 0 cos" #sin" 0 0 sin" cos" 0 0 R z (" 0 0 1 0 R "1 R T Pictures courtes of MIT (lecture 6.837 Pictures courtes of MIT (lecture 6.837 Skalowanie w 3D Projekcja (homografia " s x 0 0 0% 0 s 0 0 S(s 0 0 s z 0 # 0 0 0 1 S "1 (s S( 1 s Wspó!cznniki skalowania musz b# niezerowe. Transformacja ma 15 stopni swobod. Projekcja -> przekszta!cenie afiniczne Linie równoleg!e to linie przecinajce si w nieskoczono"ci. Przecicie si wszstkich równoleg!ch linii sze"cianu wznacza p!aszczzn w nieskoczono"ci. Znajc t p!aszczzn mo%na przej"# z projekcji do reprezentacji afinicznej. Przekszta!cenie afiniczne 3D Przekszta!cenie nie wp!wa na p!aszczzn po!o%on w nieskoczono"ci (ang. plane at infinit. Punkt po!o%one na tej p!aszcz(nie zmieniaj swoje po!o%enie, ale ca! czas le% na p!aszcz(nie. Zachowuje równoleglo"# linii. Transformacja ma 12 stopni swobod.
Przekszta!cenie metrczne Przekszta!cenie euklidesowe + skalowanie (ang. metric, similarit. Przekszta!cenie Euklidesowe Transformacja br# sztwnej (ang. rigid bod transform - z!o%enie translacji i obrotów. Nie zmienia si kszta!t br!. 7 stopni swobod (3 - obrot, 3 translacje, 1 - skalowanie zachowuje równoleg!o"# linii zachowuje kt zachowuje wmiar wzgldne 6 stopni swobod, zachowuje równoleg!o"# linii, zachowuje kt, zachowuje wmiar absolutne. [rij] - macierz obrotu (ortonormalna [ti] - translacja - skalowanie Bez znajomo"ci rzeczwistch (absolutnch wmiarów, jest to najbardziej z!o%one przekszta!cenie mo%liwe do odtworzenia z serii obrazów. Przekszta!cenie 3D Literatura 1. Materia! edukacjne organizacji ACM SIGGRAPH, http://www.siggraph.org/ education/materials/hpergraph 2. Lecture notes on Graphics. Lecture 6.837, Computer Graphics Group, Massachusetts Institute of Technolog, http://groups.csail.mit.edu/graphics/classes/ 6.837/F01/notes.html.