Geometrické transformácie a premietanie

Slides:



Advertisements
Podobné prezentace
Shodná zobrazení.
Advertisements

2.9.1 Rozšíření euklidovského prostoru o nevlastní prvky
Rovnice roviny Normálový tvar rovnice roviny
T.A. Edison Tajemství úspěchu v životě není v tom, že děláme, co se nám líbí, ale, že nacházíme zalíbení v tom, co děláme.
Koule a kulová plocha v KP
afinita příbuznost, vzájemný vztah, blízkost
Mgr. Bc. Peter Adamko, PhD. NAT a Proxy.
TENTO PROJEKT JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM A STÁTNÍM ROZPOČTEM ČESKÉ REPUBLIKY Vypracoval: Mgr. Lukáš Bičík Elipsa.
PaedDr. Jozef Beňuška
Úpravy algebrických výrazov
Lineárna funkcia a jej vlastnosti
Súmernosti 7.ročník ZŠ Mgr. Zuzana Blašková ZŠ Staničná 13, Košice.
PaedDr. Jozef Beňuška
PARABOLA ©.
Pre 8. ročník CABRI Geometria II.
Digitalizácia zvuku.
BLOKOVÁ SCHÉMA POČÍTAČA
Astronomické súradnicové systémy
Pavol Nečas Gymnázium L. N. Senica Šk. rok 2008/2009 III.A
FUNKCIE A ICH ZÁKLADNÉ VLASTNOSTI
Seminárna práca z matematiky
Katolícke gymnazium Františka Assiského
Zobrazovanie predmetov v optike
Priama úmernosť ISCED 2.
Vzdialenosť bodu od priamky v rovine
TECHNICKÉ KRESLENIE KÓTOVANIE Ing. Mária Gachová.
Formátovanie písma v textovom dokumente 2.časť
MS PowerPoint Prechody a animácie
Operácie s mocninami s celočíselným mocniteľom
Dvojica Síl Lukáš Beňo 1.G.
Televízne obrazovky CRT
Farebné modely, osvetlenie a tieňovanie
Graf kvadratickej funkcie s absolútnou hodnotou
Nepriama úmernosť ISCED 2.
2. časť - kolmá axonometria
Magnetické pole cievky s prúdom
Od čoho závisí zväčšenie
Konštrukcia rovnobežníka
– zvislá perspektíva štvorcovej siete v nepriečelnej polohe
Poznámky z teórie kriviek a plôch Margita Vajsáblová
PaedDr. Jozef Beňuška
PaedDr. Jozef Beňuška
Seminár z fyziky.
GONIOMETRICKÉ FUNKCIE SÍNUS A KOSÍNUS
Gravitačná sila.
AUTOMATICKÉ VERTIKÁLNE ZAROVNANIE ĽAVEJ A PRAVEJ PROJEKCIE V MAMOGRAFICKOM VYŠETRENÍ Marek Kosař.
Grafické riešenie lineárnej rovnice
Pravouhlé (ortogonálne) premietanie VII. ročník
Ing. Zlatica Molčanová Košice
Stredná priemyselná škola dopravná,Sokolská 911/94, Zvolen
Objemy a povrchy hranatých a rotačných telies
VZÁJOMNÁ POLOHA PRIAMKY A KRUŽNICE
Počtové operácie s celými číslami: sčítanie a odčítanie
Dvojstredové premietanie
Blackova – Scholesova analýza
Prečo veci padajú na Zem ? PaedDr. Renáta Kátlovská
Perspektíva VYPRACOVAL: Ing.Ľudmila BENKOVÁ Jún 2014
KVINTAKORDY Rachel Dudová.
POHYBY ZEME- prečo sa strieda deň a noc
Výplatné (diskrétne) sáčky
MIESTO, KTORÉ MÁM RaDa BIANKA LACKOVÁ 7.ROČ.
ZVUK Jozef Chovanec 3.G.
Stredná odborná škola automobilová Moldavská cesta 2, Košice
Príklady rovnomerného pohybu po kružnici
Platón a jeho podobenstvo o úsečke
3D modelovanie Polygony
Analytická geometria kvadratických útvarov
Technické kreslenie REZY A PRIEREZY TELESAMI Ing. Mária Gachová.
Hromadná korešpondencia
Viditeľnosť.
Transkript prezentace:

