You are on page 1of 16

OPD I DEO

SKRIPTA Osnovni prostornog dizajna – I deo


1. Kratka istorija računarske grafike
Prvi računari su bile mehanički uređaji za sabiranje. Amerikanci su razvili elektronske računare za potrebe vojske
u Drugom svetskom ratu. Nisu bili praktični (bili su ogromni, skupi i kvarili se često) pa su imali usku primenu. Nisu koristili
tranzistore već vakuumirane staklene tube. Ovi računari nisu posedovali ekrane niti interaktivnost, kako bi se računalo
morase se programirati. Podaci su se unosili preko perforiranih kartica, kako se dobijao i rezultat. Računari nisu imali OS
ili prog. jezik i programe i njihovo posedovanje bila je privilegija.
Početak računarske grafike predstavlja vojni osciloskop koji je prikazivao lokaciju aviona. 1963. na MIT Ivan
Saterlend je za svoju doktorsku tezu napravio Sketchpad na bazi osciloskopa ali je korisnik uz pomoć svetleće olovke mogao
da crta 2D i 3D oblike. Grafika je bila sastavljena od običnih belih linija, a ekran je bio od katodnih cevi. 3D modeli sastavljeni
od poligona su bili vidljivi kao žičani modeli. Saterlend je radio na razvoju algoritma koji će sakriti određenje površine
modela, unapređujući prikaz i izgled. Paralelno na više mesta, istraživači su kreirali šejdere (shader) koji su davali nijanu
boje određenoj površini u zavisnosti od svetla, što je predstavljalo veliko unapređenje. Bui Tung Fong je kreirao Fong šejder
kako bi simulirao odsjaj na površini koji se stvara prilikom pada direktne svetlosti. Fong šejder je bio prilično spor pa je Jim
Blin, diplomac Juta univerziteta, nastavio Fongov rad te šejder učinio bržim. Danas se koriste oba šejdera u većini 3D
aplikacija.
Tokom razvoja 3D aplikacije je nastao i poznati Juta čajnik, koji je modelovao Martin Newell, koji se koristi i dan
danas zbog jednostavnog oblika, ali je zbog drške i piska idealan za testiranje mapa i osvetljenja jer daje kompleksnije
senke.
ARPA (američka agencija za napredna istraživanja) je u računarskoj grafici videla odličan alat za pravljenje
simulacija, uz pomoć kojih su američki piloti i vojnici mogli biti obučavani bez rizika. Tehnologija simulacije je i danas veoma
zastupljena kod obuke pilota, što je dovelo do smanjenja avionskih nesreća.
Upotreba računara prilikom kreiranja filmskog sadržaja ubrzo je, zahvaljujući brojnim prednostima koje nudi, našla
simpatizere među rediteljima. 1995. firma Pixar je u potpunosti uspela da ovlada dugometražnom računarskom
animacijom objavljujući film Toy Story. Tema i radnja filma, nisu slučajno odabrani, nego su bili determinisani
mogućnostima računarskih resursa. Realističnost je bila na nivou da mogu da se naprave upravo animacije plastičnih ili
drvenih lutki bez previše detalja. Tek 2001. filmom Final Fantasy: The Spirits Within pomeraju se granice i kreće se u izradu
potpuno računarski generisanih ljudskih likova koji su dovoljno realistični da preuzmu ulogu glavnih glumaca i sa kojima
će se publika moći poistovetiti. Međutim problemi sa pokretima i prikazom kože doveli su publiku u nezavidan položaj jer
se stvarao osećaj neprijatnosti jer su likovi bili SKORO ljudski a opet ne dovoljno realistični. Upotreba uređaja za snimanje
pokreta živih glumaca uporište je našla upravo u ovim nedostacima.
Filmovi koji su žanrovski pripadali fantaziji od samog početka upotrebe računara u filmskoj industriji bili su
najzaslužniji za njen ubrzan razvoj, tako da su ostvarenjima Gospodar prstenova i Pirati sa Kariba, nastavili uspešnu
tradiciju upotrebe računarski generisanih likova u vidu Goluma ili Dejvi Džonsa. Ali i na ovim primerima se može zaključiti
da prikaz realnog ljudskog bića još nije bio dovoljno razvijen, nego su računarski generisani samo fiktivni likovi. Najveći
pomak u smeru realističnog prikaza ljudskog lika napravio je Čudesni slučaj Bendžamina Batona. Takođe, razvijala se
upotreba i korišćenje kompjuterskih generisanih okruženja koja su premeštala karaktere na najneverovatnija mesta.
Razvoj i upotreba zelenog platna, kako bi se prikazale scene, je umnogome ubrzao i olakšao snimanje filmova.
(INFORMATIVNO)
Na nabrojanim primerima se može videti da je saradnja između kompanija koja razvijaju softver i studija koji
snimaju filmove postala uzajamna. Rešenja koja su primenili pojedini studiji našli su se kao dodaci u programima.

1
OPD I DEO

2. 3D aplikacije
Upotreba računara od strane većeg broja korisnika usloviće i razvoj prvih 3d aplikacija. Prvi računari su se u
domovima pojavili kao igračke konzole početkom sedamdesetih godina. Konzole su bile male i prenosive dok su igre
učitavale sa ketridža ili kasnije magnetnih kaseta. Grafika se uglavnom sastojala od linija i kvadratića dok je pozadina igre
bila plastična folija koja se kačila na televizijski ekran (jer konzole nisu imale svoje ekrane). Osamdesetih došlo je do pojave
kućnih računara, kao što je Amiga, Atari ili Commodore koji su osim mogućnosti igranja igrica na njima omogućavali i
programiranje. Upravo na ovakvim računarima je 1986 Eric Graham kreirao 3D animaciju Žongler.
Povećana upotreba računara usloviće i razvoj prvih 3D aplikacija. Prvi računari u domovima su bile male i prenosive
konzole, početkom 70-ih. Grafika se sastojala od linija i kvadrata, a pozadina od plastične folije koja se kačila na TV ekran.
80-ih dolazi do pojave kućnih računara (Amiga, Atari, Commodore) koji su omogućavali i programiranje. Upravo na
ovakvim računarima je 1986. Erik Graham kreirao 3D animaciju Žongler. Graham je isprogramirao i ray-trace render jer se
animacija sastoji od figure od sfera, koja žonglira sa tri sfere, koje reflektuju okolinu. Animacija se sastojala od 24 frejma
koji su se vrtili u krug i činili animaciju neprekidnom. Firma Commodore je tražila od Grahama da napravi komercijalnu 3D
aplikaciju. Tako je i nastao prvi 3D program Sculpt3D 1987. godine. Već u prvoj verziji je sadržao dosta elemenata koji se i
u današnjim aplikacijama mogu preopoznati (3D primitivi, više prozora). 3D modeli su bili sastavljeni od trouglova čiji broj
je zavisio od mogućnosti računara.
Programeri širom sveta su počeli sa stvaranjem svojih verzija programa koje su besplatno distribuirali, što je
inzedrilo veoma moćne 3D alate koje se i danas razvijaju. Jedan od takvih je i Blender koji je 2002. postao potpuno
besplatan uz pomoć fondacije i tako je postao jedan od najmoćnijih besplatnih programa za 3D modelovanje.
Zbog porasta potražnje za igricama i konzolama, kao i efektima i vizuelizacijom u filmovima, televiziji i oglašavanju
potražnja za 3D umetnicima idalje raste. Ekspanzija niskobudžetnih 3D štampača je dodatno popularizovala prostorni
dizajn omogućivši dobijanje fizičke forme 3D modela. Dalji razvoj je doneo i upotrebu boje što je dovelo do još veće
ekspanzije.

3. Osnove kreiranja 3d modela


Programski alati koji se najčešće upotrebljavaju imaju 2d površinu koja je okrenuta prema posmatraču.
Organizovani su tako da najveći deo površine ekrana zauzima radna površina, dok se sa strane nalaze različiti alati kojima
se manipulišu elementi na toj površini, kao što i slikar ispred sebe ima platno dok se paleta nalazi izvan radne površine.
Programi koji služe za prostorni dizajn imaju dodatno podeljenu radnu površinu, najčešće na 4 dela. Pored toga, površina
koja je okrenuta prema posmatraču nije dvodimenzionalna nego je prostorna, kao kada bi umesto platna (kao u 2d
programima) gledali kroz prozor. Međutim sva četiri prozora, ako se nalaze jedan do drugog gledaju na istu scenu, ali sa
drugačijih strana.
Programski alati koji se najčešće upotrebljavaju imaju 2D površinu, koja je okrenuta prema posmatraču.
Organizovani su tako da najveći deo površine ekrana zauzima radna površina, dok se sa strane nalaze različiti alati koji
služe za manipulisanje elemntima na radnoj površini. U 3D programima radna površina je podeljenja, najčešće, na 4 dela.
Takođe, površina nije dvodimenzionalna nego je prostorna, što znači da je moguće gledati na istu scenu sa više strana ali
su i nezavisna. Ti pogledi na scenu su OD GORE, SA LEVE STRANE, FRONTALNI I PERSPEKTIVA.
Na površini su prikazani jednostavni opisi objekata, koje računar vizealizuje tj. iscrtava svaki put kada se na sceni
desi promena. Tako je omogućena interakcija sa objektima na površini (sceni) ali ne i njihov konačni prikaz koji se dobija
renderovanjem koje uključuje razne algoritme kako bi se dobio krajnji prikaz. Što je više parametara uključeno to će render
duže trajati. Moguće je praviti više probnih rendera kako bi dali bolji prikaz elemenata na sceni. Rezultat renderovanja je
bitmapa, koja može biti pojedinačna ili jedna u nizu (animacija).
Radni prostor je označen koordinatnim osama X (horizontalna), Y (vertikalna) i Z (dubinska). To su globalne ose za
scenu i svaki od pogleda ima odgovarajući prikaz.
Kako broj elemenata na sceni može veoma brzo da raste tako i snalaženje mora biti brzo. Dobra organizacija scene
je beoma bitna i dozvoljava brz i jednostavan pristup svakom objektu što olakšava i ubrzava rad. Imenovanje objekata igra
jednu od ključnih uloga prilikom snalaženja. Način imenovanja se definiše na samom početku.
2
OPD I DEO

