Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

1 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.

Hasonló előadás


Az előadások a következő témára: "1 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."— Előadás másolata:

1 Láthatóság - takarás A látványban takart részek elhagyása vagy a látható részek kiválasztása

2

3 3 A szerelőszalag műveletei 0. Geometriai modell 1. „Előkészítés” 2. Leképezés: 3. Képkivágás: 4. Láthatóság-takarás 5. Raszter-konverzió 6. Utókezelés

4 4 2D: a kép rétegei Képelemek elrendezése rétegekben a rétegek sorrendje – mélység, prioritás Fedés vagy átlátszóság Térképek: hegyek és alföldek, folyók, városok, stb Animációs filmek: változatlan háttér előtt változó alakok

5 5 Láthatóság – takarás (3D) Mi van takarásban, mi látszik?

6 6 3D: Láthatóság-takarás HLHSR: Hidden Line – Hidden Surface Árnyalt képek: minden képpontban a látható felületelem kiválasztása Vonalas (drótváz-) ábrák: takart vonalrészek eltávolítása Időben, és tárolóban drága: kölcsönös takarások

7 7 Tárgytér-módszerek: Tárgytér: valódi távolságok és szögek ( normál-vektor! ) SzKR (kamera) Nézetmező: csonkagúla Közel-sík – távol-sík: mélységvágás Oldalvágás (2D)

8 8 Képtér-módszerek: A projektív transzformáció után: a nézetmező: téglatest a vetítő sugarak párhuzamosak távolságok és szögek torzulása de marad: a függőleges síkok állása a Z szerinti sorrend (a közel-sík előtt) a „hátranézők” képe hátranéző

9 9 Láthatóság, takarás A vetítés irányából nézve látható / takart elemek Drótváz: takart vonalak, vonal darabok eltávolítása Árnyalt kép: egy képpontban látható felület-elem A tárgytér csonka-gúlájában, vagy Az NPKR téglában Időben, és / vagy tárolóban drága: minden lap takarhat minden (más) lapot

10 10 Helyzetelemzés Több darabra széteshet, akár többször is Három sokszög kölcsönösen takarhatja egymást Két konkáv sokszög kölcsönösen takarhatja egymást

11 Módszerek:...

12 12 1. A hátsó lapok eldobása (egyelés) A nézőtől elforduló lapok kiszűrése; kb. 50% v = CQ vetítősugár és az n Q külső normális szöge: v  n Q < 0 : a PQ lap előre néz u = CS vetítősugár és az n S külső normális szöge: u  n S > 0: az SR lap hátra néz ! Figyelem: a PT lap hátranéz ! P i -1 P i P i+1 külső normálisa: n = P i-1 P i  P i+1 P i (CCLW)

13 13 A hátsó lapok eltávolítása (egyelés) A projektív transzformáció elrontja a szögeket; de SZKR  NPKR a függőleges síkokat így hagyja ! Az előre-, hátranéző lapok az NPKR téglában is ilyenek! Egy normálvektor hátranéz, ha n z pozitív!

14 14 2. A „festő algoritmusa” A képelemeket z szerint csökkenő sorrendbe rendezzük. Először a legtávolabbi képelemet festjük Majd előre haladva sorban A mélységben átfedő elemeket előbb föl kell darabolni (Részletek az irodalomban.)

15 A Z-puffer eljárás Gyakran használják, hardverben is Az NPKR téglában a vetületi kép: XY vetület, a vetítősugarak képe párhuzamos, távolság: növekvő Z Az XY keretben kijelöljük a képpontokat Keressük az XY sík minden P = (x, y) képpontjában az ott látható felület-elemet (és annak színét). Az eredmény egy pufferban keletkezik 15

16 16

17 A Z-puffer eljárás Paramétere: LL, a lapok listája az NPKR-ben, vágás után Minden képpontra: p = { x, y }, 0 ≤ x ≤ xmax, 0 ≤ y ≤ ymax Adatszerkezet: FP[ p ]: a p-ben látható sokszög (ptr) ZP[ p ]: ennek távolsága Kezdeti értékek: ZP[ p ] = zmax (a tégla hátlapja) FP[ p ] = a háttér (függöny) 17