Geometrické transformácie a premietanie

2D transformácie 1. Posunutie 2. Otočenie

2D transformácie 3. Škálovanie 4. Osová súmernosť (preklopenie)

2D transformácie 5. Skosenie Skosenie objektu si môžeme predstaviť tak, že jednu stranu objektu zafixujeme a objekt potom „ťaháme” v smere, ktorý je so zafixovanou stranou rovnobežný.

2D transformácie Teraz si ukážeme, ako matematicky zapíšeme transformáciu jedného bodu. Celý objekt transformujeme tak, že rovnako transformujeme každý jeho bod 1. Posunutie (x’,y’) (x,y) p=(px,py) Posunutie matematicky zapíšeme jednoducho pripočítaním súradníc vektora posunutia p k pôvodným súradniciam bodu: x’=x+px y’=y+py

2D transformácie 2. Otočenie x=r.cos (x,y) y=r.sin x’=r.cos(+) =r.cos.cos-r.sin.sin y’=r.sin(+) =r.sin.cos+r.cos.sin  (x,y) (x’,y’) S=(Sx,Sy) Otočenie okolo bodu (0,0) o uhol  v proti smeru hodinových ručičiek: x’=x.cos - y.sin y’=x.sin + y.cos Otočenie okolo bodu (0,0) o uhol  v smere hodinových ručičiek: x’=x.cos + y.sin y’=-x.sin + y.cos Otočenie okolo ľubovoľného bodu S=(Sx,Sy) o uhol : x’=(x-Sx).cos ± (y-Sy).sin + Sx y’= (x-Sx).sin + (y-Sy).cos + Sy ±

2D transformácie 3. Škálovanie (x,y) (x’,y’) (x’,y’) (x,y) Pri škálovaní jednoducho vynásobíme súradnice x a y príslušnými koeficientami: x’=dx.x y’=dy.y Koeficienty dx a dy môžu byť aj záporné, vtedy bude výsledok navyše otočený alebo preklopený: (x,y) (x’,y’) dx<0

2D transformácie 4. Osová súmernosť (preklopenie) (x’,y’)=(x,y)-2d.n (ak (x,y) leží v polrovine aX+bY+c0) P=(x,y)-d.n (priemet (x,y) na priamku) aPx+bPy+c=0 Px=x-da, Py=y-db a(x-da)+b(y-db)+c=0 aX+bY+c=0 (x,y) (x’,y’) n=(a,b) d P=(Px,Py) Vzorec pre preklopenie dostaneme posunutím bodu o vhodnú dlžku (-2d) v smere normály na os:

2D transformácie 5. Skosenie (x1,y1)=(x1’,y1’) (x2,y2) (x3,y3) Pri skosení sa bod posunie v smere súradnicovej osi. Dĺžka posunutia závisí od vzdialenosti bodu od tejto osi. Skosenie v smere osi x: x’=x+dy y’=y Skosenie v smere osi y: x’=x y’=y+dx

3D transformácie 1. Posunutie Posunutie v 3D je analogické posunutiu v 2D: x’=x+px y’=y+py z’=z+pz 2. Škálovanie Takisto škálovanie je jednoduchým rozšírením 2D škálovania: x’=dx.x y’=dy.y z’=dz.z 3. Súmernosť podľa roviny aX+bY+cZ+d=0

3D transformácie 4. Otočenie V 3D môžeme bod alebo objekt otáčať okolo troch súradnicových osí a to vždy v smere alebo proti smeru hodinových ručičiek. Celkové otočenie potom dostaneme zložením týchto jednoduchších otočení. Otáčanie proti smeru hodinových ručičiek v smere hodinových ručičiek okolo osi x x’=x y’=y.cos - z.sin z’=y.sin + z.cos y’=y.cos + z.sin z’=-y.sin + z.cos okolo osi y x’=x.cos - z.sin y’=y z’=x.sin + z.cos x’=x.cos + z.sin y’=y z’=-x.sin + z.cos okolo osi z x’=x.cos - y.sin y’=x.sin + y.cos z’=z x’=x.cos + y.sin y’=-x.sin + y.cos

3D transformácie 5. Skosenie Skosenie v smere xy: x’=x+dxz y’=y+dyz z’=z Skosenie v smere xz: x’=x+dxy y’=y z’=z+dzy Skosenie v smere yz: x’=x y’=y+dyx z’=z+dzx