Za dobro modelovanje pre svega bitna je temeljna analiza objekta koji se modeluje. Analiza podrazumeva
rstavljanje objekta na jednostavnije celine, planiranje oblikovanja i sastavljanja u realnom svetu omogućava odgovarajući
odabir tehnika modelovanja i početnih oblika.

4. Tipovi modelovanja
Postoji nekoliko uobičajenih tehnika koje se koriste za kreiranje 3D objekata:
BOX (podobjektno modelovanje) - BOX modelovanje je poligonalna tehnika modelovanja u kojoj umetnik počinje
geometrijskim primitivom (kocka, sfera, cilindar) zatim prerađuje njen oblik sve dok se ne postigne odgovarajući izgled.
Ova tehnika se obično odvija u fazama, počinje se od mreže niske rezolucije čiji oblik se menja, zatim se vrši dalja podela
mreže kako bi se uglačale oštre ivice i kako bi se dodali detalji. Ovaj proces se ponavlja sve dok mreža ne sadrži dovoljno
poligonalnih detalja kako bi se na odgovarajući način preneo zadati koncept. BOX modelovanje je verovatno najčešća
forma poligonalnog modelovanja i najčešće se koristi u kombinaciji sa EDGE tehnikom modelovanja.
EDGE (konturno modelovanje) - Ova tehnika je još jedna poligonalna tehnika koja se razlikuje od BOX. U EDGE
modelovanju, model se pravi korak po korak postavljanjem nizova poligona duž istaknutih kontura i ispunjavanjem nastalih
otvora. Ovo se radi jer su pojedine mreže isuviše komplikovane (ljudsko lice) kako bi se završile samo kroz BOX
modelovanje. Preciznost konturnog modelovanja u slučaju ljudskog lica je nezamenljiva, jer je mnogo lakše izmodelovati
konturu oka, a zatim odatle izmodelovati ostatak. Kada su glavni delovi lica izmodelovani (oči, usne, obrve, nos, vilica)
ostatak modela se sastavlja skoro automatski.
NURBS modelovanje - NURBS je tehnika modelovanja koja se najviše koristi u auto-industriji. NURBS geometrija
nema poligone, ivice ili tačke, umesto njih NURBS površine se sastoje od glatkih površina dobijenih pomoću različitih
funkcija između dve ili više Bezierovih krivih. NURBS krive su dobijene uz pomoć alata koji se zasnivaju na veoma sličnom
principu kao Bezierove krive unutar programa Adobe Photoshop i Illustrator. NURBS krive se iscrtavavaju u 3D prostoru i
oblikuju se pomeranjem kontrolnih tačaka. Kako bi izmodelovao NURBS površinu, krive se postavljaju duž istaknutih
kontura dok program sam popunjava (interpolira) prostor između njih. NURBS površine mogu biti kreirane i rotiranjem
profila krive oko centralne ose. Ova tehnika se često koristi i veoma je brza, posebno za modelovanje radijalnih objekata.
Digitalno vajanje - Digitalno vajanje je tehnološka inovacija koja je pomogla pri postizanju određenih rezultata
prilikom modelovanja. Oslobodila je umetnika od briga oko topologije, toka ivica i omogućila intuitivno kreiranje 3D
modela kao da vajamo digitalnu glinu. Ovom tehnikom modeli se kreiraju organski korišćenjem tableta pomoću kojih se
model vaja i oblikuje. Digitalno vajanje je podiglo na jedan poseban nivo modelovanje karaktera i stvorenja, čineći proces
bržim, efikasnijim i omogućavajući umetniku da radi sa mrežama visoke rezolucije koje se sastoje od miliona poligona.
Vajane mreže su poznate, po ranije nezamislivim, nivoima detalja površine i prirodnoj spontanoj estetici.
Proceduralno modelovanje – Proceduralno se odnosi na rezultat koji je generisan algoritamski. Ovom tehnikom
svi objekti su kreirani na bazi definisanih pravila ili parametara koji su definisani od strane korisnika. U paketima za
modelovanje okruženja (Vue, Bryce, Terragen) čitavi pejzaži mogu biti generisani podešavanjima i modifikovanjem
parametara okruženja (gustina rastinja, raspon nadmorske visine ili biranje templejta okruženja). Ova tehnika modelovanja
se obično koristi za organske konstrukcije, zbog beskonačno varijacija i kompleksnosti.
Aplikacija SpeedTree koristi rekurzivne\fraktalno bazirane algoritme kako bi generisala jedinstveno drveće i grmlje
koje može biti modifikovano kroz izmenljive parametre visine stabla, gustine grana i mnoštvo drugih opcija. CityEngine
koristi sličan algoritam za generisanje urbanih gradskih pejzaža.
Modelovanje bazirano na slici - je proces tokom kog su promenljivi 3D objekti algoritamski dobijeni iz seta
statičnih dvodimenzionalnih slika. Modelovanje bazirano na slici se obično koristi u situacijama u kojima vreme ili budžet
onemogućavaju da se koriste potpuno manuelno dobijeni 3D modeli. Verovatno najpoznatiji slučaj korišćenja modelovanja
na bazi slika je u filmu Matrix.
3D skeniranje - je metod digitalizacije objekata iz realnog sveta kada je potreban visok nivo fotorealizma. Objekat
ili osoba iz realnog sveta su skenirani, analizirani i sirovi podaci (obično oblak tačaka) se koriste za generisanje tačne NURBS
ili poligonalne mreže. Skeniranje se u kompjuterskoj grafici najviše koristi kada je potreban glumac iz realnog sveta u
digitalnoj formi.

3
OPD I DEO

5. Modelovanje uz pomoć poligona


Prikaz trodimenzionalnih elemenata na računaru je moguć uz pomoć
poligona. Čak i ako je modelovanje izvedeno na drugi način, prikaz samog
modela je uz pomoć poligona.
Prvi susret sa poligonima je prilikom kreiranja primitiva, tj. osnovnih
geometrijskih oblika: kocke, sfere, cilindra itd.
Elementi površ, ivice i verteksi su gradivni elementi poligona, tj. njegovi
podobjekti. Stranice kocke su poligoni, čija se unutrašnja površina naziva
površ (face). Stranica kocke (poligon) je sastavljena od četiri linije koje na
svojim krajevima imaju tačke. Granične linije poligona se nazivaju ivice
(edges). Tačke koje se nalaze na svakom ćošku objekta imaju presudnu ulogu u načinu na koji će linija ulaziti u tačku i na
koji će iz iste izlaziti. Tačke koje se nalaze na ćoškovima nazivaju se verteksi. Verteksti nemaju dužinu, širinu niti dubinu.
Oni su bezdimenzionalne veličine koje imaju svoju poziciju u prostoru i određuju način pružanja ivica. Razumevanje ovih
odnosa je ključno za gradnju bilo kog modela.
Poligoni ne moraju biti samo kvadrati, nego mogu biti sastavljeni od bilo kojeg broja verteksa i ivica, a za gradnju
poligona uvek će biti isti broj verteksa i ivica, a najmanje tri. U tom slučaju dobijamo poligon oblika trougla. Zbog
jednostavnosti trougla, računaru je veoma lako da ih izračuna i prikaže tako da oni postaju osnovni gradivni element
modela, pogotovo kada su modeli namenjeni renderovanju u realnom vremenu (igrice). Čak i četvorostrani poligoni su
sastavljeni od dva trougla. Oni se nazivaju kvadovi i jedan su od bitnijih tipova poligona u procesu renderovanja. Njihova
prednost je što se mogu ređati u uređen niz, mrežu, a potrebna je samo jedna dijagonalna linija da ih podeli u trouglove.
Iz tog razloga, najčešće se koriste za izradu 3d modela.
Poligon sa većim brojem verteksa od 4 naziva se N-gone. N-gone je teže poređati u uređenu mrežu i zahtevaju
više proračunavanja od strane računara i komplikuju dalje procese, kao što su mapiranje, osvetljenje i animacija.
Poligoni koji su sastavljeni samo od 3 verteksa su uvek planarni tj. stoje na jednoj površi. Kvadovi i n - goni ne moraju biti
planarni, ali je idealno ako jesu. Kako se poligoni sastoje od podobjekata, nije ih moguće menjati bez manipulacije njima.
Na poligone možemo gledati kao na objekte koji služe za selekciju ivica i verteksa. Isto tako poligon se ne može kriviti i
lomiti na ravni ako mu se ne dodaju dodatne ivice tj. ako se on ne podeli na manje delove.

