35
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

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

  • Upload
    whitley

  • View
    24

  • Download
    0

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Page 1: 4.4. Láthatóság - takarás

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

Page 2: 4.4. Láthatóság - takarás

09-06-03 2

Page 3: 4.4. Láthatóság - takarás

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

Page 4: 4.4. Láthatóság - takará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

Page 5: 4.4. Láthatóság - takarás

5

Láthatóság – takarás (3D)

Mi van takarásban, mi látszik?

Page 6: 4.4. Láthatóság - takarás

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

Page 7: 4.4. Láthatóság - takarás

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)

Page 8: 4.4. Láthatóság - takarás

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ő

Page 9: 4.4. Láthatóság - takarás

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

Page 10: 4.4. Láthatóság - takarás

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

Page 11: 4.4. Láthatóság - takarás

09-06-03

Módszerek: . . .

Page 12: 4.4. Láthatóság - takarás

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 nQ külső normális szöge:

v nQ < 0 : a PQ lap előre néz

• u = CS vetítősugár és az nS kü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)

Page 13: 4.4. Láthatóság - takarás

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!

Page 14: 4.4. Láthatóság - takarás

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

Page 15: 4.4. Láthatóság - takarás

09-06-03

3. A Z-puffer eljárás

Gyakran használják, hardverben is

Az NPKR téglábana 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ábanaz ott látható felület-elemet (és annak színét).

Az eredmény egy pufferban keletkezik 15

Page 16: 4.4. Láthatóság - takarás

16

Page 17: 4.4. Láthatóság - takarás

09-06-03

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

Page 18: 4.4. Láthatóság - takarás

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) // 2if 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

Page 19: 4.4. Láthatóság - takarás

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 zmin szerint növekvőenha 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 )

Page 20: 4.4. Láthatóság - takarás

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

Page 21: 4.4. Láthatóság - takarás

09-06-03

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

Page 22: 4.4. Láthatóság - takarás

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 szakasztaz L lap

eltakarhatja, földarabolhatjas 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

Page 23: 4.4. Láthatóság - takarás

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

Page 24: 4.4. Láthatóság - takarás

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)

Page 25: 4.4. Láthatóság - takarás

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

Page 26: 4.4. Láthatóság - takarás

09-06-03

Page 27: 4.4. Láthatóság - takarás

27

Lapok elrendezése mélységben

• A lapok rendezésezmin 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

Page 28: 4.4. Láthatóság - takarás

28

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”

Page 29: 4.4. Láthatóság - takarás

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

Page 30: 4.4. Láthatóság - takarás

30

Page 31: 4.4. Láthatóság - takarás

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

Page 32: 4.4. Láthatóság - takarás

32

Page 33: 4.4. Láthatóság - takarás

33

BSP-fa

• Binary sub-partition

• A felület-halmazhozigazí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

Page 34: 4.4. Láthatóság - takarás

34

Page 35: 4.4. Láthatóság - takarás

09-06-03 35