Professional Documents
Culture Documents
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.
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
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
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.
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.
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.
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.
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.
9
OPD I DEO
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.
10
OPD I DEO
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.
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
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.
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.
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