6. Mreža poligona
Svaki poligon se sastoji iz površi, verteksa i ivica povezanih međusobno. Ivice dele zajedničke vertekse, dok površ
poligona deli zajedničke linije i vertekse, čineći strukturu mreže. Kompleksnost mreže zavisi od količine detalja koje treba
prostorni model da sadrži. Što je prostorni model detaljniji sadrži više poligona. Kocka sadrži samo 6 poligona, dok
prostorni model ljudske glave može da sadrži hiljade sitnih poligona. Jedino ograničenje u broju poligona jeste mogućnost
računara.
Mreža poligona može biti zatvorenog i otvorenog tipa. Ukoliko sve ivice na objektu dele više poligona, tada
govorimo o zatvorenoj mreži. Kocka je zatvorena mreža, kao i svi prostorni modeli koji su sa svih strana zatvoreni
poligonima i „ne može se ući u taj objekat“. Tj. objekat koji nema ivice koje se ne graniče sa drugim poligonom. Ukoliko se
ivica nalazi na kraju samog objekta, i na nju se ne nastavlja poligon, naziva se granična ivica, a takva mreža se naziva mreže
otvorenog tipa. Najjednostavniji primer bi bio list papira, koji bi sadržao četiri granične ivice.
Kako bi se objekat izmenio, u objektno orijentisanom programu, mora biti selektovan. Selekcija uključuje i
podobjekte kao što su verteksi, linije, površi itd. Kako scena može da sadrži veliki broj objekata, a posledično veći broj
podobjekata, programi za prostorni dizajn imaju veći broj opcija i načina selektovanja u odnosu na 2D aplikacije.
Postoje razne vrste selekcije u ovakvim programima, neke od njih su:
• jednostavni klik na objekat (selektuje objekat bliži posmatraču)
• pravougaona, kružna ili proizvoljna selekcija (selektuje objekte potpuno obuhvaćene ili dodrinute ivicom selekcije)
• selekcija po kategoriji (uključivanjem filtera nije moguće selektovati objekte van odabrane kategorije)
4
OPD I DEO

• po nazivu objekta (neophodna prethodno definisana pravila nazivanja)


Kada je objekat selektovan najčešće se nad njim prvo odvijaju translacije, kako bi se doveo na pravo mesto i pravu
veličinu. Način na koji se transliraju objekti je isti onaj na koji se vrši promena pozicije, orijentacije i veličina i na
podobjektima, s jednim izuzetkom, naime, kako su verteksi bezdimenzioni objekti oni se ne mogu skalirati ali se grupa
verteksa može skalirati, tj. skaliranjem menjati rastojanje između njih.
Pomeranje selektovanog verteksa uglavnom se ne utiče na pozicije verteksa koji nisu selektovani, ali se može
uključiti opcija koja će omogućiti pomeranje i susednih verteksa srazmerno udaljenostima na kojoj se nalaze u odnosu na
selektovani verteks. Pomeranje verteksa u prostoru ne dodaje nove elemente modelu kao drugi načini izmena na mreži.

7. Upravljanje ivicama i ivičnim petljama


Ekstrudiranje je tip izmene mreže koji dodaje nove poligone. Kada se ekstrudira poligon, susedni poligoni ostaju
nepromenjeni, on se izvlači na željenu poziciju a stvaraju se poligoni koji ga povezuju sa mestom na kojem se prethodno
nalazio. Na taj način, na površini mreže se stvara ispupčenje koje se dalje može ekstrudirati ili menjati. Ekstrudiranje je
moguće raditi i sa podobjektom ivica, i na taj način se izvlači iz ivice poligon.
Dodavanje detalja na modelu neizbežno je povezano sa dodavanjem novih verteksa, ivica tj. površi i poligona.
Dodavanje ivica na postojeći model može da se uradi na više načina. Bez obzira na način, postoji opasnost od narušavanja
kvadratne strukture mreže modela. Iako ona može da izgleda nepromenjeno broj verteksa se može povećati i na taj način
dobiti N-gon. Iz tog razloga dodavanje ivica se može izvesti u petljama (po celokupnoj širini modela). Na isti način
preporučljivo je i uklanjanje ivica (detalja). Održavanje dobro raspoređene strukture modela posebno je značajno prilikom
animiranja.
Dodavanje ivica povećava broj verteksa i poligona naziva se subdividing. Što je više poligona koji čine objekat to
će objekat biti glatkiji, bez prelamanja površine. Pored dodavanja ivica, subdividing se može uraditi i automatski. Na taj
način povećava se broj verteksa, kako bi se postigao isti efekat glatkijih površina. Brisanje ivica i detalja može se vršiti
selekcijom nepotrebnih verteksa i komandom za njihovo brisanje.
Prilikom modelovanja kompleksnijih oblika česta praksa je kreiranje različitih delova modela i njihovo naknadno
spajanje u jedinstvenu mrežu. Najjednostavniji način za spajanje dva objekta jeste uz pomoć Bulovih (Boolean) operacija.
Kako bi se dva objekta spojila potrebno ih je fizički preklopiti na željeni način. Zatim se mogu birati neke od Bulovih
operacija: unija, razlika i presek. Korišćenjem Bulovih operacija oba operanda zadržavaju svoje početne parametre koji se
i nakon upotrebe operacije mogu menjati. Bulove operacije su takođe poznate i po nepredvidljivom izgledu mreže poligona
nakon njihove upotrebe. Računar izračunava sve kalkulacije potrebne za kreiranje novog objekta. Ne preklapanje poligona
dveju različitih objekata znači da se broj poligona na rezultujućem objektu nekontrolisano povećava, jer se prikazuju
poligoni sa oba objekta i na taj način kvari željeni uredni izgled mreže poligona.
Postoji još nekoliko mogućnosti spajanja objekta koji daju bolje rezultate ali oni zahtevaju i određeno planiranje i
pripremu 3D objekata pre njihovog međusobnog spajanja. Neki od tih alatki su Weld i Bridge.

8. Normale
Može se reći da poligoni imaju dve strane, prednju i zadnju. Prednja i zadnja površ poligona se određuje prilikom
kreiranja objekta. Prilikom postavljanja primitiva na scenu, jasno je da je prednja površ ona koja je okrenuta prema
posmatraču dok se unutrašnje strane ne vide, zatvorene su u unutrašnjosti primitiva. Međutim, kada je u pitanju ravna
površina, način na koji se definiše lice i naličje nije toliko jednostavan. I jedna i druga strana su okrenute prema spoljašnosti.
Način na koji se definiše koji su elementi poligona prednji, a koji zadnji, uključuje upotrebu normala. Normale su vektori
koji su normalni na površinu poligona, a nalaze se i definišu njegovu prednju stranu. Normale se mogu posmatrati kao
smer u kojem je usmeren poligon. Prilikom kreiranja objekta na sceni normale se dodeljuju automatski. Uz pomoć normala
izračunava se kako virtuelna svetlost reaguje sa modelom tj. njegovom površi. Sve normale površi na mreži poligona bi
trebale da budu okrenute na istu stranu. Ukoliko jedan od poligona ima okrenutu normalu na suprotnu stranu, taj poligon
će se prikazivati crn ili potpuno providan. Pogrešno postavljene normale na objektu daće objektu izgled izvrnutih stranica.

5
OPD I DEO

9. UV koordinate
UV koordinate su koordinate vezane za površinu trodimenzionalnog objekta. Kako je ovde reč o površini objekta
tako ove koordinate imaju dve komponente U i V. Nazvane su tako da bi se razlikovale od trokoordinatnog sistema X, Y i Z
koji je vezan za prostor. U i V koordinate su normalne jedna na drugu i upotrebljavaju se za pozicioniranje
dvodimenzionalne grafike na površinu objekta. Prilikom postavljanja slika na površinu trodimenzionalnog objekta, model
se rasklopi i tako rasklopljen u dvodimenzionalnom prostoru glavne koordinate upravo su U i V.
Posmatrajući sliku koju treba postaviti na 3D površinu definišu se horizontalne i vertikalne koordinate piksela u
skali od 0 do 1. Na 3D objektu svaki verteks dobija svoju UV koordinatu. Na osnovu tih koordinata bitmapa, koja se nalazi
između posmatranih verteksa, postavlja se na površinu odgovarajućeg poligona koji je definisan posmatranim verteksima.

10. Osnove poligonalnog modelovanja


