Toto je starší verze dokumentu!
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
pravotočivá - normální, co používáme
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í:
x = X/w
y = Y/w
z = Z/w.
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
Posunutí
Změna velikosti
Rotace
Zkosení
Kombinace
Reprezentace 3D objektů
Konstruktivní geometrie - CSG
objekt je popsán stromem ze:
3D primitiv (listy stromu)
transformací (zvětšení, otočení, atd… 3D primitiv)
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í
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
pohyb po přímce (obrázek)
potahování s proměnlivou profilovou křivkou
posun po obecné křivce
rotační - NURBS křivky
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:
3D pole diskrétních hodnot - rychlý přístup, ale paměťově náročné
oktalový strom - vhodné pro malou hustotu dat - rekurzivní dělení
subvoxely - kombinace dvou předchozích
vykreslení pomocí Marching cubes
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)
drátový model
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í
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

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
_ 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
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
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
Stínování
Flat shading
Goraud shading
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éno | OK | !!! |
Jirka Hynek |  | |
| 1 | |
Diskuze
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
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
http://www.netgraphics.sk/transformacie-v-rovine-a-priestore
http://www.uiam.mtf.stuba.sk/predmety/gms/studijne_texty/GMSL3-09.pdf
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