Rezultati

Tehnike i postupci opisani u prethodnim poglavljima i primjenjeni u sklopu ovog rada direktno su inspirirani radom Wonke et al. Interactive Procedural Street Modeling. U tome radu sažeto se navode sve korištene tehnike i prateća matematička podloga samih postupaka, no detalji o implementaciji su u potpunosti nepostojeći. Tako je glavna ideja oko koje se formirao ovaj rad zapravo pokušaj što korektnije implementacije navedenih tehnika kako bi rezultati što je više moguće vizualno nalikovali uzoru.

No, kako to već bude, dostići svoj uzor nije se pokazalo nimalo lagano. Tako su mnogi aspekti originala ostali nerealizirani. Nadam se da ovaj rad, ako ništa drugo, uspijeva pokazati prednosti prikazanih tehnika, među kojima se posebno istiće korištenja tenzorskih polja za modeliranje urbanih scena.

Utjecaj parametara

Izraženo obilježje proceduralnih tehnika je velika ovisnost krajnjeg rezultata o vrijednostima ulaznih parametara. Prikazani postupak generiranja prometne mreže ovisi o raznim parametrima kao što su konstante udaljenosti $ d_{sep} $ i $ d_{connect} $, pozicije i brojnost početnih izvorišnih točaka $ p_s $, položaji i parametri elemenata tenzorskog polja, težinski koeficijenti tenzorskog polja itd.

Na slici 20 prikazan je utjecaj položaja početnih točaka na krajnji rezultat postupka izgradnje prometne mreže. Slika 20b pokazuje rezultat postupka generiranja cijelokupne prometne mreže nakon što je u odnosu na prethodni slučaj, prikazan slikom 20a, promijenjena pozicija samo jedne početne izvorišne točke, i to u dijelu grada južno od rijeke. Vidljivo je da dio grada sjeverno od rijeke ima identični izgled glavne prometne mreže u oba slučaja, dok je glavna prometna mreža južnog dijela grada vidljivo različita. Naravno, općeniti izgled prometne mreže ostao je isti i nakon promjene pozicije početne točke, što i je smisao postupka proceduralnog modeliranja korištenjem tenzorskih polja.

Slika 20:Utjecaj pozicija početnih rasadnih točaka
\includegraphics[width=0.7\textwidth]{streets-sp-1.eps}
(a) Rezultat postupka prije promjene pozicije početne izvorišne točke
\includegraphics[width=0.7\textwidth]{streets-sp-2.eps}
(b) Rezultat postupka nakon promjene pozicije početne izvorišne točke

Izgled lokalnih prometnica razlikuje se u oba dijela grada što je rezultat različitog poretka zatvorenih područja (kvartova) pronađenih u glavnoj prometnoj mreži. Budući da se ukupni izgled glavne prometne mreže razlikuje između dva slučaja, tako se razlikuje i ulaz u fazu detekcije gradskih kvartova. Pronađeni kvartovi sjevernog dijela grada izgledom su jednaki u oba slučaja, no njihov poredak nije. Ta razlika ne bi bila prisutna kada bi lista kvartova dana kao ulaz fazi generiranja lokalnih prometnica bila po nekom ključu poredana. Ovaj primjer pokazuje kako proceduralne tehnike na izrazito suptilan način mogu ovisiti i o najmanjim promjenama parametara postupka.

Slika 21 pokazuje utjecaj parametra separacije prometnica $ d_{sep} $ na krajnji rezultat. Slika 21b prikazuje rijeđu prometnu mrežu u odnosu na onu prikazanu slikom 21a. Ta razlika nastala je kao rezultat povećanja vrijednosti parametra $ d_{sep} $ sa iznosa 0.6 na 0.8. Uloga parametra $ d_{sep} $ navedena je u poglavlju 4.2 i prikazana je na slici 15c.

Važno je još jednom primjetiti da jednako kao kod promjene položaja početnih točaka, tako i kod promjene parametra $ d_{sep} $ (a i ostalih parametara postupka) općeniti izgled krajnjeg rezultata ostaje jednak. Ta činjenica jasno pokazuje prednost korištenja tenzorskog polja za navođenje algoritma polaganja prometnica.