Poligonalno modelovanje je prvi korak u procesu kreiranja modela sa deljivim podstrukturama. Kako su poligoni
lako deljive strukture, upotreba modifikatora koji će ih dodatno izdeliti je veoma jednostavna i kao rezultat daje veoma
urednu mrežu manjih poligona.
Očuvanje uređene mreže bitno je kako prilikom određivanja izgleda površine samog objekta tako i kod njegovog
prostornog pokretanja. Negativan uticaj na kvalitet povećavanja broja poligona, upotrebnom nekog od modifikatora za
deljenje, mogu imati i različite veličine poligona koje se nalaze jedna blizu druge na istom modelu. Prilikom automatskog
deljenja poligona na tim mestima mogu nastajati neravnine ili nepravilna udubljenja.
Kako bi osigurali pravilnu izradu modela, uz smanjenu mogućnost grešaka koje se mogu javiti kao posledica
neadekvatnog modelovanja, treba obratiti pažnju na sledeća pravila:
• Svaki verteks mora biti deo bar jednog poligona, kao i ivice. Do pojave nepripadajućih verteksa može doći u slučaju
da se određene linije ili ivice brišu, bez brisanja samog verteksa.
• Svaki verteks se može naći samo jednom na istom poligonu.
• Sve ivice poligona moraju biti međusobno povezane.
• Ivica može biti zajednička samo za dva poligona.
• Poligon ne sme presecati sam sebe.
• Verteks ne sme biti jedina tačka spajanja dva dela objekta.
• Izbegavati više ivica na jednom istom mestu.
• Izbegavati više poligona na istom mestu, tj. njihovo preklapanje.
• Dobro pripremljene mreže poligona imaju sve normale usmerene na istu stranu.

Većina ovih stvari može da se desi kada se koriste različite automatske operacije. Pregled mreže poligona i njihovo pravilno
rasprostiranje, može ubrzati dalji rad i smanjiti mogućnost javljanja greške u daljim koracima procesa kreiranja krajnjeg
rezultata.

11. Poddeoba površine kao poboljšanje modelovanja karaktera


Toni DeRouz, sada jedan od istraživača softverskih rešenja u Piksaru, je razvio algoritam za modelovanje baziran, ne na
splajnovima, nego na poddeobi površine. Površina splajna je matematička reprezentacija zakrivljene površine. Ovaj tip
površine odgovara prikazivanju objekata kao što su industrijski objekti namenjeni proizvodnji, prevozna sredstva i sl. Ali
nije pogodan za prikaz kompleksnijih površina, kao što je ljudska ruka. Matematički opis površine imao je svoje nedostatke
kod prikazivanja, a pogotovo deformacije kompleksnijih objekata. Podela površina je bio novi prilaz modelovanju koji je
koristio drugačiji matematički pristup, jednostavniji za korišćenje i brži za modelovanje. Upotreba splajnova zahtevala je
upotrebu kompleksnih algebarskih izraza kako bi opisala površinu, dok poddeoba površina opisuje površinu koristeći
beskonačni niz dve jednostavne geometrijske operacije, deljenja i izračunavanja prosečne vrednosti. DeRosin rezultat se
može videti u Piksarovom kratkom filmu Gerijeva igra. Započet kao projekat firme u razvoju softvera koji će raditi na bazi
poddeoba površina, njegov potencijal je privukao ostale umetnike u Piksaru i za ovaj kratkometražni film su dobili i Oskara
u kategoriji kratkometražnih animiranih filmova.
6
OPD I DEO

Poddeoba površine će nadalje igrati značajnu ulogu u ostalim Piksarovim ostvarenjima dugometražnih animiranih
filmova. Prvi od njih je Život buba. Sa Garijevom igrom, kao probom, Piksar je uložio velike napore kako bi integrisao
podelu površine u Marionete, njihov softver za animaciju i RenderMan Artist Tools njihov komercionalno dostupni
program za renderovanje. Catmull–Clark podela površina
Kako su nedostaci koji se dobijaju NURBS površinama postali očigledni eksperti su se okrenuli modelovanju uz pomoć
poligona. Do 1990. godine, računari su postali dovoljno brzi da upravljaju velikom količinom podataka. Umesto upotrebe
jednog glavnog računara, krenulo se sa upotrebom više računara povezanih međusobno u mrežu. Iz tog razloga prepreka
upotrebe velikog broja poligona više nisu bili računari, nego upravo 3d umetnici pred koje se postavio zadatak kako iscrtati
i kontrolisati velike količine poligona. Rešenje je pronađeno u poddeobi površina (eng Subdivision surfaces). Poddeobu
površina razvio je Edwin Catmull, kasnije, osnivač firme Pixar. Poddeoba površina je jedan od danas najčešće korišćenih
načina modelovanja. Ona se sastoji od poligona ali se kontrola vrši na sličan način kao i kod NURBS površina. Modelovanje
počinje sa mrežom poligona, koja se dalje deli jednostruko ili višestruko stvarajući glatku površinu. Tom glatkom
površinom se dalje može upravljati uz pomoć početne mreže poligona, kao što se sa NURBS površinama upravljalo uz
pomoć trupa ili oboda.
Catmull–Clark algoritam se koristi u kompjuterskoj grafici kako bi se dobile glatke površine, tako što se vrši dodatna podela
površina. Osmislili su je Edwin Catmull i Jim Clark 1978. godine kao generalizaciju bikubnih uniformnih B-splajn površina
kao proizvoljnih topologija. Edwin Catmull je 2005. godine dobio Akademsku nagradu za tehnička dostignuća zajedno sa
Tony DeRoseom i Jos Stamom za njihov izum i primenu podeljenih površina. Catmull –Clark površine su definisane
rekurzivno i koriste sledeću šemu za uređivanje. Počinje se sa mrežom proizvoljnog polihedrona. Sva temena ove mreže
nazivaju se originalnim tačkama. Za svaku površ dodaje se tačka površi (postaviti svaku tačku površi da bude centroid svih
originalnih tačaka za datu površ). Za svaku ivicu dodaje se tačka ivice (postaviti svaku tačku ivice da bude prosek dve
susedne tačke površi i njihovih originalnih krajnjih tačaka). Za svaku tačku površi dodati ivicu ka svakoj ivici površi,
povezujući tačku površi i svaku tačku ivice površi.
Za svaku originalnu tačku P, uzima se prosek F od svih n tačaka površi za površ koja dodiruju P i uzima se prosek R svih n
središnjih tačaka površi za ivice koje dodiruju P, gde je svaka srednja tačka ivice prosek njene dve krajnje tačke odnosno
temena. Pomeriti svaku originalnu tačku na

Ovo je baricentar od P,R i F sa odgovarajućim opterećenjima (n-3), 2 i 1. Ova proizvoljna formula odabrana je od strane

Catmulla i Clarka na osnovu estetike rezultujućih površina umesto na osnovu proizvoda matematičkog izvođenja.
Nova mreža se sastoji samo od četvorouglova koji generalno neće biti planarni. Nova mreža će izgledati uglađenije nego
stara mreža. Na slici vidi se ilustracija ovog procesa. Ponavljanje ove vrste podele površina rezultuje sve uglađenijim
mrežama. Nakon jedne iteracije, broj dodatnih tačaka ostaje konstantan. Granična površina Catmull–Clark podele površina
može biti procenjena direktno, bez ikakvog rekurzivnog pročišćavanja. Ovo može biti postignuto tehnikom Jos Stama.
Ovaj metod reformuliše rekurzivni prosec uglađivanja u problem eksponencijalnih matrica, koji može biti rešen direktno
dijagonalizacijom matrica.

7
OPD I DEO

Kao što se može videti na slici gore, za svaku površ poligona kreira se nove četiri površi. Nakon što su površi podeljene,
potrebno je i da budu zakrivljene tako da čine površinu glatkijom. Centralna tačka površi ostaje na svom mestu dok se
početne tačke povlače prema centru objekta. Ukoliko bi umesto samo jednog poligona posmatrali celu kocku, jednom
iteracijom Catmull-Clark podele površinu umesto 6 poligona dobija se 24. Na ovaj način kocka polako poprima oblik sfere.

12. Ostale metode podele površine


Postoji još nekoliko metoda podela površina koja se upotrebljavaju u 3d modelovanju. Prva je Doo- Sabin prilikom čije
upotrebe se kreiraju nove površi na svakoj početnoj tačci i ivice koje su povezane sa tom tačkom. Može se predstaviti i
kao isecanje svake početne tačke i njena zamena površi. Ova podela je karakteristična po tome da će svaki novi verteks
uvek biti povezan sa četiri ivice. Na taj način bez obzira koliko se puta ponavlja podela, kocka ostaje kocka. Naravno sve
ivice postaju zakrivljene ali sam oblik se ne menja kao što je to slučaj sa Catmull -Clark podelom.
Sledeća podela je tzv. petlja (loop). Petlja radi sa trouglovima i od jednog trougla pravi četiri trougla, spajajući središnje
tačke koje se nalaze na ivicama sa središnjim delom. Podela petlje se upotrebljava kada se traži da poligoni budu trouglovi.

13. Nivo detalja


