4. Rezultati rada
Danas je najčešće zastupljeno modeliranje pomoću NURBS površina. Postoji veliki broj programskih paketa za modeliranje koji koriste NURBS površine, a ovdje su nabrojeni samo neki od njih: Alias-Wavefront, SoftImage, 3D Studio Max, Maya i dr. Modeliranje pomoću NURBS površina je vrlo pogodno za izradu statičkih scena, međutim kod izrade animacija postoji problem spajanje NURBS površina u tzv. granajućim arhitekturama - primjer granajuće arhitekture je ljudsko tijelo, a problem nastaje na spojištu ruke i tijela, noge i tijela gdje je često potrebno ručno podešavati NURBS površine koje predstavljaju ruke, tijelo ili noge kako se ne bi pojavile pukotine u površini na mijestu spajanja. Samo spajanje i krpanje takvih površina često zahtjeva iskustvo i mnogo pokusiranja kako bi se dobio željenji rezultat. Nasuprot tome modeliranje pomoću površina dobivenih podjelom poligona nema takvih problema (omogućuje rad s proizvoljnom poligonalnom površinom) pa se vrlo često koristi u izradi animacija. Unatoč prednostima ovakvo modeliranje je još uvijek relativno slabo zastupljeno iako se stanje popravlja pa sve više programskih paketa osim NURBS modeliranja pružaju mogućnost modeliranja i pomoću površina nastalih podjelom poligona. Upravo zbog relativno slabe zastupljenosti veća pažnja je poklonjena površinama nastalim podjelom poligona, pa su prije navedene tri sheme i programski realizirane. Kako su NURBS površine podržane od samog OpenGL-a ove površine nisu predstavljale neki izazov pa i nisu realizirane programski iako bi bilo dobro usporediti dobivene površine nastale pomoću oba pristupa.
Na sljedećoj slici prikazana je površina nastala nakon tri koraka podjele pomoću Catmull-Clark, Loop i modificirane Butterfly sheme. Krajnje lijevo prikazana je kontrolna mreža poligona (tetraedar).
Slika 6. Tri koraka podjele poligona primjenom Catmull-Clark, Loop i mod. Butterfly sheme
Na slici 6 vidi se i osnovna razlika između aproksimativnih (Catmull-Clark i Loop shema - slike na sredini) i interpolacijske sheme (modificirana Butterfly shema - slika krajnje desno).
Na slijdećoj slici prikazan je uvečani dio modela kupidove glave nakon primjene svake od shema. Krajnje lijevo nalazi se originalna kontrolna mreža poligona, a idući od lijeva prema desno nalaze se površine nakon primjene dva koraka podjele Catmull-Clark, Loop i modificirane Butterfly sheme.
Slika 7. Usporedba shema podjele poligona
Na temelju slike 7 može se zaključiti da najbolji rezultat daje Loop shema podjele poligona, nešto slabiji rezultat daje Catmull-Clark shema dok najlošiji rezultat modificirana Butterfly shema. Relativno lošiji rezultat modificirane Butterfly sheme može se objasniti činjenicom da se radi o interpolacijskoj shemi - dakle, kontrolni vrhovi uvijek leže na površini nastaloj podjelom poligona. Ova shema slabije uglađuje neravnine i oštre bridove, ali olakšava vizualizaciju konačne površine na temelju kontrolne mreže poligona.
Provedeno je i mjerenje brzine pojedine realizacije sheme. Sama brzina realizacije sheme prvenstveno ovisi o algoritmu pomoću kojeg su realizirana pravila dotične sheme. Vrijedi pravilo: što je izračunska maska manja i jednostavnija to je i algoritam jednostavnije izraditi. Najbolji pokazatelj brzine pojedine realizacije je vrijeme potrebno za generiranje jednog poligona. Ovo vrijeme se jednostavno može izraziti kao omjer ukupnog vremena jednog koraka podjele i ukupnog broja poligona koji nastaju tom prilikom. Za ispitni objekt uzet je lik koji se sastoji od 48 vrhova u 56 četverokutnih poligona (tj. 102 trokutnih poligona - za trokutne sheme objekt se mora sastojati od trokutnih poligona). Ispitni objekt prikazan je na slijedećoj slici:
Slika 8. Ispitni objekt (48 vrhova i 56 poligona)
Mijerenje je provedeno u četiri koraka. Na slijedećoj tablici prikazana je usporedba Catmull-Clark i Loop realizacije sheme podjele poligona.Tablica 1. Usporedba Catmull-Clark i Loop realizacije
Vidljivo je da vrijeme generiranja novog poligona pada s svakim korakom podjele što se može objasniti činjenicom da u svakom koraku postoji konstantan utrošak vremena (primjerice rezerviranje potrebne memorije). U posebnoj tablici prikazani su rezultati za modificiranu Butterfly shemu:
Tablica 2. Rezultati modificirane Butterfly sheme
Eksponencijalni rast vremena generiranja poligona u slučaju modificirane Butterfly sheme posljedica je loše realizacije - vrlo je teško napraviti da se svi vrhovi pronađu u samo jednom prolazu kroz listu svih poligona zbog relativno velike izračunske maske, pa se u ovom slučaju koriste višestruki prolazi kroz listu poligona, a kako broj poligona sa svakim korakom eksponencijalno raste tako raste i vrijeme generiranja.
Slijedeća slika prikazuje dobivene površine nakon primjene tri koraka podjele Catmull-Clark, Loop i modificirane Butterfly sheme na ispitni objekt sa slike 8:
Slika 9. Dobivena površina nakon tri koraka podijele Catmull-Clark, Loop i modificiranom Butterfly shemom
Objekti sa slike 9 sadrže 3576 vrhova u 3684 poligona za Catmull-Clark podjelu, odnosno 3576 vrhova u 7168 poligona za Loop i modificiranu Butterfly podjelu.
Program može poslužiti tek za usporedbu pojedinih shema - za ozbiljniju namjenu potrebno bi bilo omogučiti rad s otvorenim površinama (program je ograničen samo na zatvorene tipove površina), omogućiti automatsko postavljanje tekstura (što je vrlo zahtjevan posao), uvesti definiranje rubova na kojima se ne želi provesti uglađivanje čime je moguće modelirati i oštre rubove te konačno povećati brzinu algoritama (osobito modificirane Butterfly sheme).