Slika 21:Utjecaj parametra udaljenosti separacije
\includegraphics[width=0.7\textwidth]{streets-sp-1.eps}
(a) Rezultat postupka sa $ d_{sep} = 0.6 $
\includegraphics[width=0.7\textwidth]{streets-sep-2.eps}
(b) Rezultat postupka sa $ d_{sep} = 0.8 $

Vremenska složenost

Izražena ovisnost krajnjeg rezultata neke proceduralne tehnike o ulaznim podacima i parametrima samog postupka može ujedno biti i njezin najveći nedostatak. Upitna je iskoristivost tehnike na čiji rezultat je potrebno predugo čekati bez barem općenite ideje o njegovom izgledu.

Jedna od glavnih ideja postupka kojeg su u Interactive Procedural Street Modeling opisali Wonka et al. je integracija proceduralnog modeliranja sa korisničkom interakcijom [2]. Upravo zbog tog razloga naglasak je stavljen na interaktivnost samog postupka, tj. na interakciju korisnika sa samim proceduralnim procesom. Tako korisnik u svakom trenutku ima uvid u izgled krajnjeg rezultata. Kako bi taj pristup bio moguć sam proceduralni postupak mora se izvršavati dovoljno brzo - ako ne u potpunosti onda barem po svojim pojedinim fazama i ako ne u punom detalju onda barem dovoljno za približni prikaz rezultata.

Postupak naveden u prethodnim poglavljima može se podijeliti u zasebne faze, kao što je opisano u poglavlju 1.4. Faza generacije prometne mreže nalazi se na drugom mjestu po vremenskoj složenosti. Njena vremenska zahtjevnost najviše ovisi o rezoluciji praćenja hiperlinija toka i koraku numeričke integracije. Prosječno vrijeme izgradnje glavne prometne mreže kreće se oko 5 sekundi, dok je za cijelokupnu prometnu mrežu potrebno ne više od 40 sekundi. Za potrebe vizualizacije prometna mreža može se iscrtati smanjenom rezolucijom, što može znatno smanjiti potrebno vrijeme.

Vremenskom složenosti dominira postupak pronalaženja zatvorenih područja unutar prometne mreže koji se primjenjuje u fazama stvaranja kvartova i blokova. Tablica 1 navodi nekoliko primjera trajanja postupka.


Tablica 1: Trajanje postupka detekcije ciklusa
Broj vrhova Broj bridova Pronađeno ciklusa Trajanje (s)
112 168 67 4,3
160 244 93 12
168 257 100 14
182 272 101 18
186 288 108 21
185 291 115 22
190 303 117 22
199 320 130 27
216 351 138 52
226 362 147 56
241 406 169 84
297 489 199 163


Broj vrhova i bridova zadanog izvedenog grafa ovisi o gustoći prometne mreže. Trajanje postupka ne iznenađuje ako se ima na umu da je vremenska složenost Hortonovog algoritma traženja minimalne ciklusne baze $ O(E^3V) $. Olakotna okolnost ove činjenice leži u tome da je faza pronalaska pojedinih gradskih blokova na samom kraju cijelokupnog postupka.

Zaključak

Tehnike i postupci koje sam istražio u sklopu pisanja ovoga rada i implementirao u programskom dijelu zadatka pokazali su se kao odlična osnova za daljnji razvoj. Pokazuje se mogućnost generiranja velikog broja različitih tipova gradova sa velikim spektrom uzoraka: od planski uređenih gradova koji se baziraju na rešetkastoj strukturi, planskih gradova koji se zasnivaju na skupu koncentričnih prstenova koji se protežu oko gradske središnjice pa sve do kaotičnih gradova nastali pretežno ``organskim'' rastom.

Kao najzanimljiviji aspekt postupka istaknuo bi činjenicu da je jedan jednostavan i matematički koncizan koncept - koncept simetričnog tenzorskog polja drugog reda - iskorišten za stvaranje kompleksnih i detaljima bogatih rezultata. Programska implementacija opisanih postupaka i tehnika vrlo je jednostavna i čista, bez kompleksne logike koja bi pokrivala rubne ili specijalne slučajeve.

U godinama koje dolaze očekujem znatan porast primjene proceduralnog generiranja sadržaja u industriji specijalnih efekata i računalnih igara. Još jednom bih naglasio da budućnost tehnika za proceduralno modeliranje vidim najviše kao aktivnu pomoć pri modeliranju kompleksnih scena, stavjajući u prvi plan interakciju korisnika (dizajnera) sa proceduralnim algoritmom.