Unutar računarske grafike, planiranje nivoa detalja uključuje smanjenje kompleksnosti reprezentacije 3D objekta dok se
on pomera dalje od posmatrača ili prema drugim pokazateljima kao što su značaj objekta, brzina oko-prostor ili pozicija.
Tehnika nivoa detalja povećava efikasnost renderinga smanjujući opterećenje u toj fazi radnog toka, obično kod
transformacija vezanih za tačke. Redukovanje vizuelnog kvaliteta modela je obično nezapaženo zbog malog efekta na
izgled objekta, kada se on brzo kreće ili se nalazi u daljini.
Iako je u većini slučajeva LOD primenjen samo na detalje geometrije, njegov osnovni koncept može biti generalizovan. Od
nedavno, LOD tehnike uključuju i rukovođenje šejderom da bi se zadržala kontrola složenosti na nivou piksela. Oblik
menadžmenta nivoom detalja primenjen na teksture već godinama, pod imenom Mipmapping, takođe na taj način
obezbeđuje veći kvalitet i efikasnost renderinga.
Poreklo svih LOD algoritama za 3D kompjutersku grafiku može se pratiti unazad do vremena kada su računari bili monolitni
i retki, a grafikom su se bavili samo istraživači. Sam hardver je bio potpuno drugačiji i arhitektonski i kada su u pitanju
performanse. Zato su mnoge razlike uočljive u odnosu na današnje algoritme, ali ima i mnogo zajedničkih tačaka.
Originalni algoritam predstavlja mnogo više generički pristup u odnosu na onaj o kom se ovde raspravlja. Nakon uvođenja
nekih dostupnih algoritama za upravljanje geometrijom, navodi se da je većina dobiti došla iz strukturiranja okruženja koje
je renderovano, dozvoljavajući da brže transformacije i clipping operacije budu iskorišćene.

8
OPD I DEO

Isto strukturiranje okruženja je sada predstavljeno kao način putem kog se kontrolišu različiti detalji, izbegavajući
nepotrebne proračune, a ipak pružajući adekvatan vizuelni kvalitet. Na primer, dodekahedron izgleda kao sfera sa dovoljno
velike udaljenosti i prema tome može da se koristi za modelovanje sve dok se gleda sa te ili iz veće udaljenosti. Međutim,
ako se mora posmatrati pažljivije, izgledaće kao dodekahedron. Jedno rešenje za ovo je da se jednostavno definiše sa
najviše moguće detalja koji su neophodni. Međutim, onda on može imati mnogo više detalja nego što je potrebno da ga
zastupa na većim rastojanjima i u složenom okruženju sa mnogo takvih objekata, bilo bi to previše poligona (ili drugih
geometrijskih primitiva) za algoritme vidljivih površina da bi se efikasno rukovalo njima. (Dobbins,
2012)

Predloženi algoritam predviđa strukturu podataka u obliku stabla koji kodira i transformacije i tranzicije u detaljnije
objekte. Na ovaj način svaki čvor kodira objekat prema bržoj analizi i pruža se svaki objekat sa više detalja. Kada je potrebno
više detalja mogu se koristiti i druge metode kao što su rekurzivna podela Catmullom.
Značajna stvar je da i u složenom okruženju količina informacija za predstavljanje različitih objekata varira u zavisnosti od
vidnog polja koje je okupirano od strane tih objekata. Bitno je spomenuti i isecanje (clipping), koje treba uzeti u
razmatranje i njegov uticaj na performanse.

14. Topologija
Posle deljenja površina mreža poligona polako počinje da liči na zakrivljenu površ. Pre upotrebe deljenja površine potrebno
je da početna mreža bude što je moguće uređenija i jednostavnija. Raspored poligona u mreži poligona naziva se
topologija. Topologija definiše kako se površina deformisala a da nije došlo do njenog pucanja ili isecanja.
Ako se vrši podela površina na mreži poligona koja ima dobru topologiju, lakše je predvideti krajnji rezultat. Takođe,
postavljanje skeleta i deformacije modela će biti predvidljive a biće olakšano i postavljanje materijala na objekat bez
neželjenih uvrtanja.

15. Upotreba kvadova


Prilikom modelovanja preporučuje se upotreba kvadova jer se korišćenjem trouglova i n-gonova mogu dobiti neravnine
koje je teško kontrolisati. One neće nastati na ravnim površinama, nego će postajati sve vidljivije i vidljivije kako model
bude postajao sve zaobljeniji. Slične nepravilnosti se mogu očekivati i kod površina na kojima se susreće mreža veće i
mreža manje gustine. To znači da se neravnine ne javljaju zbog trouglova i n-gonova, nego zbog razlike u veličini poligona
koji se nalaze jedan do drugog. Rešenje ovog problema može se naći u dodavanju dodatnih ivica koje će smanjiti razliku u
veličinama poligona i dati oštrije prelaze.

16. Polovi
Polovi su verteksi koji imaju više ili manje od četiri poligona na kojima se nalaze. Kao trouglovi i n- goni, polovi mogu da
prouzrokuju neželjene deformacije površine prilikom animiranja. Polovi se javljaju na polovima sfere, ali mogu biti dobijeni
i jednostavnim ekstrudiranjem poligona iz jednostavne mreže kvadova. Veoma ih je teško izbeći ali se dobrim planiranjem
mogu postaviti na mesta koja nisu toliko vidljiva i na mesta koja se prilikom animacije neće previše pomerati.

17. Petlja ivica


Petlja ivica je grupa ivica koje se nastavljaju jedna na drugu po čitavom obimu modela kako bi se vratila u svoju početnu
tačku. Na prethodnoj slici prikazana crvenom bojom. Petlja se prekida ukoliko neki verteks na njoj ima više od četiri ivice
koje izlaze iz njega. Uređenost mreže može se proveriti upravo ivicama koje formiraju petlje. Postavljanje petlji na model
je važno, najviše zbog načina na koji će se taj model deformisati. Samim tim ključno je postavljati ih na mesta koja su, kada
je u pitanje kreiranje karaktera, određena anatomijom. Na taj način će se osigurati pravila deformacija poligona.

9
OPD I DEO

18. Modelovanje uz pomoć poddeobe poligona


Modelovanje uz pomoć poddeobe poligona počinje kao boks modelovanje. Prvo se pravi grubi oblik predmeta dok se
postepeno dodaju detalji. Model treba da ima što je manje poligona kako bi se zahtevnost prema računaru i jednostavnost
upravljanja istim svela na minimum. Kada se primeni neki od algoritama za poddeobu poligona prvobitni poligoni bez
detalja postaju kontrolni elementi sa kojima se upravlja podeljenim poligonima.

Prilikom podele površina ne treba ponavljati podele više od dva-tri puta. Broj poligona se u procesu deljena
učetvorostručuje, što vrlo brzo može dovesti do prevelikog broja poligona koje računar neće moći da prikaže. Posle
nekoliko deljenja površina objekat više neće dobijati na glatkosti i finim prelazima, dostići će maksimum tako da dalje
podele neće imati više efekta. Ako sa dve do tri aplicirane podele model i dalje ne izgleda dovoljno dobro, to je znak da
samo modelovanje nije dobro isplanirano ili izvedeno i da osnovni model treba izmeniti.
Velika prednost modelovanja sa podelama površine jeste prilikom generisanja karaktera za igrice, gde jedan isti karakter
može imati različiti broj poligona u zavisnosti od brzine renderovanja igre na računaru. Takođe, karakteri koji se nalaze
dalje od posmatrača mogu imati manji broj poligona, nego kada se nalaze u krupnom planu.

19. Deformacije objekata


Deformacije su važan alat u procesu modelovanja. Upotreba deformacija je neophodna kada je potrebno postići oblike,
koji bi se inače teško dobili manipulisanjem pojedinačnim poligonima. Deformacije deluju na objekat tako da u skladu sa
parametrima koje poseduju utiču na izgled celokupnog objekta ili njegovog dela u zavisnosti od selekcije. Savijanje,
uvrtanje ili jednostavno skaliranje su neki od primera deformacija. I samo pomeranje verteksa, ivice ili lica jeste
deformacija ali cilj alata jeste da na uređeni i definisani način utiču na veći broj ili sve podobjekate selektovanog modela
kako bi ubrzali proces oblikovanja. Alati sa deformaciju se takođe nazivaju i modifikatori.
Deformacije mreže poligona mogu se izvesti i na način da se objekat, slično vajanju u glini, pritis ka ili izvlači uz pomoć
određenih alata. Najčešće su ti alati u formi četkica čija se jačina može podešavati. Na ovaj način se bez prevelike brige o
strukturi objekta mogu dobijati različiti amorfni oblici.
Efekat upravljanja više od jednog verteksa može se postići posebnom vrstom selekcije verteksa, soft selekcijom koja
takođe spada u alate za deformaciju.
Deformacijama se upravlja preko njihovih parametara. U zavisnosti od njih efekat deformacije može biti veći ili manji.
Prednost podešavanje deformacija na ovaj način jeste da svaka promena parametara može biti animirana. Ukoliko se za
početnu poziciju postavi deformacija od 0 % a za krajnju 100 % tada računar može izračunati tj. animirati pozicije elementa
između zadatih deformacija kako bi se dobio postepeni prelaz iz početne u krajnju poziciju. Ovakav tip animiranja dobro
funkcioniše samo kada su u pitanju jednostavne pravolinijske animacije. Ukoliko putanja kretanja treba da bude
kompleksnija moraju se uzeti u obzir drugi tipovi animiranja.
Deformacije određenog objekta tj. modela mogu biti kontrolisane i uz pomoć drugog objekta. Ideja je kreirati novi objekat
koji će biti jednostavniji i njega deformisati, zatim deformacije primeniti da kompleksniji objekat. Na taj način sa
promenom pozicije jednog verteksa može se uticati na promenu pozicije grupe poligona kompleksnijeg oblika. Drugim
rečima, deformacije sa jednog oblika preslikavaju se na drugi kompleksniji. Za kontrolne oblike se najćešće uzimaju 2d obli
ci kao što su linije. Linije se zatim mogu deformisati na željeni način a nakon toga 3d obliku se mogu dodati komande koje
će preuzeti deformacije sa kontrolnog objekta. Tada kompleksniji 3d oblik preuzima oblik 2d objekta. Veza između dva
povezana objekta se tada ne završava nego ostaje aktivna, tako da se sve dalje deformacije npr. linije i dalje prenose na
kompleksniji 3d oblik. Šablonske deformacije
Šablonske deformacije su one koje su definisane određenim algoritmom. Među najkorišćenijima su deformacije kao što
su deformacije uvrtanja (twist), savijanja (bend) itd. Kontrolišu se preko atributa kao što su ugao, pravac i sl.
Glavna odlika šablonskih deformacija jeste da se malim brojem atributa, kao što se ugao savijanja i sl. utiče na sve vertekse,
ili bar one selektovane, koji se nalaze na objektu. Na ovaj način nije potrebno upravljati podobjektima ponaosob, već se
parametrima deformacije utiče na veći broj podobjekata.

10
OPD I DEO

20. Meka tela


Tkanina i kosa su dobri primeri elastičnih objekata koji reaguju na sile kao što su vetar, gravitacija i pritisak. Kada se objekat
pretvori u meko telo tada verteksi koji su se nalazili u mreži bivaju zamenjeni česticama. Čestice su virtuelne tačke koje
reaguju na virtuelne sile ili se sudaraju sa drugim tipovima materijala i na taj način imaju interakciju sa njima. Čestice u
mekim telima zadržavaju strukturu mreže koju su imali verteksi koje su zamenili. Čestice kontrolišu površinu objekta čineći
ga dinamičkim. Dinamika je određena virtuelnim silama koje se primenjuju na čestice utičući na kretanje celokupne
površine objekta. Virtuelne sile su opisane fizičkim zakonima, tako da kada se primenjuju na kretanje čestica dobija se
realističniji rezultat nego da se verteksi pomeraju manuelno. Koliko će određena sila uticati na objekat takođe može da se
podešava parametrima same sile kao i parametrima vezanim za sam objekat.
Što je više čestica koje sačinjavaju objekat, više kalkulacije je potrebno da se izvede kako bi se dobio krajnji rezultat, tj.
render će biti sporiji.

21. Ograničenja
Najčešća ograničenja koja se postavljaju na 3d scenu jesu ograničenja u kretanju. Određeni objekat može da se kreće
slobodno po sceni ali se njegovo kretanje može ograničitina samo određeni deo, najčešće putanju zadatu preko linije.
Ukoliko se određeni objekat želi postavitina određeno mesto ili pustiti da se kreće po određenoj putanji, to se može uraditi
tako što će mu se ograničiti kretanje svuda po sceni, osim po željenojliniji, koja će u tom slučaju postati putanja.

22. Skelet i muskulatura


Izrada karaktera, da li za igrice, animaciju ili samo pojedinačni render, zahtevan je i obiman posao. Model se izrađuje u
jednoj pozi. Nakon izrade karaktera on se treba postaviti u drugu pozu ili pak više poza. Promena samog modela bila bi
skoro jednako kompleksna kao i modelovanje čitavog karaktera iz početka. Zajednička karakteristika za ljude i mnoge
životinje jeste da imaju skelet. On je po svojoj karakteristici sličan za sve živa bića koja ga poseduju a deli se na endoskelet
i eksoskelet. Kako ljudska bića imaju endoskelet on je ubačen kao gotov model u 3d aplikacije. Funkcioniše na sličan način
kao i pravi skelet, tj. određuju ga veze između definisanih krutih delova tj. kostiju. Kosti su međusobno spojene zglobovima
koji im ograničavaju kretanje i drže ih sve na okupu.
Razlika između pravog skeleta i virtuelnog jeste da se u 3d aplikacijama skelet koristi za pomeranje muskulature tj.
poligonalnog modela. Skelet se postavlja unutar modela, baš kao što se i kosti nalaze obavijene mišićima. Kada se skelet
veže za poligone modela, pokretanje svakog dela skeleta pokreće sve poligone koje se nalaze u njegovoj okolini. Na taj
način jednostavnim zakretanjem kostiruke, dobija se rezultat da se čitava mreža poligona ruke pokreće i prati kretanje
kosti. Ukoliko se animira čitav skelet, poligoni čitavog karaktera pratiće ga i dobiće se utisak da se model kreće.

23. Redosled
Redosled primene deformacija kroz modifikatore utiče na izgled finalnog modela. Svaka modifikacija primenjuje se na
poslednji modifikator u naslazi modifikatora. Ukoliko je na određeni model primenjeno savijanje, on će se saviti po zadatim
parametrima. Ako se, zatim, na njega primenjuje izduženje, savijeni model će se izdužiti. Drugačiji rezultat možemo
očekivatiukoliko isti model prvo izdužimo, a zatim primenimo modifikator savijanja na njega.

11
OPD I DEO

24. NURBS (non-uniform rational Bezier splines)


Razvoj NURBS-a počeo je pedesetih godina XX veka od strane inženjera kojima je bila potrebna matematički precizna
reprezentacija slobodnih oblika sličnih onima koji se koriste na trupovima brodova, spoljašnjim površinama letelica i
karoserijma automobila, a koje su mogle biti tačno reprodukovane kad god je to tehnički bilo potrebno. Ranije
reprezentacije ove vrste površina su samo postojale kao pojedinačni fizički modeli kreirani od strane dizajnera. Pioniri
ovog razvoja bili su Pierre Bezier, koji je radio kao inženjer u Renou i Paul de Casteljau, koji je radio u Citroenu, obojica
poreklom iz Francuske. Njih dvojica su radili skoro paralelno, ali nijedan od njih nije znao za rad ovog drugog. Bezier je
objavio rezultate svog rada i postao poznat širokom krugu korisnika kompjuterske grafike zbog svojih splajnova (koji su
reprezentovani kontrolnim tačkama koje leže van same krive) poznatijih kao Bezierove krive, dok je Casteljauovo ime
ostalo relativno nepoznato do sredine sedamdesetih kada su njegovi patenti prepoznati kao isti oni koje je kasnije objavio
Bezier. U početku NURBS su korišćeni u vlasničkim CAD paketima proizvođača automobila. Kasnije su postali sastavni deo
standardnih paketa kompjuterske grafike.
Sedamdesetih godina su računari bili već dovoljno razvijeni kako bi mogli rešavati kompleksnije proračune, međutim
nedostajalo je softvera koji bi preneli kompleksnija zakrivljenja u računarsku terminologiju. I pre pojave računara
industrijski dizajn je poznavao zakrivljene površine, ali su se one dobijali mehanički, zanatski, zatezanjem i krivljenjem
štapova na površini stola. Međutim prenos kompleksnijih linija slobodnih formi sa crteža na kalupe je bilo neprecizno i
neefikasno za sve oblike koji nisu bili prave linije, krugovi ili parabole. Castelje i Bezijer, jedan za Citroen drugi za Reno, su
prvi koji su koristili polinomne parametrijske formule kako bi opisali krive na računarima. Na ovaj način su oni postavili
osnove za nešto što je danas poznato kao Computer Aided Geometric Design (CAGD).
Prava linija ima krajnje tačke. Ove tačke imaju svoju poziciju što definiše početak i kraj linije. Za jednostavnu krivu, dovoljno
je pretvoriti ove tačke u kontrolne tačke. Kontrolne tačke imaju drugu svrhu: One određuju stepen zakrivljenosti. Ovaj
stepen se ne vezuje za celu liniju već samo za njene krajeve tj. kontrolne tačke. Stepen zakrivljenosti se smanjuje ukoliko
se udaljavamo od kontrolne tačke i ove krive nazivamo prostim.
Metod opisa linije zasnovan je na krivi koja se nalazi između dve tačke. Tim tačkama pridodate su još dve kontrolne koje
određuju pravac kretanja linije, a definisane su kao tangente na date tačke. Tako definisana kriva nadograđuje se novim
krivama, koje su definisane svojim polinomom, kreirajući tako željeno zakrivljenje.
NURBS krive i površine prvobitno nisu bile zamišljene kao alati kojima će se vizualizovati određeni objekti nego kao opis
koji će računarima, a zatim i mašinama opisivati zakrivljenja. Na ovaj način dobijaju se linije koje su opisane matematički i
na taj način razumljive mašinama, međutim a bi se NURBS površina prikazala potrebno je da bude konvertovana u
poligonalnu mrežu, preko interaktivnog renderovanja.
Interaktivno renderovanje u realnom vremenu NURBS krivi i površina prvi put je postalo dostupno na radnim stanicama
Silicon Graphics 1989. godine. Prvi interaktivni NURBS modeling program za PC razvijen je 1993. od strane CAS Berlin u
saradnji sa tehničkim univerzitetom u Berlinu. Danas, profesionalne aplikacije za kompjutersku grafiku dostupne za PC
računare sadrže NURBS tehnologiju koja je obično realizovana intergracijom od strane specijalizovane kompanije. NURBS
se najčešće koristi u CAD (Computer-Aided Design), CAM (Computer-Aided Manufacturing) i CAE (Computer- Aided
Enginering), takođe i u brojnim industrijskim široko prihvaćenim standardima kao sto su IGES, STEP, ACIS i PHIGS. NURBS
alati se mogu naći u brojnim 3D programskim paketima za modelovanje i animaciju kao što su Blender, Maya, Rhino3D,
Cinema 4D, 3DS Max... Sem ovih, postoje i specijalizovani NURBS programski paketi kao što su Autodesk Alias Surface,
solidThinking i ICEM Surf. Oni dozvoljavaju reprezentaciju geometrijskih oblika u kompaktnim formama. Računarski
programi mogu njima efikasno rukovati i pri tom je moguća jednostavna interakcija sa korisnikom računara.
Za potrebe proizvodnje ili računarski upravljanim mašinama (CAM) program će u potpunosti razumeti NURBS opis površine
i izraditi je bez problema. Neće biti potrebe za pretvaranjem NURBS-a u poligone i tako dovesti do razlike krajnjeg
izrenderovanog rezultata i modela. Za proizvodne svrhe upotreba NURBS kriva i površina je mnogo preciznija nego
upotreba poligona, jer sadrži beskonačni broj uzoraka na krivi (jer su matematički definisane). Ovakva preciznost čini
NURBS nezamenjivim kod industrijskog dizajna.

