Geometrické transformace v prostoru
Geometrické vidění světa KMA/GVS ak. rok 2013/2014 – letní semestr
Shodné transformace
1
Shodné transformace • stejný přístup jako ve 2D • shodné transformace (shodnosti, izometrie) převádějí (zobrazují) objekt z jedné pozice do druhé tak, že zachovávají všechny délky – v důsledku zachování délek se zachovávají i úhly, obsahy, objemy, ...
shodná transformace
Shodnosti přímé a nepřímé • rozeznáváme přímé a nepřímé shodnosti: • přímé shodnosti zachovávají orientaci soustavy souřadnic (=smysl obíhání vrcholů čtyřstěnu) • nepřímé shodnosti obracejí orientaci soustavy souřadnic
nepřímo shodné
přímo shodné
2
Shodnosti ve 3D • Přímé shodnosti: – – – – –
Identita Posunutí (translace) Otočení (rotace) kolem osy Osová souměrnost (spec. případ rotace kolem osy) Šroubový pohyb (složení rotace kolem osy a posunutí ve směru osy)
• Nepřímé shodnosti: – Rovinová souměrnost (zrcadlení) – Posunutá souměrnost (složení zrcadlení a posunutí rovnoběžně s rovinou souměrnosti) – Otočená souměrnost (složení zrcadlení a otočení rovnoběžně s rovinou souměrnosti) – Středová souměrnost (spec. případ otočené souměrnosti)
Shodnosti ve 3D
Fa. Herold, Mödling, Austria
3
Posunutí (translace)
• posunutí je určeno vektorem posunutí (směr, velikost, orientace)
Rovnice posunutí
r t = ( a , b, c )
x' = x + a y' = y +b z'= z+c
4
Shodnosti ve 3D
Tower Dallas, US
Otočení (rotace)
• otočení je určeno osou otočení a orientovaným úhlem otočení
5
Rovnice otočení (speciální případy) • otočení kolem osy z x ' = x cos ρ − y sin ρ y ' = x sin ρ + y cos ρ z'= z
• otočení kolem osy x x' = x y ' = y cos ρ − z sin ρ z ' = y sin ρ + z cos ρ
• otočení kolem osy y x ' = x cos ρ + z sin ρ y'= y z ' = − x sin ρ + z cos ρ
Otočení (rotace)
• určení osy rotace pomocí vzoru a obrazu úsečky
6
Osová souměrnost • speciální případ rotace pro rho=180o; je určena osou souměrnosti
• např. souměrnost podle osy z
x ' = −x y' = −y z'= z
Shodnosti ve 3D
Cesar Pelli PETRONAS TOWERS Kuala Lumpur, Malaysia
7
Rovinová souměrnost (zrcadlení) • je určena rovinou souměrnosti
Rovnice zrcadlení (speciální případy) • souměrnost podle roviny xy x' = x y'= y z ' = −z
• souměrnost podle roviny yz x ' = −x y'= y z'= z
• souměrnost podle roviny xz x' = x y' = −y z'= z
8
Shodnosti ve 3D
Pestsäule, Karlskirche -- Vídeň
Šroubový pohyb • šroubový pohyb lze získat složením otočení kolem osy a posunutí ve směru osy otočení
a
9
Šroubový pohyb a šroubovice • při šroubovém pohybu se zobrazovaný bod pohybuje po křivce, která se nazývá šroubovice o ... osa
Úhel otočení ρ a příslušná velikost vektoru posunutí s jsou přímo úměrné: při otočení kolem osy o úhel ρ je velikost posunutí ve směru osy s = pρ
v ... výška závitu
Konstantní poměr p = s/ρ se nazývá parametr šroubového pohybu. Úhlu o velikosti 2π (plné otočení) přísluší tzv. výška závitu v.
ρ
Rovnice šroubového pohybu • šroubový pohyb s osou z x ' = x cos ρ − y sin ρ y ' = x sin ρ + y cos ρ z' = z + p⋅ρ
10
Posunutá souměrnost • vzniká složením rovinové souměrnosti a posunutí ve směru rovnoběžném s rovinou souměrnosti
x' = x + a y' = y+b z ' = −z
Otočená souměrnost • vzniká složením rovinové souměrnosti a rotace podle osy kolmé na rovinu souměrnosti • nejvýznamnější je případ rho=180o – středová souměrnost
• střed v počátku
x ' = −x y' = −y z ' = −z
11
Skládání geometrických transformací • Skládáním shodností vzniká opět shodnost – přímá s.
ο
– nepřímá s. – přímá s.
přímá s. přímá s.
ο nepřímá s. přímá s.
ο nepřímá s. nepřímá s.
• Příklad: – šroubový pohyb (přímá s.) = = otočení (přímá s.) ο posunutí (přímá s.)
Skládání rovinových souměrností • Každou shodnost v prostoru lze vyjádřit jako složení nejvýše 4 rovinových souměrností • Jsou-li 2 roviny různoběžné, vzniká rotace kolem jejich průsečnice • Jsou-li 2 roviny rovnoběžné různé, vzniká posunutí • Posunutá a otočená souměrnost vznikají složením 3 rovinových souměrností • Šroubový pohyb vzniká složením 4 rovinových souměrností
12
Vlastnosti skládání geometrických transformací
• skládání není obecně komutativní (záleží na pořadí) osa otočení osa otočení
vektor posunutí
nejprve posunutí, potom otočení
vektor posunutí
nejprve otočení, potom posunutí
Afinní transformace
13
Afinní transformace • všechny dosud studované transformace jsou spec. případem prostorové afinní transformace dané předpisem x ' = ax + by + cz + p y ' = dx + ey + fz + q z ' = gx + hy + iz + r
• afinní transformace patří mezi lineární transformace (navíc zachovávají rovnoběžnost přímek)
Maticový popis transformací I • rovinná afinní transformace daná výše uvedeným předpisem se dá vyjádřit v maticovém tvaru
x ' a b y ' = d e y ' g h
c x p x f y + q = A⋅ y + B z i z r
kde matice A je regulární (det(A) je nenulový)
14
Shodnosti jako afinní transformace • afinní transformace daná předpisem
x ' a b y ' = d e y ' g h
c x p x f y + q = A⋅ y + B z i z r
kde matice A je regulární (det(A) je nenulový), je shodností právě tehdy, když
AT ⋅ A = A ⋅ AT = I , kde I je jednotková matice
Maticový popis transformací II • kromě výše uvedeného tvaru (matice A a B) se používá i vyjádření jedinou maticí typu 4x4
1 1 0 0 x' = p a b y ' q d e y ' r g h
0 1 1 c x x = C ⋅ y f y i z z
kde matice C je regulární (det(C) je nenulový)
15
Skládání transformací a maticové násobení • uvažujme rotaci R a translaci T,které jsou popsány pomocí matic R a T 0 1 1 x ' = 0 cos ρ y ' 0 sin ρ 0 y ' 0
0 − sin ρ cos ρ 0
1 1 x' = a y ' b y ' c
0 1 1 0 x x = R ⋅ y 0 y 1 z z
0 0 0 1 1 1 0 0 x x = T ⋅ y 0 1 0 y 0 0 1 z z
• složená transformace Rο οT R
T
X a X ' a X '' je dána maticovým vyjádřením 1 1 1 1 x '' = T ⋅ x ' = T R ⋅ x = (T ⋅ R) x y y '' y ' y z z '' z' z
Změna měřítka na osách (dilatace)
• tato afinní transformace je dána středem a nenulovými faktory (násobky) původních jednotek • případě, že střed je v počátku
x' = a⋅ x y' = b⋅ y z' = c⋅z
16
Stejnolehlost
• pokud a = b = c, potom dostáváme stejnolehlost (dána středem a koeficientem) • stejnolehlost patří mezi podobné transformace (podobnosti) – zachovávají tvar a úhly (obecně NE délky) • středová souměrnost je stejnolehlost s koeficientem -1
Shear transformation (smýknutí)
• tato transformace je dána rovinou a 2 úhly • odpovídající body leží na přímce rovnoběžné s danou rovinou, odpovídající přímky (roviny) se protínají na dané rovině
• shear transformation mění tvar, ale zachovává objem
17
Shear transformation – analytický popis
x' = x +c⋅z y' = y + f ⋅z z'= z
Puerta de Europa (Madrid)
Shodné transformace a animace
18
Snímání scény
• režisér má k dispozici 3 možnosti „uchopení“ scény – pohybující se objekt, pevná kamera
– statický objekt, pohybující se kamera – kombinace (pohybující se objekt i kamera)
Animace a „plynulý“ pohyb
• animační tvorba je založena na analogických principech jako reálné natáčení • místo nahrávání na filmový pás se aplikují vhodné transformace na digitální model a/nebo virtuální kameru • výstupem z CAD softwaru je sekvence drobně odlišných obrazů, které v návaznosti vytvářejí iluzi plynulého pohybu • pro přesvědčivou iluzi je potřeba alespoň 30 snímků za sekundu • většina CAD systémů disponuje velmi sofistikovanými nástroji pro automatické generování animačních sekvencí
19
Animace a „plynulý“ pohyb
• principy animace v CAD softwaru: – zadáme klíčové snímky, SW automaticky vygeneruje „mezipozice“ – určíme trajektorii objektu a/nebo kamery – matematicky popíšeme polohu, parametry snímaných objektů, kamery, osvětlení,…
• v praxi se používá kombinace všech uvedených přístupů
Animace a „plynulý“ pohyb
• zadání klíčových snímků
20
Animace a „plynulý“ pohyb
• zadání trajektorie a typu přechodu (transfomace)
21