6. A 3D grafika alapjai 6.1. A 3D szerelőszalag fölépítése

Slides:



Advertisements
Hasonló előadás
OpenGL 2. gyakorlat Hapák József
Advertisements

Lencsék és tükrök képalkotásai
ALAKZATOK TRANSZFORMÁCIÓJA ÚJ KÉPSÍKOK BEVEZETÉSÉVEL
Árnyalás – a felületi pontok színe A tárgyak felületi pontjainak színezése A fényviszonyok szerint.
Koordináta transzformációk
Koordináta transzformációk
2D képszintézis Szirmay-Kalos László.
Geometriai Transzformációk
Geometriai transzformációk
Inkrementális 3D képszintézis
2D képszintézis Szirmay-Kalos László. Számítógépes grafika feladata képszintézis Virtuális világ modell modellezés Metafórák: 2D rajzolás világ = sík.
Számítógépes grafika Szirmay-Kalos László
Poliéderek térfogata 3. modul.
A vetítések geometriája
Számítógépes grafika, PPKE-ITK, Benedek Csaba, D képszintézis 4. előadás.
3. Vetületi ábrázolások számítási eljárásai
P z : egy „elemi” projektív transzformáció M = ( m m m m ); P z = ( ) | m m m m | | | | m m m m | | | ( p p p p ) ( 0 0 r 1 ) az.
2. Koordináta-rendszerek és transzformációk 2.1. Koordináta-rendszerek 2.2. Az egyenes és a sík egyenlete 2.3. Affin transzformációk 2.4. Projektív transzformációk.
2D képszintézis és textúrák
Koordináta-geometria
3.3. Axonometrikus ábrázolások Rövid áttekintés
Bevezetés: a Számítógépi grafika tárgya (Szemelvények: amit tudni illik)
4.7. Textúra A felület anyagszerűsége Sík-képek ráborítása a felületre
6. A 3D grafika alapjai 6.1. A 3D szerelőszalag fölépítése
Bevezetés a Számítógépi grafikába - előadás
2. Koordináta-rendszerek és transzformációk
3.4. Perspektív ábrázolások
2. Koordináta-rendszerek és transzformációk
3. Vetületi ábrázolások számítási eljárásai
2008/2009 tavasz Klár Gergely  Gyakorlatok időpontjai: ◦ Szerda 10:05–11:35 ◦ Csütörtök 10:00+ε –11:30+ε  Gyakvez: ◦ Klár Gergely ◦
Fény terjedése.
MATEMATIKA GEOMETRIAI TRANSZFORMÁCIÓK: Egybevágósági transzformáció
16. Modul Egybevágóságok.
Vektorok különbsége e-x = [ex-xx ey-xy ez-xz] e e-x x szempozíció
2D képszintézis Szirmay-Kalos László.
Analitikus geometria gyorstalpaló
Transzformációk Szirmay-Kalos László. Transzformációk (x,y) (x’,y’) = T(x,y) l Tönkre tehetik az egyenletet l Korlátozzuk a transformációkat és az alakzatokat.
Inkrementális 3D képszintézis
Árnyalás – a felületi pontok színe A tárgyak felületi pontjainak színezése A fényviszonyok szerint.
4.4. Láthatóság - takarás A látványban takart részek elhagyása vagy a látható részek kiválasztása.
4.6. A Fénysugár-követés módszere (ray-tracing) Mi látható a képernyőn, egy-egy képpontban ? (4.4.LÁTHATÓSÁG) A képponton át a szembe jutó fénysugár melyik.
3. Vetületi ábrázolások számítási eljárásai
Geometriai transzformációk
Árnyalás – a felületi pontok színe A tárgyak felületi pontjainak színezése A fényviszonyok szerint.
Bevezetés: a Számítógépi grafika tárgya (Szemelvények: amit tudni illik)
2.2. Az egyenes és a sík egyenlete
2. Koordináta-rendszerek és transzformációk
Bevezetés a számítógépi grafikába 2. Paraméteres görbék Paraméteres görbe: 2D-ben: paraméter: általában: kikötések: legyen folytonos legyen folytonosan.
Raszter-konverzió A képelem látványát alkotó képpontok előállítása Egyenes szakasz képpontjai Sokszög lemez kitöltése.
4. A grafikus szerelőszalag - áttekintés 4.0. Bevezetés.
Máté: Orvosi képfeldolgozás12. előadás1 Három dimenziós adatok megjelenítése Metszeti képek transzverzális, frontális, szagittális, ferde. Felület síkba.
ALAKZATOK TRANSZFORMÁCIÓJA ÚJ KÉPSÍKOK BEVEZETÉSÉVEL
4.6. A Fénysugár-követés módszere (ray-tracing) Mi látható a képernyőn, egy-egy képpontjában ? És az ott milyen színű ? (4.7. Árnyalás)
A számítógépes grafika alapjai, PPKE-ITK, Benedek Csaba, 2010 Tanagyag forrás © Szirmay-Kalos László, BME A számítógépes grafika céljai és feladatai 1.
3.4. Perspektív ábrázolások
3.2. Axonometria – Műszaki rajzok párhuzamos vetítéssel
Hasonlóság modul Ismétlés.
Bevezetés a számítógépi grafikába
6. A 3D grafika alapjai 6.1. A 3D szerelőszalag fölépítése 6.2. Térbeli alakzatok képe 6.3. Térbeli képelemek és modell-adatszerkezetek 6.4. Képelemek.
Bevezetés a számítógépi grafikába 1.Bevezetés: A Számítógépi grafika tárgya 2.Képek kódolása 3.A geometrikus grafika alapjai 4.Koordináta-rendszerek és.
3D grafika összefoglalás
3D grafika összefoglalás
Készítette: Horváth Zoltán
6. A 3D grafika alapjai 6.1. A 3D szerelőszalag fölépítése
6. A 3D grafika alapjai 6.1. A 3D szerelőszalag fölépítése
Árnyalás - a képpontok színe.
Árnyékszerkesztés alapjai
6. A 3D grafika alapjai 6.1. A 3D szerelőszalag fölépítése
Bevezetés Tematika Számonkérés Irodalom
ELEMI GEOMETRIAI ISMERETEK
Előadás másolata:

6. A 3D grafika alapjai 6.1. A 3D szerelőszalag fölépítése 6.2. Térbeli alakzatok képe 6.3. Térbeli képelemek és modell-adatszerkezetek 6.4. Képelemek összeállítása, leképezés és vágás (6.1-6.4 jórészt a 3. fejezet megfelelő részeit idézik föl.) 6.5. Láthatóság, takarás 6.6. A fénysugár-követési módszer 6.7. Árnyalás, a képpontok színe 6.8. Irodalom 6.9. Egyebek

6.1.Bevezetés: a 3D grafikus szerelőszalag fölépítése AP, GM, GRASZ (pl. OpenGL) Szerelőszalag: alapműveletek sorozata - Képelemek összeállítása: - Leképezés a VKR-ből a KKR-be,. - Vágás: a kívül eső képrészek elhagyása. - Láthatóság-takarás. - Árnyalás és textúra. - Utókezelés: különböző módszerek az elkészült kép minőségének javítására. KR: VKR, SKR, TKR, SZKR, NPKR, KKR Gyorsítás: dobozolás, térfelosztás, rendezés, koherencia

6.2. Térbeli alakzatok képe Térbeli látás: tanult, két szemmel Fénykép, TV: „egy szemmel” – ezt is megtanultuk A térbeliség mozzanatai (depth-cues) - testek takarása - megvilágítás - árnyékok, a fény visszaverődése - a méretek látszólagos távolsági csökkenése - párhuzamosok látszólagos távolsági összetartása - levegő perspektíva: színeltolódás, kontúrok elmosódása - megszokott jelek (féknyomok az úton) - kinetikus mélységhatás: a távolabbi lassabban mozog Ezeket utánozzuk; mennél jobban, annál drágábban