12
OPD I DEO

NURBS krive su poseban tip linija koje su međusobno spojene na takav način da čine oble NURBS površine. Oble površine
koje kreiraju moguće su uz pomoć velikog broja poligona koji ih sačinjavaju. Mnogi industrijski proizvodi kao što su
automobili i kućni aparati modelovani su upravo uz pomoć NURBS krivi. Oblici koji se mogu dobiti uz pomoć njih često se
definišu kao organski, ali su odlična osnova za sve proizvode industrijskog dizajna. Kreiranje zakrivljenih linija zahteva
dodatne osobine koje se moraju dodati u proračun iscrtavanja linija. Što je veći broj dodatnih osobina to su i zahtevi za
izračunavanjem složeniji.
NURBS površine su funkcije dva parametra koja se mapiraju u površinu u trodimenzionalnom prostoru. Oblik površine je
definisan kontrolnim tačkama. Kontrolne tačke su uvek vezane ili direktno za krivu/ površinu ili se ponašaju kao da su za
njih povezane gumicom. Zavisno od tipa korisničkog okruženja, oblikovanje se može izvršiti preko kontrolnih tačaka
elementa, koje su najočiglednije i najčešće za Bezier krive ili preko alata višeg nivoa, kao što su splajn modelovanje ili
hijerarhijsko editovanje.

Na slici može se videti izgled NURBS površine sa označenim elementima. Kompleksne površine su obično sastavljene od
više NURBS površina poznatijih kao “zakrpe”. Zakrpe treba postaviti na taj način da su granice između njih nevidljive. Ovaj
pojam je matematički objašnjen preko koncepta geometrijskih kontinuiteta. Alati višeg nivoa postoje zahvaljujući
sposobnosti NURBS površina da kreiraju i uspostavljaju geometrijske kontinuitete različitih nivoa.
NURBS krive su definisane svojim redosledom, setom “opterećenih” kontrolnih tačaka i vektorom čvora. NURBS krive i
površine su generalizacija B-splajnova i Bezier krivi i površina. Primarna razlika je opterećenje kontrolnih tačaka koje čine
NURBS krive racionalnim (neracionalni B-splajnovi su specifičan slučaj racionalnih B-splajnova). Kako se Bezierove krive
razvijaju samo u jednom parametarskom pravcu, obično nazvanom U, NURBS površine se razvijaju u dva parametarska
pravca nazvana U i V.
Utvrđivanjem NURBS krive, odnosno vrednosti parametra, kriva može biti reprezentovana u dvodimenzionalnom ili
trodimenzionalnom Kartezijanskom prostoru. Isto tako, utvrđivanjem NURBS površine, odnosno različitih vrednosti dva
parametra, površina može biti reprezentovana u Kartezijanskom koordinatnom sistemu. NURBS krive i površine su korisne
iz više razloga:
• one su invarijantne pod perspektivnim transformacijama: operacije kao što su rotacija
• i translacija mogu biti izvršene nad NURBS krivama i površinama njihovim apliciranjem na kontrolne tačke
• one nude jednu uobičajenu matematičku formu za obe standardne analitičke oblike i oblike slobodnih formi
• omogućavaju i fleksibilnost za kreiranje velikog broja varijacija oblika
• redukuju količinu korišćene memorije pri skladištenju oblika
• one mogu biti razumno brzo ocenjene od numerički stabilnih i preciznih algoritama.

25. Kontrolne tačke


Kontrolne tačke definišu oblik krive. Obično je svaka tačka krive dobijena uzimanjem sume opterećenja broja kontrolnih
tačaka. Opterećenje svake tačke varira zavisno od parametara koji je vode. Za krivu stepena d opterećenje bilo koje
kontrolne tačke je različito od nule pri d+1 intervalu parametra prostora. U tom intervalu opterećenje se menja prema
polinomnoj funkciji (baznoj funkciji) stepena d. Na granicama intervala bazne funkcije idu blago ka nuli i ovo opadanje je
određeno stepenom polinoma.

13
OPD I DEO

Kao primer, bazična kriva prvog stepena je funkcija u obliku trougla. Raste od nule do jedan, zatim pada ponovo do nule.
Dok raste, bazna funkcija prethodne kontrolne tačke pada. Na taj način kriva se interpolira između dve tačke i rezultujuća
kriva je poligon, koji je kontinualan, ali nije diferencijabilan na krajevima intervala ili na čvorovima. Što polinom ima veći
stepen, odgovarajući proizvod će biti više kontinualan. Bitno je da u intervalu priroda polinoma bazne funkcije i linearnost
konstrukcije čine krivu savršeno uglađenom, tako da je samo na čvorovima moguće povećanje njenog diskontinuiteta.
Činjenica da sama kontrolna tačka utiče na intervale koji su aktivni je veoma poželjna osobina, poznata kao lokalno
održavanje. To prilikom modelovanja znači da je moguće uticati na jedan deo površine, dok ostali mogu ostati netaknuti.
Dodavanje više kontrolnih tačaka omogućava bolju aproksimaciju date krive, iako samo određena klasa krivi može biti
reprezentovana tačno sa konačnim brojem kontrolnih tačaka.
NURBS krive takođe imaju i skalarnu vrednost opterećenja za svaku kontrolnu tačku. Ovo omogućava više kontrole nad
oblikom krive bez nepotrebnog povećavanja kontrolnih tačaka. Preciznije, dodaje konične delove u obliku krugova i elipsi
grupi krivih koje mogu biti reprezentovane tačno. Termin racionalne u nazivu NURBS odnosi se na ova opterećenja.
Interpolacijom ovih kontrolnih vektora preko drugih dimenzija parametarskog prostora dobija se kontinualni set krivi koji
definiše površinu.

Red NURBS krivi definiše broj susednih kontrolnih tačaka koje utiču na bilo koju datu tačku krive. Kriva je reprezentovana
matematičkim polinomom stepena za jedan manjim od reda krive. Odatle sledi da se krive druge po redu (koje su
reprezentovane linearniom polinomom) zovu linearnim krivama, treće po redu kvadratnim krivama, četvrte kubičnim.
Broj kontrolnih tačaka mora biti jednak redu krive ili veći do njega. U praksi, kubične krive su one koje se najviše koriste.
Krive petog i šestog reda su nekad korisne, naročito za dobijanje kontinualnih proizvoda višeg reda, ali krive višeg stepena
se uglavnom ne koriste jer praktično vode ka internim numeričkim problemima i imaju tendenciju da zahtevaju
neproporcionalno veće vreme izračunavanja.
Za kompleksnije krive se kaže da su one krive koje imaju više tačaka između krajnjih kontrolnih tačaka. To ih čini
bezijerovim krivama, koje mogu imati neograničen broj kontrolnih tačaka. Ovo donosi izuzetno važnu karakteristiku,
stepen krive. Stepen krive je jednak broju kontrolnih tačaka manje jedan. Što je veći stepen krive to je matematika
proračuna kompleksnija. Jedno od rešenja je kreirati više krivih i spojiti ih zajedno. Ali ovaj postupak ima svoje propratne
problema. Umesto toga se koristi drugi tip krivih, Bezijerovi splajnovi ili B - splajnovi.

