Toto je starší verze dokumentu!


12 - 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
  • lineární transformace - dají se skládat (otočení + posunutí + zkosení + zvětšení je možné provést v různém pořadí se stejným efektem)
  • kartézská soustava souřadnic
    • je taková soustava souřadnic, u které jsou souřadné osy vzájemně kolmé a protínají se v jednom bodě - počátku soustavy souřadnic
    1. pravotočivá - normální, co používáme
    2. levotočivá - osa x a y je přehozená
  • homogenní souřadnice
    • homogenní souřadnice bodu v 3D s kartézskými souřadnicemi [x,y,z] je uspořádána čtveřice [X,Y,Z,w] pro kterou platí:
      1. x = X/w
      2. y = Y/w
      3. z = Z/w.
      4. w = váha bodu
        • lineární transformace: w = 1
        • vektory v´ = (x,y,z) reprezentujeme trojicí (x,y,z,0)
    • bod je svými homogenními souřadnicemi určen jednoznačně
    • jsou zavedeny kvůli jednotné manipulaci se všemi transformačními maticemi, protože v případě kartézských souřadnic by jsme u posunutí použili sčítání a u ostatních operací zase násobení ⇒ takto 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 ve 3D
    • matice 4*4
    • tuto obecnou transformační matici získáme násobením dílčích základních transformačních matic
    • násobení matic musí být z pravé strany a v přesném pořadí provádění jednotlivých transformací

Posunutí

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

Změna velikosti

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

Rotace

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

Zkosení

Kombinace

  • vynásobení matic

Reprezentace 3D objektů

  •  základní metody
    1. Šablonování (translační, rotační, potahování)
    2. Implicitní plochy - potenciální pole elementárních částic
  •  požadavky na modely:
    • obecnost (popis co nejrozsáhlejší třídy objektů)
    • úplnost (úplně 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)
  • typy objektů:
    1. manifold - hrana sdílí jen 2 stěny, vyrobitelný
    2. nonmanifold - nevyrobitelný objekt
  •  Eulerovy rovnice
    • slouží pro kontrolu topologie objektu ⇒ platí pro manifold (hrana spojuje 2 vrcholy, ve vrcholu maximálně 3 hrany, stěny se neprotínají)
  • regularizované množinové operace
    • skládání objektů
    • nesmí měnit topologickou dimenzi objektu
    • výsledek je vždy těleso
    • -*, ∪*, ∩*
  • projekce
    • 3D objekty zobrazujeme na 2D výstupu
    • projekční paprsek promítá body na průmětnu
    • dochází ke ztrátě informace
    1. perspektivní (středová)
      • je zvolený střed projekce
      • velikost průmětu nezávisí na vzdálenosti od průmětny
      • užití: virtuální realita, architektura, hry
      • kavalírská projekce - všechny osy mají stejné měřítko
      • kabinetní projekce - osa Z je v měřítku 1/2 vůči ostatním osám
    2. paralelní (rovnoběžná)
      •  zachovává rovnoběžnost hran ⇒ paprsky kolmé na průmětnu ⇒ střed projekce je v nekonečnu
      • čím blíže středu promítání tím menší objekt
      • užití: technická schémata
      • promítání na zakřivenou průmětnu - např.rybí oko (úsečky se projektují na křivky, potřeba projektovat všechny rastrované body)
      •  obrázek: paralelní promítnutí do roviny XY (zanedbáme Z)

Konstruktivní geometrie - CSG

CSG

  •  objekt je popsán stromem ze:
    1. 3D primitiv (listy stromu)
    2. transformací (zvětšení, otočení, atd… 3D primitiv)
    3. booleovských operací (uzly stromu)
  • možnost vzniku singularit (regularizované operace)
  • pro každé nové operace probíhá regenerace stromu
  • možnost parametrizace operací ve stromu - parametrické modelování (CAD/CAM)
  • nejsou informace o povrchu ⇒ převod na polygonální model (B-rep)
  • oktalový strom
    • rozdělení prostoru CSG modelu oktalovým stromem (octree) ⇒ CSG strom rozdělený (tzv. prořezaný) na podstromy
    • urychlení regenerace stromu při lokálních operacích, urychlení zobrazování CSG modelu
  • strojní inženýrství, architektura

Šablonování