Emberi látás és a képernyő Látómezőnk: 120x100 fok, ovális Képernyőnk (50 cm-re): 40x30 fok tájkép: egy szűk ablakon át nézünk a világra A szem fölbontása: 1 szögperc A képernyő raszter-távolsága: 0,25 mm, 2 szögperc

6.3. Színterek geometrikus kódolása Leírónyelv (eseti teszt-leírás, vagy pl. VRML) teszt-adatok, archiválás, adatcsere Adatszerkezet (eseti, vagy GMR) dinamikus építés dinamikus elhalás Poligon: különböző méretű cellák poligon: n, Pi, n, ni, doboz, P,Q,R, … GRASZ-hívások sorozata (pl. OpenGL)

A képet meghatározó adatok A testek geometriája és a felületek anyaga (színe) Nézet (kamera) Megvilágítás (fényforrások) Időbeli változások

Térbeli „képelemek” 2 helyett 3 koordináta háromszög-sáv négyszögháló

A szerelőszalag fölépítése és műveletei ·    Alkalmazási Program, Geometriai Model GRAfikus alapSZoftver: rajzolás alapműveletek sorozata: szerelőszalag képelemek előkészítése a VKR-ben · leképezés a tárgytérből a képtérbe, · képkivágás; a képkereten kívüli képrészek elhagyása · láthatóság-takarás: takart elemek elhagyása (3D) · raszter-konverzió: a képpontok színe (képpont-puffer)

A szerelőszalag műveletei 1. Képelemek előkészítése geometriai elemből képelem(ek), elhelyezés a VKR-ben 2. Leképezés a VKR-ből a KKR-be 3. Képkivágás a kereten kívüli részek elhagyása 4. Láthatóság-takarás a takart elemek elhagyása (főleg 3D-ben) 5. Raszter-konverzió az elemet szemléltető képpontok előállítása, a képpontok színe, a képpont a KPP-be

6.4. Szesza 1: Képelemek összeállítása SKR -> VKR - hasonlósági transzformáció: TSR - összetett tárgyak hierarchiája Geometriai elemekből képelemek

A képelemek előkészítése Rajzoláskor: az AP bejárja a geometriai modellt, kiválasztja az elemeket, és átadja a GRASZ-nak. A GRASZ egyenként átveszi az elemeket és ráteszi a szerelőszalagra A sze.-sza. első művelete: a képelemek előkészítése geometriai elem helyett képelem(ek) és a képelemek elhelyezése: SKR -> VKR (eltolás, forgatás, léptékezés)

K: kereszt alak, saját SKR-jében    H: háromszög alakú luk, saját SKR-jében K: kereszt alak, saját SKR-jében   K’: lukas kereszt SKR-jében: K’=K+SiNiH   S: sáv széleivel (V) és lukas keresztekkel: S = V + Sj MjK’ = V + Sj Mj( K + Si NiH )          Mj és Ni: transzformációk.

A szerelőszalag műveletei 1. Képelemek előkészítése 2. Leképezés 3. Képkivágás 4. Láthatóság-takarás 5. Raszter-konverzió

6.4. Szesza 2: Leképezés Középpontos- vagy párhuzamos vetítés Elvileg: VKR -> KKR Gyakran: VKR -> NPKR NPKR-ben láthatóság-takarás A fénysugár-követésnél: a képernyő rasztert vetítjük a SZKR-be és ott számolunk.

Leképezés a tárgytérből a képtérbe A tárgyak leképezése a tárgytérből a képtérbe Koordináta-transzformáció A pontok helyvektorának szorzása a leképezés mátrixával: P’ = M ·P

2D Leképezés: Nézetmező (keret), tárgytér: GsetWCSFrame(Kba,Kjf:Gpoint2); Képmező, képtér GsetSCSViewPort(Mba,Mjf:Gpixel); Leképezés: GmapWCStoSCS(P:Gpoint2; P1:Gpixel);

3D Leképezés: Párhuzamos, vagy középpontos vetítés VKR->KKR3 Nézetmező: csonkagúla  3D képmező: téglatest Kép: síkvetület a téglatest alapjára Előtte: takarások (láthatóság) a téglatestben (5-6. Fejezet)

A szerelőszalag műveletei 1. Képelemek előkészítése 2. Leképezés 3. Képkivágás 4. Láthatóság-takarás 5. Raszter-konverzió

6.4. Szesza 3: Vágás Nézetmező: csonkagúla: Cyrus-Beck-3D NPKR téglatest: Cohen-Sutherland-3D Mélységvágás: Közelsík és távolsík Oldalvágás: x-y-ban; síkbeli feladat

Képkivágás A kép keretén kívül eső képrészek elhagyása. Vágó-tartomány (mire, mivel vágunk?): téglalap (téglatest), vagy félsík (féltér) A vágott elemek (mit vágunk?): minden képelem típusra más-más vágó eljárás! Legtöbbször a képtérben, de lehet a tárgytérben is.

Normálvektoros szakasz vágás a síkban (a Cyrus-Beck eljárás) Adott: a PQ szakasz és egy félsík h határegyenese; R pontjával és n normálisával. Keressük a PQ szakasznak a félsíkba eső részét (PM)

sg(P) = n(P-R) (előjel!) Észrevétel: sg(P) > 0, ha P a félsíkban = 0, ha P a határon < 0, ha P kívül van. Ha sg(P) és sg(Q) >= 0: mindkettő belül, a szakasz „triviálisan látható” Ha sg(P) és sg(Q) < 0: mindkettő kívül, a szakasz „triviálisan eldobható” Különben: „vágni kell”: M = a h és PQ metszéspontja

Az M pont kiszámítása: Az M pont rajta van a határon: (M-R)n = 0, azaz: (mx - rx)nx + (my - ry)ny = 0 Az M rajta van a PQ szakaszon: M = P + t (Q - P), valamilyen t paraméterrel, azaz: mx = px + t (qx – px) és my = py + t (qy – py);. Három egyenlet, három ismeretlen: t, mx, my; megoldás mindig van (ha nem „triviális” a helyzet)

Megjegyzések: Tetszőleges konvex n-szögre: mindegyik határra, egymásután. Tengelyállású téglalapra: 4x a P és Q sarok kétszer-kétszer, az n vektor: (0,1), illetve (1,0) A térben: szakasz vágása féltérre; (M-R)n = 0 skalár-egyenlet és M = P + t (P – Q) három skalár-egyenletet ad. A térben is: téglatestre és tetszőleges konvex sokszöglapra (poliéderre) alkalmazható.

Cohen-Sutherland szakasz-vágás a síkban Adott: a PQ szakasz és Egy téglalap b, a, j, f (bal-alul-jobb-felül) határaival Keressük a PQ szakasz téglalapba eső részét.

A végpontok BAJF-kódja: BAJF(P)=1000, ha balra kívül, van 0110, ha alul és jobbra kinn 0000, ha belül van. Belül BAJF(P)=0 a sarkokban 2 bit 1-es, másutt 1 bit 1-es. BAJF(P) : négy összehasonlítás „Triviális vizsgálatok”: ha BAJF(P)=0 és BAJF(Q)=0: „triviálisan belül” ha BAJF(P) & BAJF(Q)  0 : „triviálisan eldobható” Különben „vágni” kell

Térbeli elemek vágása Normálvektoros vágás: féltér, téglatest, konvex soklap (poliéder) például: a nézetmező csonkagúlája (6. Fejezet) Cohen-Sutherland: téglatest, 27 mező, BAJFEH-kód Mélység-vágás: a Z tengelyre merőleges „közelsík” és „távolsík” Oldal-vágás: XY irányban; síkbeli vetületben

6.5.- … a Szesza folytatása Láthatóság-takarás; a képpontokban látható felület-elemek Árnyalás és textúra; a képpontok színe. Utókezelés: az elkészült kép minőségének javítására.