26. B-splajn
Prave linije imaju svoje početne i krajnje tačke. Tačke su definisane samo pozicijom u prostoru iz kojih linija počinje i gde
se završava. Za potrebe iscrtavanje jednostavnijih krivi tim tačkama tj. vertekstima dodaju se kontrolne funkcije.
Kontrolnim verteksima omogućeno je iscrtavanje promenljivih nagiba krive. Što više kontrolnih veteksa ima kriva to njeno
zakrivljenje može biti komplikovanije. Dodavanjem većeg broja kontrolnih verteksa dobija se Bezierova kriva. Broj
kontrolnih verteksa određuje stepen krive. Stepen krive se određuje brojem kontrolnih verteksa minus jedan. Ukoliko
kriva ima četiri kontrolna verteksa ona je kriva trećeg stepena. Što je veći stepen krive komplikovaniji je njen proračun,
što utiče i na brzinu samog proračuna. Umesto korišćenja Bezier krivi, kako bi se olakšalo proračunavanje linije, kao i njena
kontrola, mogu se koristi Bezier splajnovi il i B-spajnovi.
B-splajnovi se mogu predstaviti kao savitljivi štapovi koji su na određenim mestima opterećeni tegovima. Krutoća štapa
neće dozvoliti njegovo preterano savijanje ili prelamanje nego će se on na mestima na kojima je opterećen savijati u finom,
neprelomljenom i oblom luku.
Najveća razlika između Bezier krivi i B-splajnova je to što se kontrolne tačke na B-splajnu ne moraju nalaziti na samom
splajnu. Kontrolne tačke su povezane međusobno linijama stvarajući kontrolnu poli-liniju koja se naziva trup.
B-splajn takođe može da se definiše brojem stepeni. On je sastavljen od nekoliko jednačina čijim se stepenovanjem utiče
na njegovu zakrivljenost. Drugim rečima broj stepeni B-splajna govori koliko će kriva biti blizu kontrolnih verteksa. Što je
veći broj stepeni, kriva će biti bliže kontrolnim verteksima. Na ovaj način bez pomeranja kontrolnih verteksa može se
uticati na zakrivljenost B-splajna. Umesto stepena krive, u ovom slučaju može se govoriti o redu krive. B-splajn koji je
četvrtog stepena definiše se kao B-splajn petog reda.

14
OPD I DEO

Sledeća kontrolna osobina je čvor. Čvor je broj koji pokazuje koliki će uticaj imati kontrolni verteks na deo splajna koji
definiše.
Pored ove dve osobine, B-splajnovi tj. kontrolni verteksi mogu biti definisani i preko težine. Što je veća težina kontrolne
tačke to će ona većom silom privlačiti splajn i na taj način menjati njegovo zakrivljenje. Prilikom kreiranja B-splajna, sve
kontrolne tačke imaju istu težinu vrednosti 1. Pošto su sve vrednosti težine na početku uniformne tj. iste B-splajn se naziva
uniforman. Ukoliko su vrednosti težine kontrolnih tačaka različite tj. ne uniformne tada se B-splajnovi nazivaju ne
uniformni racionalni B-splajnovi ili NURBS.
Još jedan bitni kontrolni aspekt B-splajnova je odnos međusobnih uticaja kontrolnih tačaka. Oni u osnovi definišu koliki
uticaj ima kontrolna tačka na svaki deo krive ponaosob. Jednostavan B-splajn je gde su ove vrednosti iste, tako da svaka
kontrolna tačka utiče na krivu istim intenzitetom. Takve krive su uniformne i ne racionalne. Kada je uticaj kontrolnih tačaka
na krivu različit, tada se radi o ne uniformnim racionalnim B-splajnovima odnosno NURBS.

27. Iscrtavanje i manipulacija krivama


NURBS krive se mogu dobiti na više načina. Prvi način je da se odgovarajućom alatkom ona iscrta na sceni. Iscrtavanje se
najčešće vrši dodavanjem kontrolnih tačaka, između kojih se iscrtavaju segmenti krive. Drugi način je da se već iscrtana
linija na sceni konvertuje u NURBS krivu. Kreiranje krive preko postavljanja kontrolnih tačaka se može vršiti na dva načina.
Prvi je dodavanje tačaka na samoj krivi a drugi je postavljanje kontrolnih tačaka u poliliniju trupa, tj. kontrolnih tačaka koje
se nalaze van same linije.
Ako se kontrolne tačke nalaze na liniji, tada se zakrivljenost same linije može menjati uz pomoć kontrolnih poluga na svakoj
od kontrolnih tački. Kontrolne poluge predstavljaju tangente linije. Dužina kontrolnih poluga takođe utiče na zakrivljenost
krive. Oblik krive se može promeniti i pomeranjem kontrolnih tačaka van same krive, tada se one ponašaju kao tegovi koji
opterećuju krivu i daju joj zakrivljenje određeno udaljenošću kontrolnih tačaka i njihovom težinom. Ukoliko je potrebno
dodati više pravaca zakrivljenosti, tj. detalja na liniji može joj se dodati još kontrolnih tačaka.

28. NURBS površine


Površine koje se dobijaju uz pomoć NURBS krivi ponašaju se kao i one. Površina se sastoji iz mreže NURBS linija sa
kontrolnim tačkama na presecima čijim se promenama osobina i pozicije, menja i sama NURBS površina. Sve kontrolne
tačke nalaze se na presecima kontrolnih linija. Kao i kod mreže poligona, NURBS površina određena je UV koordinatama.
Krive se dodaju samo po U i V pravcima tako da rezultuju mrežom kvadrata, tj. kvadova. Dodavanje detalja na NURBS
površini može biti prilično zahtevno. Nije moguće na postojeću mrežu jednostavno dodati jednu kontrolnu tačku. To znači
da se površini mora dodati bar jedna NURBS linija.
Korišćenje pojedinačnih površina za modelovanje poput lica, koje zahtevaju široke oblasti sa malom količinom detalja i
druge oblasti gde je potrebno mnogo detalja, mogu biti veoma komplikovane. Rešenje je korišćenje više NURBS površina
koje se u tom slučaju nazivaju zakrpe (patch). Međutim i za njihovo uklapanje potrebno je određeno planiranje, jer se
zakrpe mogu međusobno spojiti jedino ako imaju na krajevima isti broj kontrolnih tačaka.
Promene na NURBS površinama se odvijaju slično kao i kod poligona. Ekstrudiranje se obavlja na sličan način.
Ekstrudiranje se ne mora obavljati samo delimično za određeni segment, ono može biti primenjeno na čitavu krivu. Čak
ne mora biti pravolinijski, nego se može vršiti kružno, oko centralne ose, opisujući trodimenzionalni objekat sa konturama
početne krive.
Druge metode modelovanja su takođe primenljive. Jedna od njih je i loft. Loft je metoda kojom se spajaju dva različita
oblika, tako da se između njih kreira površina koja ih povezuje. Kod lofta oba oblika koja se spajaju moraju imati isti broj
kontrolnih tačaka. Takođe, pozicije oba oblika moraju biti takve da ne dođe do neželjenog uvijanja novo kreirane loft
površine.
NURBS krive imaju nekoliko prednosti kada je u pitanju modelovanje. Kada se jednom savladaju veoma ih je lako
oblikovati. Zbog standardne matematike moguće ih je koristiti u različitim aplikacijama. I NURBS je baziran na realnim
krivama a ne na mnoštvu pravih linija za razliku od poligona, stoga ima zaobljenije površine i prelaze.

15
OPD I DEO

NURBS površine imaju i određene mane koje je potrebno znati kako bi se modelovanje uz pomoć NURBS krivi koristilo na
najbolji mogući način. Zbog svoje matematičke kompleksnosti NURBS površine nije moguće prikazati na sceni. Na sceni
su, uz pomoć poligona, prikazane samo njihove aproksimacije. Pravi izgled NURBS krivi dobija se uz pomoć renderovanja,
tj. konačnog prikaza. Ipak, njihova prednost jeste što one jesu istinske krive a ne skup ravnih ivica i poligona. Zbog toga
one daju veoma glatke površine bez prevelike potrebe za memorijskim zahtevom, kao što bi to bio slučaj kod poligona, čiji
broj mora biti veoma veliki kako bi se dobila glatka zakrivljena površina. Ova prednost im može biti upravo i mana, kada
je reč o modelovanju objekata sa oštrim ivicama i ćoškovima. Dalje, ukupno, cela površine se ne deformiše uvek na
očekivani način, tako da je uz pomoć njih veoma zahtevno animirati organske karaktere. Prilikom deformacija zakrpe
takođe mogu da se rastave i nekontrolisano nakrive odavajući na taj način spoj. Na kraju, prilikom renderovanja NURBS
površine se pretvaraju u mrežu poligona jer se svetlost u renderu izračunava prilikom odbijanja o poligone a ne krive.
Takođe su manje zahtevne po pitanju memorije i proračuna. Međutim mane NURBS modelovanja jesu taško dobijanje
oštrih ivica i ćoškova, kompletne površine se ne deformišu najbolje, stvarajući poteškoće pri animaciji organskih stvorenja.
Patch-ovane površi se razdvajaju i stvaraju nepravilnu geometriju pri deformaciji.

16

You might also like