Šablonování

  • pohyb křivky, plochy nebo tělesa po zvolené trajektorii
  • může být součástí CSG operací (primitiva tvořená šablonováním)
  • využívá se invariance spline křivek a ploch vůči lineárním transformacím
  1. pohyb po přímce (obrázek)
  2. potahování s proměnlivou profilovou křivkou
  3. posun po obecné křivce
  4. rotační - NURBS křivky

Dekompoziční modely

Dekompoziční modely

  • diskrétní popis objektu dekompozicí na elementární objemové jednotky (krychle, hranoly) - voxely (Volumetric Pixel)
  • nese informace o hraniční struktuře x hraniční modely
  • geologie, medicína, strojírenství
  • uložení dat:
    1. 3D pole diskrétních hodnot - rychlý přístup, ale paměťově náročné
    2. oktalový strom - vhodné pro malou hustotu dat - rekurzivní dělení
    3. subvoxely - kombinace dvou předchozích
  • vykreslení pomocí Marching cubes
    • nalezení a polygonizace isoplochy procházející objemem

Hraniční reprezentace

Hraniční reprezentace

  • B-rep (Boundary Representation)
  • objekt popsán prostřednictvím svého povrchu - hranice
  • objekty definovány pomocí vrcholů (body), hran (úsečky, křivky) a stěn (polygony, spline křivky)
  1. drátový model
    •  popis pomocí vrcholů a hran ⇒ málo topologických informací ⇒ nejednoznačnost
    • pro rychlé zobrazení
  2. polygonální model
    • objekt definován pomocí vrcholů, hran, stěn (trojúhelníky == polygony)
    • jednoznačný popis objektu, malá přesnost (lineární aproximace povrchu)
    • hw podpora zobrazení
  3. okřídlená hrana
    • 3 lineární seznamy - vrcholů, hran, stěn
    • definuje sousední vrcholy, hrany ohraničující stěnu, sousední stěny
    • zpracováním lze získat normály ve vrcholech
      Okřídlená hrana
  4. 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

3D plochy

  • plocha je definována bázovou maticí (polynomy) 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ů

  1. Beziérové plochy - aproximační, analogie Beziérových křivek, matice 4×4 řídících bodů, spojitost plátů
  2. NURBS plochy - aproximační, analogie NURBS křivek, matice 4×4 řídících bodů

Implicitní plochy

Implicitní plochy

  •  modelování pomocí kostry kolem které je potenciální pole - určuje povrch objektu
  • povrch objektu je v místě, kde je intenzita pole rovna nule

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

Osvětlovací modely

Lambertův osvětlovací model

  • Empirický model
  • Počítá pouze s difuzí
  • Ideální difuze, půlkulový odraz do všech směrů
  • Intenzita difuze závisí na úhlu dopadu paprsku na povrch (kosínové pravidlo)

Phonguv model

  • Empirický model
  • K difuzi přidává reflexi
  • Ideální reflexe, odraz je symetrický podle normály
  • Intenzita reflexe závisí na směru odrazu a směru k pozorovateli
  • Ambientní složka světla IA, světelný šum, rozptýlené světelné pozadí

BRDF

  • Fyzikálně založený model
  • Realistické zobrazení (Ray-tracing)
  • Specializace na jednotlivé efekty nebo materiály
  • Výpočetnˇe náročnější

Stínování

Flat shading

  • Pro každý polygon se osvětlovacím modelem vyhodnotí středový pixel
  • Celý polygon má pak konstantní barvu
  • Nezohledňuje se zakřivení povrchu objektů

Goraud shading

  • Pro polygony se osvětlovacím modelem vyhodnotí pixely ve vrcholech
  • Při rasterizaci polygonu probíhá interpolace barvy
  • Zohledňuje se zakřivení povrchu objektů

Phong shading

  • Při rasterizaci probíhá interpolace normál z vrcholů
  • Osvětlovací model se počítá pro každý pixel
  • Zohledňuje se zakřivení povrchu objektů
  • Velmi kvalitní výsledky, realistické zobrazení

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
12
Celé jménoOK!!!
Jirka Hynek2011-04-27 09:43:29 
 1

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.1303740418.txt.gz · Poslední úprava: 2011/04/25 16:06 (upraveno mimo DokuWiki)
Recent changes RSS feed Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki