Download
3d obrezovanje n.
Skip this Video
Loading SlideShow in 5 Seconds..
3D obrezovanje PowerPoint Presentation
Download Presentation
3D obrezovanje

3D obrezovanje

192 Views Download Presentation
Download Presentation

3D obrezovanje

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. 3D obrezovanje 3D Clipping view frustrum clipping planes clipped

  2. 3D projekcije in obrezovanje • Paralelna projekcija: vidni volumen je kvader • Perspektivna projekcija: vidni volumen (frustrum) je prirezana piramida • Obrezovanje: • Podane imamo koordinate primitivov (črt, poligonov, krogov, elips ipd) • Določiti moramo vidne komponente primitivov (na primer črt) • Metode: • Reševanje sistemov enačb (hitro izločanje, preverjanje končnih točk) • Reševanje parametričnih enačb • Cilj: učinkovitost (čimmanj operacij s plavajočo vejico) • Obrezovanje v 3D prostoru • Nekatere 2D algoritme lahko razširimo v 3D • Potrebujemo specifikacijo in implementacijo vidnih volumnov

  3. Paralelni kuboid in volumen gledanja

  4. 3D Obrezovanje (clipping) levo Zadnja ravnina obrezovanja. Prednja ravnina obrezovanja Računati moramo presečišča s 6 ploskvami desno • Pri ortografskih projekcijah je volumen gledanja kvader. • Pri perspektivni projekciji je volumen gledanja prisekana piramida (frustrum).

  5. 3D obrezovanje poligonov Zadošča, da poligon obrezujemo glede na piramido gledanja

  6. Kanoničen (normalen) volumen gledanja Y axis +1 y=-z Zadnja ravnina obrezovanja Prednja ravnina obrezovanja z=-1 -Z -1 3-D razširitev 2-D algoritma Cohen-Sutherland, 6 bitna koda. Bit je true (1), če velja: Bit 1 – točka je nad vidnim volumnom y > -z Bit 2 - točka je pod vidnim volumnom y < z Bit 3 - točka je desno od volumna x > -z Bit 4 - točka je levo od volumna x < z Bit 5 - točka jeza vidnim volumnom z < -1 Bit 6 - točka je pred vidnim volumnom z > zmin y=z -1

  7. 3D obrezovanje • Uporabimo lahko algoritem Cohen-Sutherland. • Sedaj 6-bitna koda. • Trivijalno sprejmemo, če sta kodi obeh končnih točk enaki 000000. • Izvedemo logični AND:zavrnemo, če različen od 0. • Poiščemo presečišča z omejujočo ravnino in dodamo obe novi črti v seznam črt.

  8. 3D obrezovanje poligonov • na 3D razširimo algoritemSutherland-Hodgman. • Proceduro ‘CLIP’ kličemo 6 krat namesto 4 krat Demo

  9. Algoritem Sutherland-Hodgman Znotraj Izven Znotraj Izven Znotraj Izven Znotraj Izven Najprej dodamo presečišče Dodamo Verteks Dodamo presečišče Nato dodamo še verteks Nič ne dodamo. 4 primeri obrezovanja poligonov (kaj dodajamo v izhodni seznam): Primer 1 Primer 2. Primer 3 Primer 4

  10. Zakaj obrezujemo glede na prednjo in zadnjo ravnino?

  11. Obrezovanje glede na ploskve piramide

  12. Enačbe ploskev piramide gledanja