Premietanie Premietanie je transformácia z n-rozmerného priestoru do m-rozmerného, kde m<n. V počítačovej grafike sa väčšinou jedná o premietanie z 3D do 2D Na premietanie potrebujeme premietaciu plochu (priemetňu) a premietací lúč. Priemetňa je plocha, na ktorej chceme objekt zobraziť. Aj keď to býva najčastejšie rovina, vo všeobecnosti to môže byť plocha ľubovoľného tvaru. Premietací lúč je priamka, ktorá prechádza cez premietaný bod. Priemet bodu vznikne tým, že sa premietací lúč pretne s priemetňou. premietacie lúče priemetňa priemety

Premietanie

Rovnobežné premietanie Rovnobežné premietanie sa vyznačuje tým, že všetky premietacie lúče sú rovnobežné. Podľa toho, aký uhol zvierajú premietacie lúče s priemetňou, rozlišujeme pravouhlé a kosouhlé premietanie. V počítačovej grafike sa takmer vždy používa pravouhlé premietanie. pravouhlé premietanie kosouhlé premietanie

Rovnobežné premietanie Rovnobežné premietanie zachováva rovnobežnosť Veľkosť priemetu nezávisí od vzdialenosti premietaného objektu od priemetne Rovnobežné premietanie sa používa najmä v technických aplikáciách, kde je zachovanie rovnobežnosti výhodou Rovnobežné pravouhlé premietanie do roviny xy sa matematicky vyjadrí takto: x’=x y’=y z’=0 Rovnobežné pravouhlé premietanie do ľubovoľnej roviny:

Perspektívne premietanie Pri perspektívnom (stredovom) premietaní vychádzajú všetky premietacie lúče z jedného bodu. Tento bod sa nazýva stred premietania. Pri tomto premietaní sa vo všeobecnosti nezachováva rovnobežnosť, pôvodne rovnobežné úšečky sa môžu zbiehať. Objekty, ktoré sú od stredu vzdialenejšie, budú po premietnutí menšie. Táto projekcia sa používa najmä v architektúre a všade, kde je potrebné realistické zobrazenie, pretože vytvára obrazy podobné tým, ktoré vidí ľudské oko.

Perspektívne premietanie Podľa polohy priemetne vzhľadom na súradnicové osi rozlišujeme tri typy perspektívneho premietania: Jednobodová perspektíva vzniká, ak priemetňa pretína len jednu súradnicovú os Pri dvojbodovej perspektíve priemetňa pretína dve súradnicové osi Pri trojbodovej perspektíve pretína priemetňa všetky tri súradnicové osi Ak si predstavíme kváder, ktorý má steny rovnobežné so súradnicovými osami, tak v prípade jednobodovej perspektívy sa všetky zbiehajúce sa rovnobežky v ňom budú zbiehať do jedného bodu – úbežníka. Pri dvojbodovej perspektíve máme dva úbežníky a pri trojbodovej tri.

Perspektívne premietanie Teraz si odvodíme vzorec pre perspektívne premietanie na všeobecnú rovinu aX+bY+cZ+d=0. Nech stred premietania má súradnice (Sx,Sy,Sz) a premietaný bod je (x,y,z) Premietací lúč L má parametrické vyjadrenie: L=( x+(x-Sx)t, y+(y-Sy)t, z+(z-Sz)t ) Priemet má ležať v danej rovine a zároveň na priamke L, dosadením parametrického vyjadrenia do rovnice roviny dostaneme t: (Sx,Sy,Sz) (x,y,z) (x’,y’,z’) L

Perspektívne premietanie Dosadením vypočítaného parametra t do parametrického vyjadrenia L dostaneme vzorec pre perspektívnu projekciu: Špeciálny a v počítačovej grafike najčastejšie používaný prípad je projekcia do roviny xy (z=0), kde stred premietania má súradnice (0,0,Sz), resp. projekcia do roviny z=dz so stredom (0,0,0):

