1 / 35

4.4. Láthatóság - takarás

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. 2. A szerelőszalag műveletei. 0. Geometriai modell 1. „E lő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.

whitley
Download Presentation

4.4. Láthatóság - takarás

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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

  2. 2

  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ás5. Raszter-konverzió6. Utókezelés

  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. Láthatóság – takarás (3D) • Mi van takarásban, mi látszik?

  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. 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. Képtér-módszerek: • A projektív transzformáció után:a nézetmező: téglatesta vetítő sugarak párhuzamosaktá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. 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. 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. 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 aznQkülső normális szöge: vnQ < 0 : a PQ lap előre néz • u = CS vetítősugár és az nSkülső normális szöge:unS > 0: az SR lap hátra néz • ! Figyelem: a PT lap hátranéz! • Pi -1 Pi Pi+1 külső normálisa:n = Pi-1Pi Pi+1Pi (CCLW)

  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 nz pozitív!

  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. 3. 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. 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 ≤ymaxAdatszerkezet: FP[ p ]: a p-ben látható sokszög (ptr) ZP[ p ]: ennek távolsága Kezdeti értékek:ZP[ p ] = zmax (atégla hátlapja)FP[ p ] = a háttér (függöny) 17

  17. A Z-puffer eljárás (f) foreach lap inLapListadoforeachpinlap-vetületedobegin// 1z :=lap-síkja (p-ben)// 2if z < ZP[ p ] thenbegin// ez közelebb van! FP[ p ] := a lap-ra mutató; // az itt láthatóZP[ p ] := z;// ilyen messzeend {if};end {foreach p és foreach lap}; {1}: a lap XYvetü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

  18. 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 zminszerint növekvően ha a következő lap zmin-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 )

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

  20. 4. 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

  21. Drótvázas kép, takart élek (olv) • foreach él Edobegin// az élek-listájánE látható-szakaszok; // az E látható szakaszaiforeach lap Ldobegin // a lapok-listájánforeach szakasz Sin 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 szakaszokend; // foreach L lap láthatók := láthatók + látható-szakaszok; // lista beolvasztásaend; // foreach E él

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

  23. 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)

  24. 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.)

  25. Lapok elrendezése mélységben • A lapok rendezése zmin szerint • Ha ZP[p] < zmin 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

  26. Térfelosztási módszerek • A lapok rendezése (zmin 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”

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

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

  29. 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 sorrendminden nézetirányban

  30. 35

More Related