Računalna naiva (02. listopada 2010. godine, materijal iz 2006. godine)

Constructive solid geometry (konstruktivna geometrija tijela, CSG) je tehnika koja se koristi za modeliranje kompleksnih trodimenzionalnih
objekata. Ideja je posve različita od "tipičnog" 3D modeliranja gdje se površina objekta modelira kao unija mnogo trokutića sa
poznatim koordinatama vrhova i normalama (ovakav objekt se najčešće naziva mreža ili mesh). U slučaju CSG-a objekti se modeliraju
kao presjek, razlika ili unija jednostavnijih geometrijskih objekata (tzv. geometrijskih primitivnih objekata, primitives). Ovaj
logički, Boolean pristup može se proširiti na mnogo nivoa (npr. prvo od sfere oduzmem kocku, a onda tražim presjek toga s cilindrom i
oduzmem od piramide...). CSG je vrlo koristan za znanstvenu
vizualizaciju, pogotovo u fizici, gdje se često koriste što je moguće jednostavniji geometrijski modeli (stara je to priča o fizičarima koji
aproksimiraju krave sferama). No, CSG se može odvesti i mnogo, mnogo dalje i njime je moguće modelirati i izrazito kompleksne
objekte kojima se na kraju njihovo matematičko porijeklo gotovo i ne vidi.
Ideja ovog posta je upravo suprotna - ideja je biti geometrijski naivan, dakle modelirati "stvarni svijet" tako da mu je geometrijsko
porijeklo očigledno. Radi se o vrsti računalne, geometrijske naive. Slika kojom je post otvoren pokazuje jedan takav "naivni"
komadić svijeta, mali otok s kućama uz obalu i šumicom u unutrašnjosti, natkriven oblacima i okružen valićima.

Pogled na detalj slike (iznad) pokazuje svu geometrijsku jednostavnost kućica (prizme i dva pravokutnika koji su krov) i samog otoka (sferna kapa). More je superpozicija nekoliko sinusnih funkcija. Oblaci su povezane sfere (tzv. blob ili >> metaball objekt).

Drveće su valjda nekakvi čempresi, deblo je običan cilindar a krošnja je objekt nastao kao površina koju stvara sfera koja se giba po zadanoj krivulji (koja očito vijuga) i kojoj se pritom smanjuje radijus (u PovRay jeziku se ovo zove sphere_sweep objekt). Tako sam dobio pokret krošnji. Moguće je da mi je inspiracija za takve "čemprese" bio Van Goghov ciklus čempresa (vidi ispod).

A sama ideja izrazito skučenog otoka s nekoliko kućica oko obale potekla je iz "stvarnog" svijeta, nakon ljetovanja na otoku Ugljanu. Vrlo blizu mjesta Preko i Kali na Ugljanu nalazi se otok Ošljak, površine 0.332 km2. Prema hrvatskoj Wikipediji, Ošljak je najmanji nastanjeni otok na Jadranskom moru. Dužina obalne crte je 2.41 km, a najviši vrh visok je 90 m. Ja sam Ošljak vidio dva puta s trajekta i oba puta me se izrazito dojmio. Fotografija koju sam tad načinio (04. kolovoza 2006. godine) prikazana je ispod.

A za pravi dojam o Ošljaku, uputno je pogledati i satelitske snimke koje linkam s Google Maps servisa u prostoru ispod. Koristite oznake "+" i "-" da povećate ili smanjite prikaz (smanjenje prikaza ukazat će vam jasnije na položaj Ošljaka s obzirom na Preko, Kali i Zadar).
I na kraju, da zaključim: ako krave i nisu sfere, sigurno bi ih se dobro dalo reprezentirati unijom, presjekom i razlikom sfera.
<< Vrtlog | Igra staklenim perlama >> |
Zadnji put osvježeno: 02. listopada 2010. godine.