10.07.2015 Views

Računarska grafika

Računarska grafika

Računarska grafika

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

23. Algoritmi isijecanja<strong>Računarska</strong><strong>grafika</strong>• Isijecanje poligona• Algoritam Sutherland-Hodgeman (1974)• Algoritam Weiler-Atherton (1977)predavanjadoc.dr. Samir Lemešslemes@mf.unze.baIsijecanje poligona• Isijecanje se koristi za uklanjanje dijelovapoligona koji su izvan prozora isijecanja.• Rezultat isijecanja:• mora definisati i nove ivicei• rezultat mora biti zatvoren poligonPoligon koji se isijecaIsijecanje poligona• Isijecanjem poligona može nastati višenovih poligona.ProzorisijecanjaPoligon koji se isijecaProzorisijecanjaRezultat isijecanjaRezultujući poligoniStruktura podatakamora omogućiti nastajanjeviše novih poligonaIsijecanje poligona• Isijecanje poligona se koristi i za renderisanje3D slika uklanjanjem zaklonjenih površina iza izradu preciznih detalja o površinama.• Isijecanje poligona se koristii za distribuciju objekata usceni po procesorima kodvišeprocesorskih sistemakako bi se povećala brzinarenderisanja slike.Isijecanje poligona• Kod renderisanja složenih slika, isijecanje sevrši hiljadama puta i zato je efikasnost ovihpotprograma jako važna.• Za postizanje dobrih rezultata, većinakomercijalnih proizvoda koristepojednostavljene algoritme koji mogu isijecatisamo pravilne (npr. konveksne) poligone.• Sve su češći zahtjevi za složenimmodeliranjem: isijecanje konkavnih ilipoligona koji sami sebe presijecaju.1


Isijecanje poligona• Postoji nekoliko poznatih algoritama zaisijecanje poligona.• Najstariji (1974) je Sutherland-Hodgman, iefikasan je u slučajevima kad je poligonkompletan unutar ili izvan granica.• Algoritam Liang-Barsky (1983) je složeniji, alije u nekim slučajevima potrebno proračunatimanje tačaka presjeka, čime dobija na brzini.• Algoritam Weiler (1977) je najsloženiji ikoristi se za ne-pravougle prozore isijecanja.Isijecanje poligona• Algoritmi za isijecanje linija nisu primjenjiviza poligone jer se gube informacije oispunjenim dijelovima poligonaAlgoritam Sutherland-HodgemanAlgoritam Sutherland-Hodgeman• Zasniva se slanju para krajnjih tačakasvakog pravolinijskog segmenta krozseriju linija odsijecanja (gornja, donja,lijeva, desna).• Postoje četiri moguća slučaja kad trebaodrediti odnosstranice poligonai granične linijeisijecanja.Snimi KOdbaci KKKSIzračunaj i snimi PSKPIzračunaj i snimi P i KS PKSAlgoritam Sutherland-HodgemanAlgoritam Sutherland-HodgemanPrva ivicaDruga ivica2


Algoritam Sutherland-HodgemanAlgoritam Sutherland-HodgemanČetvrta ivicaTreća ivicaAlgoritam Weiler-AthertonAlgoritam Weiler-Atherton• Problem koji usporava algoritamSutherland-Hodgeman su konkavni oblici.• Algoritam Weiler-Atherton kruži po obimupoligona tražećigranične linijekoje su blizuisječenogispunjenogregiona.Algoritam Weiler-Atherton• Ovaj algoritam zahtijeva da se ivicepoligona ne sijeku.• Algoritam može izračunati i otvore upoligonima (koji su u potpunosti unutarvanjskog poligona), ali to zahtijevadodatne algoritme kako bi se odredilo kojipoligon predstavlja otvor.• Varijantama algoritma može se izvršiti ispajanje dva poligona isijecanjem.Algoritam Weiler-Atherton• Dva niza se kreiraju od koordinata poligonaA i B (poligon A predstavlja prozor isijecanjapoligona B).• Članovi niza se označavajukao unutrašnji ilikao vanjski članovi.• Zatim se pronalaze sve tačke presjeka idodaju se u oba niza, pri čemu se nizovipovezuju u tačkama presjecima.3

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!