Pohľadová transformácia Ak chceme zobraziť nejakú scénu, musíme mať daných niekoľko údajov: Súradnice všetkých objektov v scéne Pozíciu pozorovateľa (v počítačovej grafike sa používa namiesto pozorovateľa pojem kamera). Priemetňu, teda rovinu, do ktorej premietame Orientáciu (natočenie) kamery Pozíciu kamery zadáme jednoducho súradnicami bodu, kde sa kamera nachádza. Priemetňu zadáme bodom, cez ktorý prechádza a ďalej máme dve možnosti: Zadáme normálový vektor Zadáme dvojicu uhlov pre rotáciu zo základnej polohy (0,0,nz) - tzv. zenit a azimut zenit určuje otočenie v rovine yz vzhľadom na os z a má rozsah 0-180° azimut určuje otočenie v rovine xy vzhľadom na os x a má rozsah 0-360° Nakoniec zadáme otočenie kamery v rovine rovnobežnej s priemetňou z zenit x y azimut

Pohľadová transformácia Takéto nastavenie pohľadu si môžeme predstaviť ako fotografovanie: najprv sa s fotoaparátom postavíme na určité miesto môžeme sa poobzerať dookola a nájsť najlepší pohľad (azimut) vyberieme si, či sa na scénu budeme pozerať rovno (zenit=90°), zhora (zenit=0°) alebo zdola (zenit=180°) nakoniec môžeme s fotoaparátom ešte otáčať (na šírku, na výšku, šikmo)

Pohľadová transformácia Objekty v scéne, pozícia kamery a priemetne sú vyjadrené v súradniciach, ktoré nazývame svetové. Svetové súradnice sú teda klasický súradnicový systém, ktorý si zvolí užívateľ a v ktorom prebieha modelovanie scény. Na premietanie je však vhodnejší iný súradnicový systém. Premietacia transformácia je najjednoduchšia, ak je priemetňou rovina xy, resp. rovina s ňou rovnobežná a stred má tvar (0,0,Sz) resp. (0,0,0). Zaveďme teda nový súradnicový systém, kde stred premietania bude počiatkom súradnicovej sústavy a osi budú dané normálovým vektorom priemetne a vektorom orientácie kamery. Takýto systém nazývame pohľadové súradnice. http://www.cs.nps.navy.mil/people/faculty/capps/iap/class2/viewing/viewing.html

Pohľadová transformácia Pohľadová transformácia je transformácia zo svetových do pohľadových súradníc. Pred premietnutím teda urobíme pohľadovú tranformáciu a až potom príde na rad samotné premietanie. Postup pri pohľadovej transformácii je nasledujúci: Posunutie, ktoré presunie pozíciu kamery do počiatku súradnicovej sústavy. Rotácia, ktorá otočí súradnicový systém tak, aby normálový vektor priemetne mal súradnice (0,0,nz), resp. Otočenie okolo osi z o azimut v zápornom smere Otočenie okolo osi x o zenit v zápornom smere Otočenie okolo osi z (v zápornom smere) o uhol, ktorý zodpovedá orientácii kamery. Pri rovnobežnom premietaní postupujeme rovnako, tiež máme danú pozíciu kamery, aj keď premietacie lúče nevychádzajú z nej.

Pohľadový objem Pri zobrazovaní scény nezobrazujeme všetky objekty, ktoré sa v scéne nachádzajú, ale len tie objekty alebo časti objektov, ktoré sú viditeľné a pre pozorovateľa zaujímavé. Celú scénu teda orežeme tzv. pohľadovým objemom Pri stredovom premietaní má pohľadový objem tvar zrezaného ihlana. Hranice ihlana tvorí: 1. Zorný uhol – obyčajne 40°-60°. Bude to uhol pri vrchole ihlana. 2. Rovina „far” – táto rovina odstraňuje objekty, ktoré sú od kamery príliš vzdialené. 3. Rovina „near” – touto rovinou môžeme odstrániť objekty, ktoré sú príliš blízko a bránia vo výhľade. far stred near

Pohľadový objem Pri rovnobežnom premietaní má pohľadový objem tvar kvádra. Jeho hranice tvorí: Zorné pole Rovina far Rovina near kamera far near

Premietnutie scény Celý proces zobrazenia scény pozostáva teda z týchto častí: Pohľadová transformácia (transformácia do premietacej polohy) Orezanie pohľadovým objemom Premietnutie na priemetňu Uvedený postup , najmä čo sa týka definície azimutu a zenitu, sa môže v rôznej literatúre a v rôznych softvéroch líšiť. Princíp však zostáva zachovaný.