Problem vizualizacije objekata
se javlja kada želimo prikazati 3D objekt opisan implicitnom funkcijom,
odnosno funkcijom raspršenog skupa točaka. 3D objekt opisan implicitnom
funkcijom nije direktno određen točkama, te je zbog toga nepogodan
za prikaz. Kada bi htjeli prikazati takav objekt, morali bi odrediti
vrijednost svake točke u prostoru. Površina određena implicitnom
funkcijom prolazi tamo gdje točke poprimaju vrijednost 0.
Za prikaz implicitnih površina
koriste se:
1. algoritmi za poligonizaciju
2. algoritmi za direktno iscrtavanje praćenjem zrake svjetlosti(engl.
ray- tracing)
Obje metode su relativno spore
i nisu pogodne za iscrtavanje površina u realnom vremenu. Postoje
određeni postupci koji aproksimiraju površinu i omogućuju prikaz
u realnom vremenu, ali najčešće se ipak mora postići kompromis između
kvalitete i brzine prikaza.
Koristeći postupak poligonizacije,implicitna
površina se aproksimira manjim ili većim brojem poligona.
Poligonizacija se izvršavaju u
2 osnovna koraka:
1. Prostor se podijeli na prostorne
ćelije (kocke), a vrijednost funkcije se izračuna za svaki kut u
ćeliji. Ako je vrijednost pozitivna, kut se nalazi izvan površine,
a ako je negativna, unutar površine.
2. Na mjestima gdje se križaju ćelije i površina određena funkcijom
generiraju se poligoni. To su mjesta gdje ćelije sadrže i pozitivne
i negativne vrijednosti kutova.
Najpoznatiji primjer algoritma
za poligonizaciju implicitnih funkcija je "Marching cubes".
Isctavanje praćenjem zrake svjetlosti
je postupak koji simulira prolazak svjetlosne zrake kroz prostor,
osvjetljavajući objekte na putu. Daje vrlo realistične i precizne
slike objekata. Koristeći ovaj postupak, implicitna površina neće
biti aproksimirana.
|