Toto je starší verze dokumentu!


Transformace, reprezentace a zobrazení 3D objektů

Geometrické transformace jsou jedny z nejčetnějších operací v současné počítačové grafice. Můžeme je chápat jako změnu pozice vrcholů v aktuálním souřadnicovém systému nebo jako změnu souřadnicového systému.

Homogenní souřadnice

Homogenní souřadnice bodu v 3D s karteziánskymi souřadnicemi [x,y,z] je uspořádána čtveřice [X,Y,Z,w] pro kterou platí x=X/w, y=Y/w, z=Z/w. Bod je svými homogenními souřadnicemi určen jednoznačně. Souřadnici w nazýváme váhou bodu. Hodnota této váhy je w=1 v případě lineárních transformací.
Jsou zavedeny kvůli jednotné manipulaci se všemi transformačními maticemi, protože v případě karteziánských souřadnic by jsme u posunutí použili sčítání a u ostatních operací zas násobení. Takhle všude použijeme násobení matic, tj. jednotný způsob (ulehčí implementaci).
Bod, který chceme transformovat, má matici P(x, y, z, w), kde x, y, z jsou jeho souřadnice, w je 1 pokud je to bod, 0 pokud je to vektor.
Transformační matice je matice 4*4.

Posunutí

Pro posun v opačném směru budou koeficienty d záporné.

Změna velikosti

Pro zmenšení se použije místo S 1/S.

Rotace

Střed otáčení v počátku souřadného systému.

Zkosení

Reprezentace

Požadavky na modely:

  • Obecnost (popis co nejrozsáhlejší třídy objektů)
  • Úplnost (úpně popisuje daný objekt)
  • Jednoznačnost (lze vyhodnotit pouze jedním způsobem)
  • Unikátnost, jedinečnost (jednomu tělesu odpovídá jeden model)
  • Přesnost (popisu objektu)
  • Regulérnost (nemožnost vytvořit nereálnou reprezentaci)
  • Konzistence vůči vybraným operacím tělesa stejné třídy
  • Kompaktnost (malá paměťová náročnost)
  • Možnost efektivního zpracování (Možnost efektivní implementace operací s tělesem.)

Projekce

Transformace ze 3D do 2D prostoru

  • Paralelní - rovnoběžná:zachovává rovnoběžnost hran, velikost průmětu nezávisí na vzdálenosti od průmětny
  • Perspektivní - středová:čím blíže středu promítání tím menší objekt

Buď na rovinnou průmětnu(úsečky se projektují na úsečky, stačí promítat jen vrcholy) vs. na zakřivenou průmětnu např.rybí oko (úsečky se projektují na křivky, potřeba projektovat všechny rastrované body) Paralelní promítnutí do roviny XY (zanedbáme Z):

Metody Reprezentace

Objekty mohou být manifold(hrana sdílí jen 2 stěny, vyrobitelný) vs. non-manifold(nevyrobitelný objekt).

  • Konstruktivní geometrie -Constructive Solid Geometry- objekt je popsán stromem z 3D primitiv, transformací a booleovskými operacemi(uzly)
  • šablonování - pohyb(posun, rotace) křivky, plochy nebo tělesa po zvolené trajektorii.může být s proměnlivou profilovou křivkou(potahování)
  • dekompoziční modely - rozklad objektu na elementární objemové jednotky(krychle) tzv.voxel(pixel ve 3D)Uložení dat – oktalový strom(problematické procházení objemem, vhodne pro malou hustotu dat), 3D pole diskrétních hodnot(velká náročnost na paměť, vysoká rychlost přístupu) nebo subvoxely(kombinace obojího).Vykreslení algoritmem Marching cubes
  • hraniční reprezentace B-Rep - objekt popsán pomocí svého povrchu, info o vnitřní struktuře není uložena, objekty definovány pomocí vrcholů(body), hran(úsečky, křivky), stěn(polygony, spline plochy)
    • Drátový model - popis pomocí vrcholů a hran
    • Polygonální model - objekt definován pomocí vrcholů, hran, stěn(trojúhelníky=polygony), hw podpora zobrazení
    • Okřídlená hrana - (3 lineární senzamy – vrcholů, hran, stěn)
    • Hraniční spline model - jako polygonální ale místo polygonů jsou spline plochy, pro zobrazení se často na polygonální převádí, LOD - Level of Detail míra přesnosti podle vzdálenosti, eliminace vrcholů nebo hran
  • 3D Plochy - plocha je definována bázovým polynomem a sítí řídících bodů(matice)
    • Bikubické plochy – interpolační, analogie Fergusonových křivek, matice 4×4 řídících bodů, spojitost plátů
    • Beziérové plochy – aproximační, analogie Beziérových křivek, matice 4×4 řídících bodů, spojitost plátů
    • NURBS plochy – aproximační, analogie NURBS křivek, matice 4×4 řídících bodů
  • Implicitní plochy - Modelování pomocí kostry kolem které je potenciální pole - určuje povrch objektu.