18 A Z-puffer eljárás (f) foreach lap in LapLista do foreach p in lap-vetülete do begin // 1 z := lap-síkja (p-ben) // 2 if z < ZP[ p ] then begin // ez közelebb van! FP[ p ] := a lap-ra mutató; // az itt látható ZP[ p ] := z; // ilyen messze end {if}; end {foreach p és foreach lap}; {1}: a lap XY vetületében ? Előbb: az XY-dobozában? és ha igen: a lap-ban (a sokszögben) ? {2} z interpolációja az élek mentén y szerint adott y mellett x szerint (  x = c) 18

19 19 A Z-puffer eljárás (f) - gyorsítások Soká tart! – gyorsítások kellenek A lapok befoglaló XY-dobozán belüli képpontok A lapok rendezése z min szerint növekvően ha a következő lap z min -je > ZP[ p ] akkor nem kell folytatni !!! Mozgó testek, vagy mozgó kamera: újra rendezni De statikus háttérnek lehet külön ZP-je. Térfelosztás; Nyolcas-fa, kd-fa, BSP-fa Hardverben is. ( ≥ 4 MB tárolóval )

20 20 A Z-puffer eljárás (f) – „kifordítva?”-olv minden p do // minden képpontra begin minden lap a Lapok Listáján do begin ZP[p] := a legközelebbi lap z-je end; // minden lap end // minden képpontra

21 Drótvázas kép, takart élek Paraméter: lapok listája, élek listája Adatszerkezet: „szakaszok” listája: az élek több szakaszra eshetnek szét Eredmény: látható szakaszok listája (kezd: NIL) 21

22 22 Drótvázas kép, takart élek (olv) foreach él E do begin // az élek-listáján E  látható-szakaszok; // az E látható szakaszai foreach lap L do begin // a lapok-listáján foreach szakasz S in látható-szakaszok do az S szakaszt az L lap eltakarhatja, földarabolhatja s ha igen: S helyettesítése látható-szakasz-okra end // foreach szakaszok end; // foreach L lap láthatók := láthatók + látható-szakaszok; // lista beolvasztása end; // foreach E él

23 23 Drótvázas kép, takart élek (olv) Az E él rákerül a szakaszok listára és itt darabolhatja a többi lap A takarás: XY vetületben. S és L doboza átfedi-e egymást Két szakasz metszéspontja: X = A + t · (B - A) X = C + s · (D - C); 0 ≤ s, t ≤ 1 ? {3} z dönti el, hogy melyik van előbbre konvex lap egy szakaszból 0,1,2 látható darabot hagy És nézzük, hogy a többi lap mit csinál a szakaszokkal

24 24 5. Kétváltozós függvény képének láthatósága Párhuzamos vetítés „Kartonok” Festés hátulról előre; (a festők algoritmusa)

25 25 Kétváltozós függvény képének láthatósága Torz négyszögháló Átlókkal háromszögekre Két karton között: háromszög-sáv Festés sávonként; hátulról előre (Folytonos árnyalás; később.)

26

27 27 Lapok elrendezése mélységben A lapok rendezése z min szerint Ha ZP[p] < z min akkor a többi lap már nem kell átlag 10 –szeres gyorsítás Előtér-háttér; ha csak az előtér változik

28 28 Térfelosztási módszerek A lapok rendezése (z min szerint) átlagosan 10 –szeres gyorsítás De a színtér változása elrontja a rendezést! (színtér: lapok és a kamera helyzete, állása) A lapok elrendezése adatszerkezetbe –amely a színtér változásakor megmarad –és bejárása a láthatóságot (vagy mást) gyorsítja Előtér-háttér, nyolcasfa, kd-fa, BSP-fa „Átjárók”

29 29 Nyolcas-fa (oct-tree) A színtér egyenletes felosztása Felező síkok: x-y-z – x-y-z -... Minden „tégla” 8 ágra Az ágvégekben: csak egy lap (része) Az egyértelműt nem kell tovább felezni Vagy csak véges számú felosztás Bejárás egyeneseken: rendezett bejárás, szomszédos cellákon át

30 30

31 31 Kd-fa k-dimenziós felosztás (k-1 dim hiper)-síkokkal A színtér elemeihez igazodva „Kiegyensúlyozottság” egyenletes eloszlás a bejárás érdekében

32 32

33 33 BSP-fa Binary sub-partition A felület-halmazhoz igazítva Az osztósíkok: felületi síkok Nagy adatszerkezet; a fölépítés ideje ! Gyors bejárás: Láthatósági sorrend minden nézetirányban

34 34

35


Letölteni ppt "1 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."

Hasonló előadás


Google Hirdetések