Zobrazování 3D projektů

Algoritmy viditelnosti: vektorové(výsledkem je soubor viditelných a neviditelných hran) vs. rastrové(rastrový výsledek-obraz viditelných ploch, stinovani, barva osvetleni) Mezi vektorové patří například Robertsův aloritmus(dělení potencilně viditelných hran na úseky kde se mění viditelnost) Mezi rastrové patří např. Malířův algoritmus(vykreslování nejprve vzdálených objektů, pak bližších

Vizualizační metody

  • Objektové - Objekty scény jsou zpracovávány sekvenčně.Nejsou stíny.Není sekundární osvětlení (od objektů navzájem).Nejsou odrazy.
  • Obrazové - pixely jsou zpracovávány sekvenčně. Ostré stíny.Není sekundární osvětlení (od objektů navzájem).
  • Komplexní - scéna je zpracvávána celá najednou. Měkké stíny. Komplexní řešení.

Z-buffer

  • Rastrový obrazový algoritmus
  • Ukládá informace o hloubce objektu(Z souřadnice nejbližších bodů)
  • Rychlý algoritmus, snadná implementace v HW

Ray tracing

Sledování paprsků - z kamery se vypouštějí paprsky, sleduje se jejich pohyb, zlom a odraz

  • výpočetně hodně náročné - použití u statických scén, filmu ne u her, kdy je potřeba rychlost vykreslování
  • nevýhody:ostré stíny, bodové zdroje světla, zrcadla (lesklé plochy) sice odrážejí okolí, ale neodráží

světlo do okolí, nejsou sekundárními zdroji světla

Ray casting

  • Rastrový obrazový algoritmus řešení viditelnosti
  • Ray tracing prvního stupně
  • Vrhání paprsků z místa pozorovatele, pozorují se jen primární paprsky, bez odrazů
  • Pomalý, kvalitní výsledky
  • Použití: přímé zobrazování CSG modelů, vizualizace voxel modelů

Radiozita

  • vystřelování „radiozity“ z plošek, které mají nejvíce energie
  • ozářené plošky se stávají sekundárními zdroji světla
  • rekurzivní opakování dokud se energie neutlumí
  • nejkomplexnější řešení viditelnosti
  • trvá nejdéle

Diskuze

vagyvagabund, 2011/03/15 21:23

dopsat skladani zobrazeni + mensi priklad u projekci jeste dopsat jejich jednotlive druhy (kabinetova, …) u reprezentaci urcite obrazky, jak vypadaji, obrazek okridlene hrany modely osvetleni (Phonguv, fyzikalni, …) - Phong tam byl dvakrat (osvetleni, stinovani) popsat stinovani popsat textury ray-tracing, ray-casting obrazky, popr vic popsat princip

Jirka Hynekgeorge, 2011/04/27 09:40

Doplnil jsem tu věci, co mi zde chyběly … ještě by se tu možná mohla přidat kapitola k texturování ⇒ jen v bodech vypsat metody + nějaké obrázky

Honzatest212.111.23.234, 2015/05/28 11:15

Bacha na tu kavalírskou/kabinetní projekci - nevím, jak se to učilo v IZG, každopádně podle zdrojů na netu to patří do rovnoběžné, tedy paralelní projekce, ne do perspektivní. Viz např. http://cs.wikipedia.org/wiki/Koso%C3%BAhl%C3%A9_prom%C3%ADt%C3%A1n%C3%AD nebo https://courses.cs.washington.edu/courses/cse457/99sp/handouts/lectures/07-projections.pdf

Vložte svůj komentář
 
temata/12-3d_objekty/main.1296821704.txt.gz · Poslední úprava: 2011/02/23 22:58 (upraveno mimo DokuWiki)
Recent changes RSS feed Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki