Untitled

Transcription

Untitled
(c) Založba Pasadena, d. o. o., 2009. Vse pravice pridržane. Brez pisnega dovoljenja založnika je prepovedano reproduciranje,
distribuiranje, javna priobčitev, predelava ali druga uporaba tega avtorskega dela ali njegovih delov v kakršnemkoli obsegu
ali postopku, vključno s fotokopiranjem, tiskanjem ali shranitvijo v elektronski obliki. Tako ravnanje predstavlja, razen v
primerih iz 46. in 57. člena Zakona o avtorskih in sorodnih pravicah, kršitev avtorske pravice.
Avtorja:
Blaž Erzetič
dr. Helena Gabrijelčič
Lektura:
dr. Rebeka Vidrih
Recenzija:
dr. Narvika Bovcon
dr. Tanja Nuša Kočevar
Oblikovanje in postavitev:
Blaž Erzetič
Izdala:
Založba Pasadena, d. o. o.
Brnčičeva ulica 41a, 1000 Ljubljana
Tel.: (01) 475 95 35
Faks: (01) 560 65 03
E-pošta: knjige@pasadena.si
www.pasadena.si
Tisk:
Itagraf, d. o. o., Ljubljana
Naklada:
1000 izvodov
CIP - Kataložni zapis o publikaciji
Narodna in univerzitetna knjižnica, Ljubljana
004.92(035)
ERZETIČ, Blaž
3D od točke do upodobitve / Blaž Erzetič, Helena Gabrijelčič. 1. natis. - Ljubljana : Pasadena, 2009
ISBN 978-961-6361-99-6
1. Gabrijelčič, Helena, 1976247927040
3D
od točke
do upodobitve
druga, izpopolnjena izdaja
Blaž Erzetič
Helena Gabrijelčič
Zahvala
Dr. Tanji Nuši Kočevar in dr. Narviki Bovcon se iskreno
zahvaljujeva za strokovno recenzijo učnega gradiva.
Prav tako se želiva zahvaliti tudi dr. Rebeki Vidrih za
lekturo.
Za sodelovanje se želiva zahvaliti tudi avtorjem Špeli
Čadež, Dušanu Kastelicu, Igorju Šinkovcu in Zvonku
Čohu za dovoljenje uporabe slikovnih izsekov iz njihovih animacij. Zahvale gredo tudi Muzeju in galerijam Ljubljana ter Bernardi Županek, s pomočjo
katerih smo poglavje o animacijah opremili tudi z
zgodovinskim slikovnih gradivom. Zahvaljujeva se
tudi Andreju Iskri za avtorstvo navodil izdelave 3D
slike v programu Blender.
Sledeči posamezniki, podjetja in organizacije so
prijazno dovolile uporabo slikovnega gradiva svojih izdelkov: James F. O’Brien, David Forsyth, Adam
Kirk, Janja Pirc, Andrej Iskra, Mandava Rajeswari,
Dhanesh Ramachandram, Narvika Bovcon, Barak Reiser, Aleš Vaupotič, Kolektivni Kartoni, Platige Image,
ZootFly, Cybermind Interactive Nederland, CyberGlove Systems LLC, 3Dconnexion, Mobilizy, Wizard
Solutions Inc., Assembly Organizing in Conspiracy
demogroup.
Posebna zahvala gre tudi avtorjem, ki predstavljajo
svoje kreacije v galeriji: Soenke Maeter, Maxim Goudin, Daniel Lovas, Marco Bauriedel, Ricardo Meixueiro, Denis Tolkishevsky, Michael Grote, Aleksandr
Kuskov, Eugenio Garcia Villarreal, Liyidong, Igor
Catto, Jian Xu, Ivan Ozyumov, Nick Govacko, Teoh
Wei Liat, Sven Juhlin, Neil Maccormack, Roger Vilà
Castañé in Chen Qingfeng.
Vsebina
O knjigi
Kratka zgodovina
Ploskovni oris prostora in stereografija
Ploskovni oris prostora
Stereogrami
Stereograf
Anaglif
Vektograf
Metoda mrka
SIRDS
Lečna slika
Hologram
Osnovna geometrija
Koordinatni sistemi
Kartezični koordinatni sistem
Polarni koordinatni sistem
Cilindrični koordinatni sistem
Sferni koordinatni sistem
Rotacije in nagibi
Trigonometrične funkcije
Od točke do telesa
Primitivni objekti
Ploskovna telesa
Platonska telesa
Piramide
Krogla, elipsoid in torus
Valj, stožec in prisekani stožec
Dodatni osnovni elementi
Testni objekti
Barvni modeli v računalniški grafiki
Problematika barvnega prikazovanja v
računalniški grafiki
Izbira barvnega modela
Dimenzije barvnih modelov
Barvni modeli v računalniški grafiki
Barvni model RGBteoretični
Barvni model RGBprikazovalnika
Problematika uporabe barvnega modela RGB
v praksi
10
11
15
17
18
18
18
19
19
20
20
21
23
25
25
25
25
25
27
27
28
29
29
30
30
30
31
31
32
33
36
36
37
39
39
40
41
Barvna modela HSV in HSL
Barvni model HSV (HSB)
Barvni model HSL
Problematika uporabe barvnih modelov
HSV in HSL
Barvna modela YUV in YIQ
Barvni model CMY
Spektralno-percepcijski barvni modeli
(barvni modeli CIE)
Standardizirane barvne vrednosti XYZ in
barvni model CIELab
Povezava med barvnim modelom RGB in
standardiziranimi barvnimi vrednostmi XYZ
Uporaba kanalov in histogramov barv
Barvni kanali
Alfa kanal
Histogrami
Modeliranje
Minimalna konfiguracija scene
Vrste objektov po principu modeliranja
Poligoni
NURBS
DEM
Opisne krogle
Proceduralni objekti
Modelirne operacije
Osnovni operatorji na objekt in njegove
komponente
Booleove operacije
Modeliranje z množenjem
Rotacija okoli osi
Izrinjanje
Množenje več krivulj
Razdeljevanje obstoječih poligonov
Med poligoni in NURBS-i
Grafični vmesnik
Modeliranje v praksi
Primer 1: Stol
Primer 2: Hruška
41
41
42
43
43
44
45
45
46
47
47
48
48
49
51
52
52
53
53
54
55
56
56
56
58
58
59
60
60
62
62
66
66
68
Primer 3: Silhueta človeka
Primer 4: Slika kot referenca
Materiali in teksture
Fraktali
Fraktali v naravi
Opisovanje narave s fraktali
Materiali
Senčenje
Barva
Reflektivnost in difuznost
Odsevnost
Prozornost
Svetlost
Reliefnost
Teksture
Mapiranje
Ploskovno mapiranje
Krogelno mapiranje
Cilindrično mapiranje
Kubično mapiranje
UV mapiranje
Proceduralne teksture
Svetloba in luči
Svetloba in materija
Narava svetlobe
Svetloba kot delec
Svetloba kot valovanje
Interakcija svetlobe z materijo
Refleksija in difuzija
Lom
Transmisija
Absorpcija
Sipanje
Difrakcija
Interferenca
Disperzija
Polarizacija
Moč sevanja svetlobe
Weinov zakon
Barvna temperatura
Senca in polsenca
72
74
77
79
83
83
84
84
84
85
86
86
87
87
89
89
89
89
90
90
90
94
95
97
97
98
98
98
98
100
101
102
103
104
104
105
105
106
106
107
107
Kompleks svetlobnih učinkov in senc
Luči v 3D prostoru
Ambientalna svetloba
Usmerjena luč
Točkasti izvor svetlobe
Reflektor
Površinska luč
Linearna luč
Osvetljevanje z objektom
Kombinacija luči
Negativna luč
Ambientalna svetloba kot dodatna luč
Volumetrična svetloba
Odsev svetlobe v leči
Indirektno osvetljevanje
Mapirana senca
Kavstika
Kamera in upodabljanje
Osnove fotografije in kinematografije
Simulacija realnih kamer
Opazovalni sistem in tok svetlobe skozi
kamero
Svetlobni senzorji
Zaslonka in zaklop
Zaslonka
Zaklop
Leča, gorišče in goriščna razdalja
Predmetna razdalja in slikovna razdalja ter
nastanek slike
Vidni in slikovni kot, vidno in slikovno polje
Globina polja
Meglenje premika
Gibanje in število slik na časovno enoto
Prepleteno in neprepleteno obnavljanje slike
Kamera v 3D-ju
Dodatne nastavitve kamere
Upodabljanje
Velikost slike
Mehčanje robov
Redukcija šuma z vzorčenjem
Globina rekurzije
109
110
111
111
111
111
112
112
112
112
116
116
116
117
118
119
119
131
133
133
133
134
134
134
135
135
136
136
136
138
138
138
139
142
144
144
144
145
145
Shranjevanje
Dodatni učinki
Megla
Okolica
Navidezna okolica
Post procesiranje
Animacija
Definicija animacije
Percepcija gibanja
Vztrajnost vida
Fi in beta fenomen
Začetki in razvoj animacije
Disneyevi principi animacije
Računalniška animacija
Definicija računalniške animacije
2D animacije
3D animacije
Začetki računalniške animacije in zgodovinski
pregled
3D animacije
3D animacije po izgledu
Osnovni principi izdelave animacije
Parametri na voljo pri animiranju v 3D-ju
Osnovne deformacije
Hierarhija
Okostje
Morf
Mehansko-fizikalna dinamika
Posebni učinki
Kombinacija zajete slike in 3D-ja
Frontalno mapiranje
Fiksno frontalno mapiranje
Ukrivljeno ozadje
Zelena zavesa
Partikli
Delovanje mehanske fizike na partikle
Gneča
Vlakna
3D v realnem času
Optimizacija scene
Upodobljevalni pogon
146
148
148
148
149
150
153
155
155
156
156
157
160
163
163
163
164
164
166
166
168
169
169
170
170
172
172
175
178
178
179
180
181
182
182
186
188
191
193
193
Strojna oprema
Dodatna strojna oprema
Uporaba 3D-ja v realnem času
Računalniške igre
Simulacije
Znanstvene aplikacije
Navidezni svetovi
Povečana resničnost, povečana navideznost in
mešana resničnost
VRML
Machinima
Demo scena
Umetniška praksa
Izdelava 3D slike v praksi
LightWave 9.6
3ds Max 9.0
Maya 2009
Blender 2.49
Galerija
Slikovno gradivo
Literaturni viri
Stvarno kazalo
194
195
197
197
198
198
199
200
201
201
202
202
205
208
217
227
Svet zaznavamo prostorsko, v treh dimenzijah: v višino, širino in globino. Človeški očesi sta približno šest
centimetrov narazen, kar povzroči, da vsako oko svojo sliko vidi za odtenek drugače, obe pa možgani
združijo, da si lahko prostorsko predstavljamo svet, ki nas obdaja. Ljudje so poskušali ta pojav izkoristiti
za umetno opisovanje prostora z različnimi tehnikami, vse pod isto oznako – 3D.
3D delimo na dve poglavitni veji: stereograme in tehnike, ki ploskovno orisujejo prostorsko (tridimenzionalno) geometrijo. Čeprav je knjiga namenjena umetnemu ustvarjanju slednje, si bomo v enem izmed
poglavij ogledali tudi stereografijo in njene pristope, saj lahko obe tehniki uspešno kombiniramo.
Računalniško ustvarjene 3D slike so proces, pri katerem računalnik izračuna geometrične prostorske
modele s pomočjo kompleksnih, v ta namen izdelanih algoritmov. Uporabnik prek grafičnega vmesnika
zmodelira predmet v treh dimenzijah in za to namenjeni programi upodobijo (izračunajo) izgled tega
objekta v prostoru. Poleg samega modela objekta moramo definirati še kopico ostalih parametrov, med
katerimi so material, osvetlitev, postavitev gledišča in nastavitev kvalitete upodobitve.
Uporaba te tehnologije se je razvila tako v znanosti (medicina, industrija, arhitektura, simulacije in
vizualizacije) kot tudi v svetu medijske umetnosti (filmi, igre, ilustracije). 3D tehnologija se, še posebno v
zadnjih letih, zelo pogosto pojavlja v vsakdanjem življenju in njena široka uporabnost jo je tudi tehnično
tako razvila, da je v določenih primerih pogosto ne ločimo od fotografij. Da smo dosegli to točko, je bilo
potrebno nemalo razvoja strojne in programske opreme.
O knjigi
Čeprav nas naslov in poglavitni del vsebine knjige opozarjata na 3D kot vejo računalniške grafike, je za razumevanje le-te potrebnih še nekaj okoliških informacij, med katerimi so tako tiste fizikalno-optične kot tudi matematične
in celo biološke narave, saj je percepcija prostora vse prej
kot enostavna. Med računalniško-tehničnimi poglavji se
pojavljajo tudi takšna, ki opisujejo dejavnike, ki so nujni za
razumevanje našega zaznavanja prostora in premika.
Ko imamo enkrat osvojeno znanje o 3D modeliranju in
upodabljanju, nam ne bo več težavno uporabljati katerokoli
programsko orodje. Ravno zato se knjiga osredotoča na
generičnost podajanja znanja in ne prikazuje nobenega
specifičnega orodja, saj ta temeljijo na istih principih.
Razlikujejo se v detajlih, dinamiki, organizaciji in nenazadnje
tudi po izgledu. Kateri program si bomo izbrali za delo, je
odvisno od vsaj dveh dejavnikov: za kaj ga potrebujemo in
na kakšnem nivoju.
S prvim dejavnikom se najprej vprašamo, kaj bomo delali:
tehnične vizualizacije, ilustracije, animacije, računalniške
igre ali kaj drugega ­­­­– na primer posebni učinki v filmski
industriji. Naložba v programsko opremo je torej odvisna
ne samo od področja uporabe, ampak tudi od zahtevnosti končnega izdelka. Veliko proizvajalcev ponuja testne
različice svojih programov, ki jih potencialni kupec lahko
preizkusi, preden se odloči za nakup, zatorej je priporočljivo
to izkoristiti in si na ta način razširiti pogled na to, kaj tržišče
ponuja.
Kratka zgodovina
Ploskovni oris
prostora
in stereografija
Osnovna geometrija
Barvni modeli v
računalniški grafiki
Modeliranje
Materiali in teksture
Svetloba in luči
Kamera in
upodabljanje
Animacija
Posebni učinki
3D v realnem času
Izdelava 3D slike v
praksi
Galerija
Kratka zgodovina
Začetki računalniške grafike segajo v leto 1960, ko je pri
Boeingu zaposleni oblikovalec William Fetter skušal izdelati
proces za optimizacijo prostora v notranjosti letalske kabine. Njegov dosežek je bila računalniško ustvarjena projekcija človeka. Fetter je to poimenoval “računalniška grafika”,
pojem, ki je sprožil množico dogodkov, ki so sledili tem
začetkom. Tri leta kasneje je Ivan Southerland spravil Fetterjve poskuse v gibanje. To je bila njegova doktorska disertacija z naslovom Skicirka: Grafični komunikacijski sistem
med človekom in strojem (orig. Sketchpad: A Man-machine
Graphical Communications System). Človek je lahko prvič
interaktivno ustvarjal prek računalniškega prikaza, kar je
bil tudi prvi grafični vmesnik, šele mnogo kasneje poznan
pod kratico GUI (Graphic User Interface). Southerland je
po svojem doktoratu delal v ameriški vojski, ki je bila takrat
eden vodilnih inovatorjev v računalništvu. Sicer so bila bolj
pomembna njegova delovanja na Univerzi v Utahu, ki je
tudi imela prvi razvojni oddelek za računalniško grafiko.
Prvi poskusi 3D grafike so bili zelo grobi, v glavnem mrežni
modeli objektov. Objekt je bil sicer razpoznaven, vendar se
je pri tem izrisu videl celoten model, kot da bi bil prozoren.
Ta izris je prišel bolj v poštev šele po iznajdbi algoritmov za
skrivanje nevidnih robov, ki so ga razvili štirje Southerlandovi
sodelavci in ga poimenovali HSR (Hidden Suface Removal).
Ko je bil enkrat ta princip izpolnjen, ni bilo več večjih ovir za
razvoj ploskovnega senčenja.
Njegova disertacija je pokrivala področja teksturiranja,
informacije o globini in upodabljanja ukrivljenih predmetov.
Teksturiranje je 3D povzdignilo na nov nivo, saj se je lahko
na ta način bolj realistično opisovalo naravo. Na idejo
teksturiranja je v času svojega študija Catmull prišel, ko se
je pogovarjal še z enim študentom, Lanceom Williamsom
o postavitvi navideznega gradu, kjer bi slike (teksture)
projicirali na stene in pohištvo. Če ta stvar deluje v naravi,
je razmišljal Catmull, bo tudi v navideznem svetu.
Vzporedno tem dogodkom je leta 1975 francoski matematik
Benoit Mandelbrot izdal knjigo, sad dvajsetletnih raziskav,
z naslovom Fraktali: forma, verjetnost in dimenzija (orig.
Les objets fractal, forme, hasard et dimension). Fraktalna
geometrija, kot jo je poimenoval, je bila pomembna za
računalniško opisovanje narave, saj je črpala vzporednice iz
le-te ter dovoljevala vnašanje motenj.
Ena najpomembnejših dimenzij v 3D upodabljanju je dobila
osnove leta 1976 s strani Jamesa Blinna, takrat zaposlenega
v Jet Propulsion Laboratory v Pasadeni. Tehnika, katero je
razvijal, je bila podobna teksturiranju, le da je namesto
uporabljanja barvnih podob objekt senčil tako, da je ta s
pomočjo teksture dobil reliefni učinek.
Da bi objekt lahko pridobil na ločljivosti, še posebno ob
približevanju, je bila takrat edina možnost povečanje števila
poligonov (ploskev, ki definirajo površino objekta). Seveda
je to tudi podaljšalo čase izračunov ter zasedlo pomnilnik
in procesor. Kasneje se je pojavil mož po imenu Henry
Gouraud, ki je razvil način za interpolacijo izrisanih točk
na objektu, kar se je naslanjalo na pravokotne vektorje na
ploskve (normale). Bui Tuong Phong je leta 1974 naredil
logičen korak naprej in postavil normale na vsako slikovno
točko posebej. Dosežki so bili vidno boljši, vendar je bil tudi
čas izračuna do stokrat daljši.
Ed Catmull je leta 1974 doktoriral iz računalniških ved.
12
Slika 01.01. Fetterjev Boeing Man
3D
Blinn je istega leta izdal članek o tehniki odboja okolice na
objektu. To je naredil tako, da je upodobil teksturo s šestih
strani (spodaj, zgoraj, spredaj, zadaj, levo, desno), ki jo je
kasneje prilepil na objekt, podobno kot barvno teksturo, in
tako dobil izgled z lastnostmi odboja.
Alvy Ray Smith je kot študent na Univerzi v New Mexicu leta
1964 z računalnikom grafično prikazal spiralo za uporabo v
nekem vremenoslovnem satelitu in kljub svojemu konjičku
– umetnosti – na tem področju ni nadaljeval. Nekoč mu
je prijatelj, dr. Richard Shoup, povedal, da se bo zaposlil
na Xerox PARC-u (Palo Alto Research Center) in razvil
program, s katerim se bo lahko risalo po zaslonu, tako kot
slikarji rišejo po platnu. Smitha ta stvar ni ne pretresla
ne navdušila. Leta 1973 je šel obiskat svojega prijatelja
Shoupa na Xerox. Smith mu je dejal, da ima samo eno uro
časa, ker gre v Kalifornijo poučevat na Berkeley, kjer so ga
ravnokar zaposlili kot profesorja. Ko je zagledal program
SuperPaint, ki ga je razvijal Shoup, je ostal pred njim celih
dvanajst ur in bil nad njim tako navdušen, da je opustil
ponudbo profesorja in se še sam zaposlil na Xeroxu. Oba sta
za svoj program dobila nagrado Emmy za razvoj digitalne
grafike. S tem programom sta postavila temelje grafičnemu
medpomnilniku (ang. frame buffer), ki je dandanes eden
najpomembnejših elementov v računalniški grafiki.
Decembra 1977 je izšla prva revija, namenjena računalniški
grafiki, po imenu Computer Graphics World, vodilna na
področju raziskav v znanstvenih in vojaških simulacijah,
poslovnih uporabah grafike, napredka itd. Ta revija še vedno
izhaja in je predstavila že kar nekaj revolucionarnih raziskav
na tem področju.
Velik korak v upodabljanju je konec sedemdesetih naredil
Don Greenberg na Univerzi Cornell, ko se je lotil algoritmov
z drugačnega zornega kota. Želel je doseči večji realizem
objektov, zato je delal na odbojih, ki so lahko simulirali npr.
polirano kovino, ogledalo itd. To je dosegel tako, da ni več
uporabljal intenzitete in svetlosti svetlobnega izvora (luči),
ampak njegovo energijo.
Sedemdeseta leta so bila torej v znamenju prvih korakov
v pomembnih raziskavah na področju računalniške grafike
in 3D-ja kot segmenta le-te. Osemdeseta in devetdeseta
so bila zibelka novih odkritij, ki so pripomogla k realnemu
izgledu računalniških tvorb do te mere, da jih v nekaterih
primerih ne ločimo od pravega sveta (še posebno filmska
industrija).
Leta 1985 je Commodore prvi izdal grafično zmogljiv
računalnik za plitve žepe. Poimenoval ga je Amiga. Uporabljal je takrat že pet let star Motorolin procesor 68000. Leto
kasneje se je pojavila še družba Silicon Graphics Incorporated (SGI) s svojim računalnikom IRIS 3000, ki je postal sinonim za resno delo na vseh področjih računalniške grafike.
Veliko oviro so na začetku predstavljali počasni računalniki
Slika 01.02. Proces razvoja 3D prikaza: žični model (ang. wireframe), skrivanje nevidnih robov (ang. flat shading), Phong
senčenje, barvno teksturiranje z reliefnostjo (ang. bump), sledenje žarku (ang. ray tracing) s kavstiko
Zgodovina
13
in omejena sredstva, s katerimi so razpolagali inštituti. Ko
se je stvar zaradi priljubljenosti bolj razpasla, so se dopolnjevali tudi algoritmi, ki pa so še dandanes zelo potratni
glede procesorskega časa.
Razvoj se še zdaleč ni ustavil tukaj. Bilo je potrebno razviti še
kopico obstranskih tehnik, ki so dovolile opisovanje narave
na vedno bolj realističen način. Med njimi so sledenje
žarku, kavstika, odboj svetlobe od objektov, osvetljevanje s
prostorom itd. Programske hiše redno nadgrajujejo pakete
svojih 3D orodij z novimi dosežki tega področja.
industriji za okolico in posebne učinke s pomočjo tehnike
zelene zavese. Ta tehnika je veliko uporabljena tudi za izvedbo navideznega studia v televizijskih oddajah.
Razvijalci stremijo k čim hitrejši opremi in hkrati k izdelkom,
ki se čim bolj približujejo fotorealizmu.
3D v filmski industriji
Vodilni znanstveniki na področju 3D-ja so se usmerjali
na inštitute, ki so jim omogočali delo na takrat zelo dragi
opremi. Prva izmed takih institucij je bila Univerza v Utahu,
s katere so se kasneje postopoma preselili v NYIT (New
York Institute of Technology) in nato vsi skupaj na Lucasfilm
(znan po sagi Vojna zvezd), ki jim je njihovo nadaljnje delo
omogočil na sodobni opremi.
Čeprav se je začela 3D tehnika uporabljati v sedemdesetih letih pri nekaterih kratkometražnih delih, sta prva
celovečerca nastala leta 1982: Zvezdne steze: Khanov bes
(orig. Star Trek: The Wrath of Khan) in Tron (Disney). Ne
dolgo zatem, leta 1986, so se tudi v glasbeni industriji Dire
Straits predstavili z videospotom Money for Nothing in za ta
izdelek pobrali Grammyja (tistega leta skupaj z A-Ha-jevim
Take on Me, tudi animiranim, vendar na klasični način). Prvi
celovečerec, ki je bil narejen izključno s 3D tehniko je bil
Toy Story (Disney, Pixar) leta 1995. Sledila mu je cela vrsta
podobnih in zvrst je postala tako priljubljena (še najbolj
zahvaljujoč filmoma Shrek (DreamWorks) in Ledena Doba
(20th Century Fox)), da je Disney obupal nad svojo serijo
Classics (ki obstaja že od leta 1937, začenši s Sneguljčico)
do te mere, da jo namerava opustiti in se raje posvetiti 3D
risankam, kot so Monsters Inc., The Incredibles in podobne.
Slika 01.03. Izsek iz filma Tron (Disney, 1982)
Slika 01.04. Izsek iz videa Dire Straits: Money for Nothing
(Warner, 1985)
Sama 3D tehnika se uspešno uporablja kot dodatek v filmski
14
3D
Ploskovni oris
prostora
in stereografija
Ploskovni oris prostora in stereografija
Ploskovni oris prostora
Stereogrami
Stereograf
Anaglif
Vektograf
Metoda mrka
SIRDS
Lečna slika
Hologram
Ploskovni oris
prostora
3D računalniška grafika je postopek, pri katerem geometrična telesa v prostoru prikažemo na ploskem mediju,
kot je na primer monitor ali iztis. Za ta postopek uporabljamo 3D programe, ki večinoma vsebujejo tako modelirnik, s
katerim objekte oblikujemo, kot tudi upodobljevalni pogon,
ki te objekte upodobi ­­­­– izračuna na osnovi predhodno danih
parametrov. Princip generiranja slik, ki ga ti programi uporabljajo, je osnovan na kompleksnih algoritmih, baziranih
na osnovah optike in mehanike, zato lahko včasih upodabljanje traja tudi več časa.
Slika 02.02. Razdelitev 3D-ja
Kot že predhodno omenjeno, veliko 3D programov vsebuje
tako modelirnik kot upodobljevalni pogon, ni pa nujno. So
programi, ki so specializirani samo za upodabljanje ali za
modeliranje. So tudi taki 3D programi, ki so specializirani
samo za eno področje, kot so generatorji pokrajin, programi
za izdelavo tekstur, za animiranje obrazne mimike itd.
Za primer ploskovnega orisa lahko vzamemo fotografijo.
Čeprav o globinski predstavi načeloma govorimo, kadar
uporabljamo naš dvojni vidni organ, lahko zaznamo globino
tudi na drugačne načine: s pomočjo perspektive, senčenja,
defokusiranja itd. Fotografija ni naključni primer, saj se
v 3D programih marsikatera nastavitev pojavi tako s tega
področja kot tudi iz videa.
Ploskovni oris prostora je torej to, kar bo knjiga obravnavala
v naslednjih poglavjih in hkrati poglavitni del 3D-ja, s katerim se bomo soočali. To tehniko lahko kasneje apliciramo
tudi v večini vej stereografije, v kolikor to potrebujemo.
Slika 02.01. Fotografija kot primer ploskovnega orisa
prostora
17
Stereogrami
Stereogrami so umetni poskus opisovanja prostora,
pri čemer za to izkoriščajo naš podvojeni vidni organ, v
glavnem tako, da vsakemu očesu prikažejo svojo sliko.
Obstaja več tehnik, ki jih delimo na stereoskopijo, pri kateri
moramo za gledanje slik uporabljati posebna pomagala, in
avtostereograme, ki za svoj prikaz tega ne potrebujejo.
Stereograf
Ta stereogram sega najdlje v čas, in sicer v devetnajsto
stoletje. To ni nič drugega kot ista fotografija, poslikana
v istem trenutku z enako tehnično konfiguracijo, z rahlo
drugačnega položaja, in sicer šest centimetrov zamaknjeno
po pravokotnici glede na smer gledanja. Za gledanje
stereografov moramo fizično ločiti sliki tako, da levo oko
vidi levo sliko in obratno. Najpreprosteje to dosežemo s
pregrado med obema slikama ali s posebnim pomagalom
v obliki daljnogleda.
Anaglif
Anaglif (ang. anaglyph) je slika, ki je tiskana z barvnim
zamikom v dveh nasprotujočih si ali komplementarnih
barvah. Ponavadi sta to rdeča (po dogovoru za desno oko)
in sinja (za levo oko). Da lahko iz tega razberemo globinsko
sliko, potrebujemo posebna očala z barvnimi filtri. Na enem
očesu imamo rdečega, na drugem pa sinjega. Delovanje
anaglifa temelji na podobnem principu kot delovanje stereografa. Razlika je v tem, da prvi sistem uporablja barvno
ločenost slik, drugi pa fizično.
Zgodovina anaglifa sega v leto 1853, razvil pa ga je Nemec
Wilhelm Rollmann. Primarno so ga izdelovali tako, da so
fotografirali sceno s pomočjo barvnih filtrov enakih barv kot
so na očalih, kasneje pa združili v isto sliko. Danes lahko to
naredimo s programi za obdelavo slik.
V dvajsetih letih so bili zelo priljubljeni filmi, narejeni s to
tehnologijo, imenovali pa so jih plastigrami.
Stereografi so se bolj kot neka zelo uporabna zadeva za naš
vsakdanjik uporabljali za zabavo. Zelo znana stereografska
igračka je bil View-Master s konca tridesetih let, dandanes
zelo iskan objekt zbirateljev. Stereografi so se v tistih časih
uspešno uporabljali tudi v vojaške namene za letalske
posnetke. Določena skrivališča in objekte je bilo tako lahko
odkriti samo s to tehniko.
Slika 02.03. Underwoodov stereograf iz 19. stoletja
18
Slika 02.04. Primer anaglifa in prikaz njegovega delovanja
3D
Vektograf
Vektograf deluje po podobnem principu kot anaglif, le da
namesto barvne separacije oči uporablja polarizatorje.
Svetloba se glede na pravokotnico svoje trajektorije ne
premika vzporedno, ampak je zasukana v različne smeri. Polarizatorji so filtri, ki prepuščajo svetlobo v točno določeni
smeri: vertikalni polarizator bo na primer prepuščal samo
vertikalno urejeno svetlobo. Bolj ko se bo svetloba nagibala
k pravemu kotu glede na to usmeritev, manj je bo polarizator prepustil. Če zaporedno postavimo vertikalni in horizontalni polarizator, nam ta par ne bo prepustil nič svetlobe.
projektorja projicirata sliko na srebrn zaslon, vsak od njiju
v svoji polariteti: eden vertikalno, drugi pa horizontalno.
Očala s polarizatorji nam ločujejo sliki teh dveh projektorjev, tako da vsako oko vidi sliko, ki mu je namenjena. Platna,
ki so sicer uporabljena v kino dvoranah, imajo disperzijske
lastnosti – svetlobo odbijejo v različne smeri in jo s tem
omehčajo. Z disperzijo se svetlobi spremeni tudi polarizacija, zato ti zasloni niso uporabni za vektografski 3D prikaz.
V ta namen se uporabljajo tako imenovana srebrna platna,
ki imajo lastnost zelo direktnega odboja in zato ne spreminjajo polaritete svetlobe, ki pade nanje. Včasih so bila ta
platna uporabljena v vseh kino dvoranah, vendar so jih zamenjala že prej omenjena disperzijska.
vertikalno
polarizirani
projektor
horizontalno
polarizirani
projektor
Slika 02.05. Svetloba in polarizatorja
Prostorska slika je nanešena na dve polarizirani foliji, ki se
prekrivata. Če ju pogledamo s prostimi očesi, delujeta prozorno, z uporabo polariziranih očal pa zaznamo globinsko
sliko.
Vektograf je v optometriki uporabljen kot pomagalo okulistom, saj z njim lahko opazujejo, koliko je bolnikov stereoskopski vid dober.
Zelo popularne so aktivne kino dvorane, pogosto locirane
v večjih zabaviščnih parkih ali nakupovalnih središčih, ki
doživetje filma ojačajo s premikanjem sedišča in 3D prikazom filma. Ta prikaz deluje na principu vektografa. Dva
Slika 02.06. Princip delovanja kina na vektografski osnovi
Metoda mrka
Metoda mrka (ang. eclipse method) je še tretja varianta stereograma, pri katerem potrebujemo za to prirejena očala.
Ta način prikaza 3D slike uporabljajo določene računalniške
grafične kartice. Očala imajo na vsakem očesu zaslon s
tekočimi kristali, ki se izmenično zatemnjuje. Povezana so
z grafično kartico, ki izmenično prikazuje dve sliki. Ko prikazuje sliko, namenjeno levemu očesu, zatemni steklo očal na
desnem očesu in obratno.
19
SIRDS
Lečna slika
Ko govorimo o avtostereogramih, je SIRDS (Single Image
Random Dot Stereogram) pogosto omenjen prvi. Za osnovo
potrebujemo vzorec, ki se horizontalno ponavlja. Druga
komponenta je slika v sivinah, ki predstavlja informacijo
o globini: svetlejša ko je, bolj je predmet izrinjen, bolj
ko je temna, bolj je ta v ozadju. S to sliko vplivamo na
osnovo s horizontalno ponavljajočim se vzorcem tako,
da jo bolj izpostavljeni deli horizontalno bolj zamikajo,
medtem ko manj izpostavljeni ne vplivajo nanjo. Detajlnost
ponavljajočega se vzorca je ključna tudi za definicijo
kompleksnosti slike. S finejšim vzorcem lahko izrišemo
globinsko informacijo z več detajli.
Dvojno sliko stereografa razdelimo po vertikali na tanke
pasove. Iz ene slike poberemo samo lihe pasove, iz druge
pa samo sode. Oboje združimo v eno sliko.
Čeprav SIRDS za ogled ne potrebuje posebnih pomagal,
potrebuje posebno tehniko gledanja. Oči moramo sprostiti
do te mere, da fokusiramo točko, ki je dvakratne razdalje
med glediščem in sliko. To najlaže naredimo, če je slika
zastekljena. Tako fokusiramo naš odboj na steklu in s tem
dosežemo, da obe očesi odvrnemo od tega, da bi konvergirali na sliki.
Za ogled SIRDS-a mora imeti gledalec zdrav vid. Ni rečeno,
da vsi zaznajo globinsko sliko v njem, najsibo to zaradi nepravilnega gledanja ali očesne bolezni, kot je slabovidnost
(lahko tudi samo na eno oko), ambliopija (nezmožnost
možganov sestaviti prostorsko sliko) in podobno.
Slika 02.08. Razrez stereografske slike za namen lečne slike
Čez dobljeno sliko položimo prozorno plastiko v obliki
vzporednih prizem (ali polovičnih valjev) tako, da ena pokriva en par razrezanih pasov. Prizma usmeri sliko tako, da eno
oko vidi samo lihe pasove, drugo pa samo sode.
Prozorni rebrasti
polovični cilindri
Na pasove razrezani sliki
Slika 02.09. Princip delovanja lečne slike, pogled od strani
Slika 02.07. SIRDS
20
3D
Lečne slike (ang. lenticular images) so bile zelo priljubljene
v šestdesetih letih, ko so se uporabljale v obliki spominkov
in nabožnih podob. Pri nas bolj poznane na ovojnicah nekaterih otroških slikanic in majhnih otroških darilc v čipsu ali
čokoladi. Lečnih slik se ne uporablja samo v stereografiji,
saj lahko s primerno obliko prizem uporabimo tudi več kot
dve sliki. Z nagibom lečnih slik lahko animiramo sekvenco
zaporedja nekaj slik.
Hologram
Beseda izhaja iz grščine: holos – celoten, gram – zapis. Pri
tej tehniki se ne uporablja leč, ampak laserje in polprozorna ogledala (zato imenovana tudi brezlečna fotografija)
in je neprimerno kompleksnejša od vseh zgoraj navedenih
tehnik. Izumitelj je bil angleški fizik Dennis Gabor, ki je leta
1947 postavil temelje holografije, ko je delal na poizkusih
izboljšanja ločljivosti elektronskih mikroskopov. Leta 1971
je za ta izum prejel Nobelovo nagrado.
Holograme delimo na dva tipa: transmisijske in reflektivne.
Reflektivni hologrami so bolj pogosti, saj jih vsakodnevno
Slika 02.10. Postavitev opreme za snemanje objekta na
holografski film
srečujemo kot garancijske nalepke na kreditnih karticah,
zgoščenkah, denarju in podobno. Ogledujemo jih lahko
tako na beli (mešani) svetlobi, kot tudi monokromatski.
Kompleksnejši, a zato bolj spektakularni, so transmisijski
hologrami. Ti za svoje delovanje potrebujejo enobarvno
svetlobo s konstantno frekvenco, to pa zato, ker za zapis
in kasneje prikaz uporabljajo fazni zamik svetlobe. Če bi
posnet holografski film pogledali na dnevni svetlobi, ne bi
videli nič več kot temno enakomerno površino. Tako kot za
zapis slike nanj potrebujemo enobarvno svetlobo, tako jo
potrebujemo tudi za njen prikaz.
Pri snemanju holograma laser najprej zadene ob polprozorno ogledalo, ki razdeli žarek na dva dela: referenčni
in tisti, ki bo osvetlil objekt. Oba žarka takoj po razdelitvi
preideta skozi razpršilni leči, ki inicialni, ozek žarek razširita.
Referenčni žarek direktno osvetljuje fotografsko emulzijo,
medtem ko se drugi odbije najprej od objekta in šele potem
na film. Film zapiše sliko tako, da na osnovi faznega zamika med referenčnim in od objekta odbitim žarkom izdela
mikroskopske resice, ki delujejo kot nagnjena mikroskopska
ogledala.
Slika 02.11. Postavitev opreme za prikaz holograma
21
Celotna postavitev poteka v prostorih, ki morajo biti posebej prirejeni za ta postopek. Glede na to, da je emulzija
filma za te namene izredno občutljiva, mora biti celotni sistem zelo dobro izoliran proti nezaželjenim vibracijam, kot
so premiki osebja in celo zraka znotraj prostora. Miza, na
kateri se postavi oprema, je navadno zelo težka in zaradi
redukcije vibracij amortizirana s pnevmatskimi nosilci. Prostor mora biti tudi izredno dobro svetlobno izoliran, saj
lahko že najmanjši neželeni vir svetlobe iznakaže končni
rezultat.
Za prikaz holograma film od zadaj osvetlimo z enobarvno
lučjo. Resice, ki so nastale pri postopku snemanja, tako
uravnavajo svetlobo: lahko jo popolnoma prepustijo, lahko
jo odbijejo v nasprotno stran ali pa usmerijo pod določenim
kotom. Oči fokusirajo svetlobo, tako tisto prepuščeno kot
razpršeno, ki je prešla film, in si tako ustvarijo globinsko
sliko. Objekt, ki ga opazujemo, je na drugi strani filma.
Slika 02.12. Reflektivni hologram
Reflektivni hologrami, včasih imenovani tudi “površinsko
gravirani”, so znatno cenejši za izdelavo, še posebej za
masovno produkcijo. Posneti so na foto-termo plastiko in
se razmnožujejo s tiskom.
22
3D
Osnovna geometrija
Osnovna geometrija
Koordinatni sistemi
Kartezični koordinatni sistem
Polarni koordinatni sistem
Cilindrični koordinatni sistem
Sferni koordinatni sistem
Rotacije in nagibi
Trigonometrične funkcije
Od točke do telesa
Primitivni objekti
Ploskovna telesa
Platonska telesa
Piramide
Krogla, elipsoid in torus
Valj, stožec in prisekani stožec
Dodatni osnovni elementi
Testni objekti
Osnova 3D računalniške grafike je geometričen opis teles,
prostora in njihovih medsebojnih odnosov. Neobhodno je,
da poznamo vsaj tiste osnovne izraze in zveze, ki jih bomo
najpogosteje srečevali in uporabljali.
Koordinatni sistemi
Kot dogovor o poziciji geometrijskih teles uporabljamo
koordinatni sistem. To je sistem, s katerim določamo umestitev objektov in pojavov v n-dimenzionalnem prostoru.
Delimo jih na štiri osnovne: kartezični, polarni, cilindrični
in sferični.
Kartezični koordinatni sistem
Kartezični koordinatni sistem je pravokotni koordinatni sistem in je določen z dvema ali tremi med seboj pravokotnimi osmi. Ime nosi po francoskem filozofu in matematiku
Renéju Descartesu, poznanem tudi po nadimku Cartesius.
Pri dvodimenzionalnem koordinatnem sistemu imamo dve
med seboj pravokotni osi: x (abscisa) in y (ordinata), tridimenzionalni pa ima poleg teh dveh še tretjo, z (aplikata).
Presečišče med njimi imenujemo koordinatno izhodišče.
Točko v tridimenzionalnem koordinatnem sistemu definiramo kot T (x, y, z), kjer vsak od teh treh parametrov pomeni
projekcijo na eno izmed treh osi. Ta sistem je osnova programom za 3D računalniško grafiko zaradi svoje naravnosti
in intuitivnosti, saj je zelo pogosto uporabljen v vsakdanjem
življenju. Programi za 3D računalniško grafiko imajo grafični
vmesnik urejen tako, da lahko kot uporabniki operiramo
s prostorom in objekti v njem s kombinacijo vsaj dveh osi
naenkrat (xy, xz in yz), lahko pa tudi vseh treh.
ravne osi (φ). Točka je tako zapisana T (r, φ). Iz polarnega
koordinatnega sistema lahko pretvorimo pozicijo točke v
kartezičnega z enačbama x=r cos φ in y=r sin φ.
Polarni koordinatni sistem je tudi osnova cilindričnemu in
sferičnemu.
Cilindrični koordinatni sistem
Cilindrični ali valjni koordinatni sistem dobimo tako, da
polarnemu dodamo še eno komponento, in sicer višino,
ki je pravokotna nanj. Točko zapišemo kot T (r, φ, z). Prva
dva parametra opisujeta projekcijo lege točke na polarno
ravnino, tretji pa oddaljenost od le-te. Če želimo valjne
koordinate pretvoriti v kartezične, uporabimo za prva dva
parametra isti dve enačbi kot pri polarnem koordinatnem
sistemu, z pa se samo prepiše in ga ni potrebno drugače
pretvarjati.
Sferni koordinatni sistem
Sferni ali krogelni koordinatni sistem je še en prostorski
koordinatni sistem, ki ima točko definirano T (r, θ, φ). r je
razdalja točke od izhodišča. θ, imenovan tudi polarni kot,
je kot med pozitivnim delom osi z in premico, ki je locirana
med izhodiščem in točko. Njegov rang poteka med 0 in π. φ
ali azimutni kot je kot med osjo x in projekcijo zgoraj omenjene daljice, torej tiste med koordinatnim izhodiščem in
točko T. Rang azimutnega kota je med 0 in 2π.
Sferni koordinatni sistem je tudi osnova še dvema
specifičnima koordinatnima sistemoma: geografskemu in
nebesnemu.
Polarni koordinatni sistem
Polarni koordinatni sistem je ploskovni koordinatni sistem,
točko pa ima definirano z oddaljenostjo od koordinatnega
izhodišča (r) in kotom, ki je določen med premico, ki seka
koordinatno izhodišče, in točko ter desnim delom vodo25
Slika 03.01. Koordinatni sistemi: kartezični, polarni, cilindrični in sferni
26
3D
Rotacije in nagibi
Obe operaciji, tako rotacije kot nagibi, sta neobhodni pri
pozicioniranju, modeliranju in animiranju predmeta. Da
bomo vedeli, kakšne dogovore se uporablja v geometriji,
si poglejmo kot primer dvodimenzionalni kartezični koordinatni sistem. Prva ravnina je definirana tam, kjer sta obe osi
pozitivni, druga je tam, kjer je x negativen in y pozitiven in
tako naprej. Glede na zaporedje štetja ravnin imamo s tem
definirano tudi pozitivno rotacijo. Ta smer je včasih imenovana tudi nasprotna smeri urinega kazalca (ang. counter
clockwise). Negativna rotacija je potemtakem v smeri urinega kazalca (ang. clockwise).
Trigonometrične
funkcije
Trigonometrične ali kotne funkcije so osnova vsem
periodičnim pojavom. V različnih kombinacijah se lahko
uporabljajo za animiranje (npr. valovanje vode, nihanje,
motnje) pa tudi za proceduralno modeliranje in teksturiranje.
Slika 03.03. Grafi funkcij sinus, kosinus in tangens
Sinus (sin) je periodična funkcija, ki ima ničle v nπ, pozitivni
ekstrem v (2n+1/2)π, negativni pa v (2n+3/2)π. Kosinus
(cos) je za π/2 v levo zamaknjena krivulja sinusa. Tangens
(tg, tan) je razmerje med sinusom in kosinusom, ničle ima
na istih pozicijah kot sinus, pole pa v (2n+1)π/2.
n = pozitivno celo število
Slika 03.02. Zaporedje ravnin in rotacija
Trigonometrične funkcije se da izraziti tudi v polarnem
koordinatnem sistemu na enotni krožnici, torej r=1. Znotraj
enotne krožnice postavimo pravokotni trikotnik, katerega
hipotenuza je r=1. Tako dobimo:
• sin φ je kotu φ nasproti ležeča kateta,
• cos φ je kotu φ priležna kateta,
• tg φ je na os x pravokotna daljica, ki leži na tangenti
enotnega kroga in je omejena med absciso in premico, na
kateri leži hipotenuza.
27
Od točke do telesa
Analize geometrije se lotimo pri njenem najmanjšem
gradniku, točki. Točka je neskončno majhen element in
predstavlja informacijo o poziciji v koordinatnem sistemu.
Glede na to, da nima velikosti, je tudi neuporabna kot
predmet upodobitve. Kljub temu je točka zelo pomemben
element v 3D grafiki, saj jo lahko uporabljamo za referenco
težišču objekta, fokusu kamere, kontrolni točki pri krivuljah,
informacijo o premiku in še marsikaj. S točkami so definirani
tudi robovi objektov, imenujemo pa jih verteksi (ang. edn.
vertex, ang. množ. vertices). Verteksi so točke, ki zadržujejo
informacije o povezanosti z drugimi točkami.
Slika 03.04. Definicija trigonometričnih funkcij na pravokotnem trikotniku, ki leži znotraj enotne krožnice
Z dvema točkama lahko definiramo naslednje tri geometrijske elemente: premico, daljico in vektor. Premica je
neskončno dolga linija in je definirana z enačbo y=kx+n,
kjer k predstavlja smerni koeficient, n pa oddaljenost od
izhodišča na ordinatni osi. V 3D grafiki se sicer redko uporablja. Bolj pogosta je uporaba daljice. To je omejena premica, torej ima točno določeno dolžino. Daljica predstavlja
najkrajšo razdaljo med točkama T1 (x1, y1, z1) in T2 (x2, y2,
z2). Prav tako kot točka tudi premica in daljica nimata forme,
saj govorimo o neskončno tankih črtah, ki so zopet neprimerne za upodobitev, imata pa kopico drugih uporabnih
lastnosti, kot je izrinjanje pri modeliranju, definicija linijske
luči, omejitev premika objektov in tako dalje. Vektor je usmerjena daljica: nima samo določene velikosti, ampak tudi
smer. Z vektorji lahko določimo mnoge dinamične lastnosti,
kot je premik (hitrost, pospešek), usmeritev oddaljene luči
in druge.
Slika 03.05. Premica, daljica, vektor
28
3D
Ravnino lahko določimo z najmanj tremi točkami oziroma
z eno točko in daljico. Ravnina je neskončno velika ravna
površina z infinitezimalno debelino. Kljub temu je upodobljiva, v kolikor s kamero ne gledamo pravokotno v njen
rob. Ravnina je eden izmed redkih neskončnih objektov,
katere program prepozna in upodobi. Uporabljamo jo lahko
za površine, mnogo večje od scene, ki jo upodabljamo. Z
daljicami omejeno ravnino imenujemo poligon. Najmanjše
število robov poligona je tri in takšnega imenujemo triset.
V kolikor ima štiri robove, je imenovan kvadriset. Poligoni
imajo lahko poljubno število robov, vsi pa morajo ležati na
isti ravnini.
Primitivni objekti
Primitivni objekti ali primitivi so tisti objekti, s katerimi
program nativno deluje, prepozna jih kot osnovne forme.
Večinoma so to pravilna preprosta telesa, ni pa nujno.
Primitive lahko poljubno deformiramo ali sestavljamo v
kompleksnejše združbe, imenovane kompozitni objekti.
Lahko jih generično razdelimo na:
• ploskovna telesa,
• platonska telesa,
• piramide,
• kroglo, elipsoid in torus,
• valj, stožec in prisekani stožec.
Ta razdelitev je splošna in približna, saj vsako programsko
orodje interno deluje po drugačnem principu in ima zatorej
svoj nabor primitivnih objektov.
Slika 03.06. Poligoni: triset, kvadriset, večrobi mnogokotnik
Ravno tako kot ravnina so tudi poligoni upodobljivi. So
namreč omejene površine, ki so točno določeno postavljene
v prostor. Z združevanjem poligonov tako, da se njih robovi
stikajo, lahko zmodeliramo poljubno kompleksna telesa, ki
jih delimo na površinska (ang. surface) in prostorska (ang.
solid).
Ploskovna telesa
Ploskovna telesa so na različne načine omejene ravnine.
Zanje je značilno, da imajo ploskovno formo, nimajo
pa višine. Z množenjem ploskovnih teles se da izdelati
prostorska telesa.
Slika 03.08. Primitivna ploskovna telesa: krog ali disk,
kvadrat in šestkotnik (kot primer večkotnika)
Slika 03.07. Iz poligonov sestavljeno kompleksnejše površinsko in prostorsko telo
29
Platonska telesa
Platonska ali pravilna telesa so tista prostorska telesa, katerih površina je sestavljena iz enakih pravilnih ploskih
površin in imajo lastnost, da se v vsakem oglišču stika enako
število ploskev. Obstaja pet platonskih teles, ki se imenujejo
po številu ploskev, iz katerih so sestavljena: tetraeder (4),
kocka ali heksaeder (6), oktaeder (8), dodekaeder (12) in
ikozaeder (20).
Slika 03.10. Piramida z osnovo trikotnika (tetraeder),
kvadrata in petkotnika
Krogla, elipsoid in torus
Slika 03.09. Tetraeder, kocka, oktaeder, dodekaeder in
ikozaeder
Ta tri telesa združuje sekundarni princip modeliranja. V kolikor program ne bi imel teh teles kot primitivov, bi se jih
lahko naredilo z množenjem kroga, bolj specifično z njegovo
rotacijo. Kroglo bi tako lahko dobili, če bi krog zarotirali okoli svoje osi za 180°. Na podoben način bi lahko dobili torus,
le da bi ga morali za 360° zarotirati okoli osi, ki leži izven
krožnice (mimobežnica). Za pridobitev elipsoida, to lahko
naredimo tako kot s krogom – za 180° zarotiramo elipso
okoli njene vertikalne ali horizontalne osi.
Piramide
Piramide so prostorska telesa, ki imajo za osnovo večkotnik.
Nanj so z eno stranico vezani trikotniki, njihovi ostali dve
stranici pa sta vezani na sosednja trikotnika. Tetraeder je
model piramide, ki ima za osnovo najmanjši večkotnik –
trikotnik.
Slika 03.11. Krogla, elipsoid in torus
30
3D
Valj, stožec in prisekani stožec
Valj ali cilinder je geometrijsko telo, katerega površina je
sestavljena iz dveh enakih vzporednih krogov in plašča,
ukrivljenega kvadra, ki enakomerno povezuje krožnici obeh
krogov. S sekundarnim modeliranjem lahko valj dobimo na
dva načina: disk izrinemo v višino ali kvader zarotiramo za
360° okoli enega izmed njegovih robov.
Stožec ima podobno definicijo kot valj, le da ima namesto
enega kroga točko. Plašč potemtakem ni več valj, ampak
izsek kroga. Sekundarno ga lahko dobimo z rotacijo pravokotnega trikotnika za 360° okoli ene izmed dveh katet.
Prisekani stožec je valj, pri katerem je eden izmed krogov
večji od drugega.
Slika 03.12. Valj, stožec in prisekani stožec
Dodatni osnovni elementi
Programi za 3D modeliranje imajo poleg osnovnih in
primitivnih objektov še dodatne, ki so sicer sekundarnega
pomena in uporabe, a vendar dobrodošlo orodje. Nabori
se razlikujejo med programi in ni rečeno, da so to elementi,
vgrajeni s strani proizvajalca. Lahko so samo hitro dostopne
variacije primitivnih elementov, procedure sestavljanja
in manipuliranja osnovnih oblik ali parametrične narave
(definicija objekta z enačbami).
Slika 03.13. Posebni osnovni elementi: preluknjani valj,
kapsula, kubični oktaeder, zobnik, tuljava, diamant
31
Testni objekti
Kadar testiramo materiale, luči in ostale nastavitve, nam
pridejo prav testni objekti. Ti morajo biti kompleksnejši od
primitivnih objektov, saj imamo tako večji pregled nad tem,
kako razgibane oblike vplivajo na testirance. Priporočljivo je,
da kljub temu testni objekti niso preveč kompleksni, s čimer
bi izgubili na nazornosti in podaljšali čase upodabljanja.
Eden najbolj tipskih objektov je Newellov čajnik (ang.
Newell teapot, včasih znan tudi kot Utah teapot), katerega
je raziskovalec Martin Newell zmodeliral okoli leta 1975.
Za testiranje je bil primeren zaradi svoje mehke oblike ter
elementov, ki lahko mečejo senco na sam čajnik. Še danes je
ta model pogosto uporabljen in je v zbirki objektov mnogih
3D programov.
Kot odgovor na Newellov čajnik je skupnost odprtokodnega
3D programa Blender za ta program predlagala testni
objekt, glavo šimpanza, poimenovanega Suzanne.
Slika 03.14. Newellov čajnik
32
Slika 03.15. Suzanne
3D
Barvni modeli
v računalniški grafiki
Barvni modeli v računalniški grafiki
Problematika barvnega prikazovanja v računalniški grafiki
Izbira barvnega modela
Dimenzije barvnih modelov
Barvni modeli v računalniški grafiki
Barvni model RGBteoretični
Barvni model RGBprikazovalnika
Problematika uporabe barvnega modela RGB v praksi
Barvna modela HSV in HSL
Barvni model HSV (HSB)
Barvni model HSL
Problematika uporabe barvnih modelov HSV in HSL
Barvna modela YUV in YIQ
Barvni model CMY
Spektralno-percepcijski barvni modeli (barvni modeli CIE)
Standardizirane barvne vrednosti XYZ in barvni model CIELab
Povezava med barvnim modelom RGB in standardiziranimi barvnimi vrednostmi XYZ
Uporaba kanalov in histogramov barv
Barvni kanali
Alfa kanal
Histogrami
Računalniška grafika se uporablja na zelo različnih področjih, kot na primer grafični uporabniški vmesniki, računalniško podprto risanje, načrtovanje, učenje, krmiljenje procesov, multimedijski sistemi, zabavna industrija in računalniška
umetnost. Vsa področja imajo določene specifike in standarde glede predstavitve barv. V tem poglavju bodo predstavljeni barvni modeli (ang. color model), ki se uporabljajo
v 3D računalniški grafiki, omenjena pa bo tudi problematika
izbire in uporabe različnih barvnih modelov.
Barvni modeli so nazorna upodobitev množice barv z
določenim številom opisljivih dimenzij in vključujejo numerično vrednotenje ter vizualni opis barv. Vloga in pomen
barvnih modelov v znanosti o barvi in umetnosti je:
• sistematično in/ali nesistematično razporejanje in
označevanje barv,
• uporaba logične nomenklature barv,
• uporaba percepcijsko pomembnih dimenzij in
• vključevanje merilnih (številčnih) lestvic, ki so poenotene in percepcijsko enotne.
Posledično je upodobitev barv v barvnih modelih, ki ustreza
detekciji in zaznavanju barve človeškega vidnega sistema,
kompleksna.
Pojav barve je posledica detekcije svetlobe določenih valovnih dolžin vidnega dela elektromagnetnega valovanja v
človeškem očesu, medtem ko zaznavanje barve nastane v
možganskih centrih. Pri tem sodeluje kompleks procesov, ki
vključuje kemijske, fizikalne, fiziološke in psihološke pojave.
V sodobni znanosti o barvi velja, da so za percepcijo barve
potrebni trije osnovni dejavniki. To so svetlobni vir, objekt
in opazovalec.
kemijsko, psihološko in fiziološko delovanje obdela svetlobo in spremljajoče živčne in psihofizične impulze ter jih
pretvori v informacijo o barvi.
Barvni modeli, ki se uporabljajo v računalniški grafiki za
področja, kjer se ne zahteva posebne svetlobno-barvne
realističnosti končnih upodobitev, ne obravnavajo pojava
barve celovito z upoštevanjem vseh treh dejavnikov. Nasprotno pa se aplikacije računalniške grafike na tistih strokovnih področjih, kjer računalniške simulacije posnemajo
realnost, poslužujejo vseh dognanj o kompleksu nastanka
in dojemanja barve.
Predstavitev barve v 3D računalniški grafiki je glede na
omenjene tri osnovne dejavnike zelo specifičen, predvsem
zaradi simulacije objekta in njegove refleksije ter svetlobnega vira. Objekt je v računalniški grafiki predstavljen kot
iluzija, ki mora barvo objekta s specifičnimi mehanizmi
in tehnologijami čim bolj verodostojno prikazati. Kot svetlobni vir pa moramo upoštevati tako spektralno porazdelitev okoliške svetlobe prostora, pri kateri opazujemo
računalniško generirano iluzijo objekta na prikazovalniku,
kot svetilnost prikazovalnika, ki prikazuje objekt, sceno in
gibanje.
Zaradi obsežnosti tematike se bomo v nadaljevanju poglavja poglobili le v barvne modele, ki se najpogosteje uporabljajo v 3D računalniški grafiki. Poznavanje teh modelov
je potrebno za razumevanje teoretičnih osnov o barvi ter
posledično omogoča prenos znanja o barvi v računalniško
prakso.
• Svetlobni vir (ang. illuminant) omogoča izvor svetlobnega sevanja in ustvari možne pogoje opazovanja za
človeški vidni sistem.
• Objekt (ang. object) omogoča selektivni odboj vpadle
svetlobe določenih valovnih dolžin.
• Opazovalec (ang. observer) je s celotnim vidnim sistemom receptor svetlobnih žarkov, ki se odbijajo od
objektov. Opazovalec glede na svoje fizikalno-optično,
35
Problematika barvnega prikazovanja
v računalniški grafiki
Kot prvo lahko na tem mestu omenimo problematiko prikazovanja barve s pomočjo izhodne naprave za vizualizacijo računalniško generiranih slik. Uspešnost predstavitve
barv je odvisna od vrste izhodne naprave, od vrste njene
tehnologije. Najpogosteje uporabljen je med izhodnimi
napravami seveda barvni prikazovalnik ali monitor (LCD,
plazemski, na katodno cev). Kvaliteta njegove barvne slike
je odvisna od tehnologije generiranja signalov za osnovne
barve in barvne mešanice. Priporočljivo je že pred začetkom
računalniško podprte izdelave grafičnega izdelka vedeti, na
kakšnem prikazovalniku bo ta izdelek predstavljen. Poleg
tega je potrebno predvideti ali bo izdelek v nadaljevanju
predstavljen tudi na drugačnem mediju (na primer tisk na
papir), saj se za različne medije uporabljajo različni barvni
modeli.
Največja izziva barvnega prikaza sta gotovo načina, kako
v eni slikovni točki izraziti želeno barvo ter kako v množici
slikovnih točk, ki ležijo druga poleg druge na ploskem
prikazovalniku, izraziti iluzijo 2D in 3D objektov. Samo
vizualno zaznavna barvna razlika v barvi sosednjih slikovnih
točk na prikazovalnikih namreč omogoča optično ločevanje
točk med seboj ter posledično razločevanje površin, robov,
objektov in njihove okolice.
Pri iluziji 2D in 3D objektov je potrebno upoštevati:
• interakcijo objektov s svetlobo (sence, refleksija, transmisija in drugi pojavi, ki bodo podrobneje opisani v
poglavju o svetlobi in lučeh),
• prikazovanje slik na takšen način, da so čim bolj ustrezne vizualizaciji, ki jo omogoča mehanizem človeškega
vidnega sistema (z upoštevanjem tudi psiho-fizičnega
dojemanja odnosov med barvami ter psihologije barv),
• fotorealističnost predstavitev v aplikacijah, ki zahtevajo
popolno primerljivost z realnimi objekti,
• volumensko predstavitev objektov in iluzijo perspektive, kjer je tretja dimenzija ključnega pomena za
verodostojni prikaz,
36
• zahteve po objektivni in natančni predstavitvi barv na
določenih aplikativnih področjih (arhitektura, avtomobilizem, tekstilna industrija in tako dalje), kjer so barve
objektov numerično vrednotene,
• kompleksnost prikazovanja posebnih barvnih efektov
in posebnosti materialov (na primer metalni in prosojni
objekti).
Izbira barvnega modela
Možnost izbire barvnega modela je največkrat omejena s
strani programa, ki ga uporabljamo, saj ima slednji privzeto
ponudbo barvnih modelov. Zavedati se je potrebno,
da je barvni model lahko odvisen od izhodne naprave
prikazovanja (ang. device dependent color model). To je
tudi primer enega najbolj razširjenih barvnih modelov RGB,
ki bo predstavljen v nadaljevanju. Njegova uporaba lahko
povzroča barvno različne in neprimerljive prikaze grafičnih
objektov, barvnih prehodov, barvnih razlik ter posledično
neprimerljive računalniško generirane iluzije interakcij
svetlobe z objektom.
Ne glede na izbiro barvnega modela je potrebno poznati
in upoštevati še problematiko neujemanja barvnih
obsegov (ang. color gamut) različnih barvnih modelov.
Barvni obseg modela pri tem pomeni množico barv, ki
jo lahko predstavimo v modelu, in je običajno omejen z
lego osnovnih barv modela. Predstavljamo ga lahko na
različne načine, med katerimi je zelo pogosta predstavitev
v xy barvnem diagramu. Računalniško generirane barve
in barvni obseg prikazovalne izhodne naprave so manjše
od barvnega obsega človeške percepcije. Barvni obseg
prikazovalnika je namreč omejen s tremi primarnimi
barvami RGB, računalniško generirane barve pa so omejene
s točkami, ki jih programski algoritem generira za določeno
funkcijo. To praktično pomeni, da kot uporabniki na podlagi
svojih optično-vizualnih izkušenj v določenih primerih težko
predvidimo oziroma napovemo barvo na prikazovalniku in
se zato moramo zadovoljiti s rešitvijo, ki jo algoritem ter
prikazovalnik ponujata.
3D
y
520
530
0,8
0,7
barvni obseg
človeškega
vidnega sistema
G
0,6
0,5
računalniško
generirane barve
580
500
0,4
0,3
R
490
700-750
nm
0,2
0,1
barvni obseg
prikazovalnika
620
470
B
450-440 nm
0,1
0,2
0,3
0,4
0,5
0,6
0,7
x
Slika 04.01. Neujemanje barvnih obsegov treh modelov, ki sodelujejo pri pojavu iluzije večdimenzionalnosti
računalniško generiranega barvnega objekta
Večina barvnih modelov, ki se uporabljajo v računalniški
grafiki, je torej le približek dejanskega dojemanja množice
barv. Zasnovani so bili na podlagi omejitev tehnologije ter
za poenostavljeno in poenoteno uporabo. Tako so nekateri barvni modeli strogo teoretični: barve razporejajo in sistematizirajo v obliki pravilnih geometrijskih teles z enakimi
razdaljami med točkami, ne glede na njihovo svetlost, pestrost in barvni ton. To je tako imenovana neenotnost nekaterih barvnih modelov (ang. nonuniformity) v primerjavi s
percepcijo človeškega vidnega sistema. Takšni barvni modeli namreč zanemarjajo dejstvo, da človeški vidni sistem
ne dojema enako barvnih razlik med različnimi svetlimi in
različnimi temnimi barvami, med barvami različne pestrosti in različnega barvnega tona. Človek je namreč vizualno
veliko bolj občutljiv na svetle in nasičene barve. Vizualna
občutljivost na svetle barve se recimo kaže tako, da zaznamo bolje razlike med dvema različnima svetlima kot temnima barvama, tudi v primeru, ko je numerična barvna razlika
v obeh primerih enaka.
Slika 04.02. Različni rumeni in modri barvi z enako
numerično, a različno percepcijsko barvno razliko
Dimenzije barvnih modelov
Osnova vsakega barvnega modela je število dimenzij, s
katerimi opišemo barvo, in vpliva na natančnost opisa
barv. Za popoln opis barve objekta bi bila potrebna
informacija o odboju svetlobe po celotnem vidnem delu
elektromagnetnega valovanja, torej opis optičnih (odbojnih)
lastnosti objekta pri valovnih dolžinah od 400 do 700 nm.
Zaradi kompleksnosti takega vrednotenja pa se v praksi
uporablja poenostavljene modele, ki vključujejo manjše
število informacij o barvi.
Najenostavnejši barvni model tako vključuje le eno dimenzijo, ki največkrat predstavlja svetlost ali sivino slikovnih
točk. Enodimenzijski barvni model bi tako predstavil objekte v linearni sivinski skali (ang. greyscale) od popolnoma bele do popolnoma črne barve in bi v primeru 8-bitne
slike vseboval 256 sivin. Čeprav sta nasičenost in barvni ton
izključena, lahko na tak način predstavljen objekt že dobro
vizualiziramo. Zaradi kontrastnih razmerij med sivinami
slikovnih točk in našimi izkušnjami o ločevanju objekta od
okolice pa omogoča tudi kvalitetno prostorsko predstavo.
37
Vendar je v računalniški grafiki, kot tudi na drugih
uporabniških področjih, najbolj uporabljen tridimenzijski
(triparametrični) opis barv. Število dimenzij izhaja iz zgradbe
človeškega očesa in delovanja celotnega vidnega sistema.
V mrežnici očesa se nahajata dve vrsti fotoreceptorjev, katerih odziv na svetlobno valovanje ni linearen, temveč logaritemski.
žilnica
roženica
šarenica
0,8
0,6
0,4
0,0
350
mrežnica
leča
L čepki
M čepki
S čepki
0,2
ciliarne mišice
svetlobni
žarek
1,0
relativna absorpcija
Slika 04.03. Upodobitev 3D modela v enodimenzijskem
(svetlostnem) barvnem modelu
Palčke so svetlobni receptorji, ki reagirajo samo na informacijo o svetlosti, ne pa tudi na informacijo o barvi. Čepki
so barvni receptorji, ki vsebujejo enega izmed treh vrst
pigmenta rodopsina in posledično elektrokemično reagirajo na stimulacijo svetlobe nizkih S (ang. short), srednjih
M (ang. medium) ali visokih L (ang. long) valovnih dolžin.
V vizualnem smislu svetloba nizkih valovnih dolžin pri tem
predstavlja modri del vidne svetlobe B (ang. blue), svetloba srednjih valovnih dolžin zeleni del G (ang. green) ter
svetloba visokih valovnih dolžin rdeči del R (ang. red). Ta
tako imenovani trikromatični vidni sistem temelji na YoungHelmholtzovi teoriji (imenovani po Thomasu Youngu in
Hermannu Helmholtzu). Območja občutljivosti treh skupin
čepkov se na določenih delih spektra prekrivajo, poleg tega
pa število barvnih fotoreceptorjev treh vrst ni enako. Ker je
čepkov, ki se odzivajo na nizke valovne dolžine (modri del
vidne svetlobe), bistveno manj kot čepkov, ki se odzivajo na
visoke in srednje valovne dolžine, je sposobnost očesa za
ločevanje rumeno-rdečih barv in cian-zelenih barv bistveno
večja od sposobnosti zaznavanja razlik med modrimi barvnimi toni.
400
450
500
550
600
650
700
valovna dolžina (nm)
rumena pega
slepa pega
optični živec
Slika 04.05. Relativna spektralna absorpcija treh vrst čepkov pri nizkih, srednjih in visokih valovnih dolžinah v vidnem delu elektromagnetnega valovanja od 400 do 700 nm
Slika 04.04. Zgradba očesa
38
3D
Barvni modeli v računalniški grafiki
Barvni model RGB teoretični
V računalniški grafiki se najpogosteje uporabljata dva tridimenzijska načina sistematiziranja barv. Prvi način v eni
dimenziji vključuje svetlost barve, torej povprečno intenziteto spektra, v ostalih dveh dimenzijah pa podatek o
barvnem tonu (relativna zastopanost valovnih dolžin) in
nasičenosti oziroma čistosti barve (absolutna zastopanost
valovnih dolžin). Takšno sistematiziranje je za uporabnika
bolj intuitivno. Drugi način vključuje v treh dimenzijah
barve podatke o zastopanosti nizkih (modrih), srednjih (zelenih) in visokih (rdečih) valovnih dolžin. Pri slednjem se
kažejo nekatere analogije med nastankom pojava barve v
človeškem vidnem sistemu in v slikovno-optičnih napravah,
ki se uporabljajo v računalniški grafiki. V obeh primerih
optična sistema reagirata na svetlobo različnih valovnih
dolžin in intenzitete, vključujeta optični sistem za fokusiranje slike na slikovno ravnino in filtre, ki so občutljivi na
rdeče, zelene in modre komponente slike. Vendar pa je
človeški vidni sistem bistveno kompleksnejši od optičnih
naprav, saj omogoča aktivno sliko, medtem ko so naprave
omejene na fotografski zapis slik.
Barvni model RGB teoretični je enotska kocka, ki je definirana
v pozitivnem oktantu kartezičnega koordinatnega sistema.
Za razporejanje barv se kot barvni modeli najpogosteje
uporabljajo enostavno opisljiva geometrijska telesa kot
so kocke, kvadri, krogle, stožci ali večstrane piramide.
Naprednejši modeli, ki temeljijo na percepciji človeškega
vidnega sistema, pa barve vključujejo v nehomogena
telesa. Najpogostejši koordinatni sistemi, v katerih ležijo
telesa barvnih modelov kot podmnožice in ki omogočajo
numerično vrednotenje barv, so kartezični, polarni in
cilindrični koordinatni sistem.
V nadaljevanju bodo opisani naslednji barvni modeli:
• RGB teoretični,
• RGB prikazovalnika,
• HSL (HLS),
• HSV,
• YUV in YIQ,
• CIEXYZ in CIExyY ter
• CMY.
rumena
zelena
g
bela
cian
a
(R,G,B)
siva
r
črna
rdeča
b
modra
magenta
Slika 04.06. Barvni model RGB teoretični
Ta barvni model temelji na Young-Helmholtzovem
trikromatičnem vidnem sistemu in analizah raziskovalca
Jamesa Clerka Maxwella o barvnem mešanju. Maxwell
je s pomočjo hitro vrtečega se barvnega diska s tremi
primarnimi barvami dokazal pojav mešanja barvnih valenc.
Osnovne oziroma primarne barve tega barvnega modela so
po analogiji s trikromatično teorijo rdeča R, zelena G in modra B, ki so v koordinatnem sistemu predstavljene z enotskimi vektorji z vrednostmi r=[1 0 0], g=[0 1 0] in b=[0 0 1].
Celotni barvni obseg tega barvnega modela vključuje barve,
ki nastanejo z aditivnim mešanjem primarnih svetlob. Aditivno mešanje barv temelji na Grassamnovih zakonih in je
lahko matematično predstavljeno kot enostavna vektorska
adicija. Tako je barva prostorski vektor, ki je iz izhodišča
koordinatnega sistema – črne točke usmerjena v določeno
smer prostora.
Za aditivno mešanico a treh primarnih barvnih barv r, g in
b, katerih količine (deleži) so R, G in B (R,G,B [0,1]), velja
a=Rr+Gg+Bb.
39
Aditivno barvno mešanje lahko predstavimo z mešanjem
primarnih svetlob. Osnova tega barvnega mešanja
je odsotnost svetlobe oziroma črna barva. Primarne
svetlobe so rdeča, zelena in modra (RGB), sekundarne
pa cian C (B+G), magenta M (R+B) in rumena Y (R+G). V
primeru idealnih aditivnih primarnih svetlob se spektralne
vrednosti slednjih seštejejo v popolnoma belo svetlobo z
refleksijsko vrednostjo 100 % po celotnem vidnem delu
elektromagnetnega valovanja.
Slika 04.07. Aditivno barvno mešanje
Barvni model RGB prikazovalnika
Barvni model RGB prikazovalnika in aditivno barvno mešanje
se uporabljata za prikazovanje barv na barvnih izhodnih
napravah za vizualizacijo slik (prikazovalnikih, zaslonih).
Ta barvni model je odvisen od prikazovalnika in se tako
razlikuje od ene do druge naprave. Barvni prikazovalniki
lahko glede na vrsto izkoriščajo različne tehnologije za
tvorbo barve: CRT (zasloni s katodno cevjo), LCD (zasloni s
tekočimi kristali) in plazma zasloni. Od vrste mehanizmov, ki
omogočajo nastanek barve, zavisi kvaliteta primarnih barv,
barvno mešanje ter seveda končni rezultat.
Barvni model RGB prikazovalnika temelji na prej omenjenem
teoretičnem barvnem modelu RGB, vendar zaradi neidealnih svetlobnih izvorov različnih tehnologij ne omogoča
idealnega aditivnega barvnega mešanja. Pravila enostavne
adicije primarnih barv veljajo torej samo teoretično. Iz
slednjega izhaja tudi nemalo težav z barvnim prikazom, ki
jih je potrebno poznati pri uporabi tega barvnega modela. Na tem mestu je potrebno predvsem omeniti problem
odzivnosti prikazovalnika na spremembe RGB vrednosti in
posledično sposobnosti prikazovanja želenih barv. Pri nastanku in mešanju barv v prikazovalnikih je prisotno nelinearno razmerje med RGB vrednostmi in intenziteto prikazovalnika, kar lahko povzroča njegovo premajhno odzivnost
predvsem pri nizkih vrednostih RGB. Tako obstaja problem
predstavitve želenih barvnih razlik in s tem barvnih učinkov.
Problem rešujejo z gama korekcijo (ang. gamma correction). To je nelinearna operacija, ki korigira relacije med
intenziteto in triparametričnimi barvnimi vrednostmi prikazovalnika.
Vrednosti osnovnih barv barvnega modela RGB prikazovalnika v računalniški praksi vključujejo tudi podatek o barvni
globini. Barvno globino imenujemo tudi barvna ločljivost
in pomeni število bitov, uporabljenih za predstavitev barve
določene slikovne točke. Najpogosteje se uporablja 8-bitni
barvni modeli RGB prikazovalnika, kar pomeni, da je lahko
vsaka primarna barva prikazovalnika R, G in B določena z
eno od 28=256 vrednostmi (vrednosti od 0 do 255). Slikov-
40
3D
na točka je tako določena z 8-biti za vsako primarno barvo,
skupaj 24 biti. Vse kombinacije vrednosti RGB dajo v tem
primeru zadostno število barv, ki jih loči človeško oko, in
posledično kvalitetno barvno reprodukcijo. Ne glede na to,
da večje barvne globine (32, 64) omogočajo večje število
barv v določenem barvnem obsegu, se redkeje uporabljajo.
Barva
0-1 skala
0-255 skala
R
100
255 0 0
G
010
0 255 0
B
001
0 0 255
C
011
0 255 255
Y
110
255 255 0
M
101
255 0 255
W (bela)
111
255 255 255
K (črna)
000
000
Preglednica 04.01. Pretvorba vrednosti idealnega barvnega
modela RGB in barvnega modela prikazovalnika za primarne, sekundarne in terciarne barve
Problematika uporabe barvnega modela RGB v praksi
Barvni model RGB je zaradi povezave s tehnologijami prikazovalnih naprav, ki omogočajo nastanek barve, v praksi
najbolj uporabljen in razširjen barvni prostor. Ne glede na
to lahko njegova uporaba povzroča marsikatero omejitev
določanja in izbora barv.
• Barvni model RGB je percepcijsko nelinearen, torej
enake razdalje med barvami v tem modelu ne ustrezajo
barvnim razlikam, ki jih človeški vidni sistem percepira
enako. Zato z vrednostmi RGB težko upravljamo vizualne
barvne razlike na prikazovalnikih.
• Barvni obseg barvnega modela RGB je manjši od
obsega človeškega vidnega sistema, kar ima za posledico,
da določenih barv, ki jih z očesom lahko zaznamo, ne
moremo prikazati na prikazovalnikih.
• Barvni model RGB ne nudi neposredne povezave s
tremi barvnimi dimenzijami, ki jih človeški vidni sistem
percepira (svetlost barve, barvni ton in nasičenost) in
med njimi predvsem povezave z dimenzijo svetlosti, na
katero je človek najbolj občutljiv. Zato obstaja problem
določanja številčnih vrednosti RGB za posebne barvne
in svetlobne učinke kot na primer rahle prehode senc,
odseve svetlobe, minimalne tonske in svetlobne prehode
ter določanje učinkov posebnih barv (metalne barve,
posebni barvni efekti).
Barvna modela HSV in HSL
Uporabniški pomanjkljivosti barvnega modela RGB – da
ni intuitiven in da njegove dimenzije niso percepcijsko razumljive – sta v računalniški grafiki vodili v vpeljavo barvnih
modelov HSV in HSL. Vzrok za njuno priljubljenost med uporabniki je tudi ta, da obravnavata svetlost barve kot ločeno
barvno dimenzijo. Oba barvna modela izhajata iz modela
RGB, med njima pa so nekatere pomembne razlike.
Barvni model HSV (HSB)
Barvni model HSV vključuje tri dimenzije: barvni ton H
(ang. hue), nasičenost S (ang. saturation) in svetlost V (ang.
value). Označujejo ga tudi z oznako HSB, kjer je svetlost
označena z B (ang. brightness). Barvni model izhaja iz
polarnega koordinatnega sistema in je v geometrijskem
smislu šeststrana piramida, z osnovno ploskvijo v obliki
enakostranega šestkotnika, ki stoji na vrhu barvnega
modela.
41
L
V
rumena
zelena
cian
bela
H
rdeča
magenta
modra
siva
rumena
zelena
cian
siva
modra
črna
bela
rdeča
H
magenta
S
Slika 04.08. Barvni model HSV
Barvni ton H je definiran s kotom od 0° do 360°. Pri kotu
0° je rdeča barva, sledijo pa rumena, zelena, cian, modra in magenta, katerih kot se meri v nasprotni smeri urinega kazalca. Komplementarne barve ležijo na nasprotnih
straneh šestkotnika, torej se med seboj razlikujejo za 180°.
Nasičenost S se spreminja z oddaljenostjo od osi svetlosti.
Na vertikalni osi V je vrednost S=0, z oddaljenostjo od osi V
po horizontalni ravnini pa se vrednosti povečujejo do maksimalne vrednosti S=1. Tu se nahajajo primarne in sekundarne barve z največjo nasičenostjo. Vrednosti svetlosti V
so na vertikalni osi podane od 0 do 1, pri čemer pomeni 1
belo barvo na površini šestkotnika, 0 pa črno barvo.
Barvni model HSL
Barvni model HSL vključuje tri dimenzije: barvni ton H
(ang. hue), svetlost L (ang. lightness) in nasičenost S (ang.
saturation). V geometrijskem smislu je to deformacija
barvnega modela HSV tako, da točko, ki predstavlja
belo barvo, potegnemo navzgor iz osnovne ploskve –
šestkotnika.
42
črna
S
Slika 04.09. Barvni model HSL
Definicija geometrije tega barvnega modela je lahko tudi
dvojni stožec, sistematizacija barv pa s tem ostane enaka.
Barvni ton H je podan z vrednostjo kota od 0° do 360° na
osnovni ploskvi modela. Lega, razpored in kot barvnega
tona barv je enak kot pri barvnem modelu HSV. Svetlost
in nasičenost se podajata v vrednostih od 0 do 1 (ponekod
tudi v procentih od 0 do 100), tako da svetlost narašča od
črne barve z vrednostjo 0 do bele barve z vrednostjo 1
(100 %). Nasičenost narašča v horizontalni smeri, tako da
so na vertikalni osi telesa nenasičene barve (odtenki sivin)
z vrednostjo S=0, na površini barvnega modela pa imajo
barve nasičenost 1.
Pretvorba modela HSL iz modela RGB je enostavna in poteka tako, da se iz maksimalnih vrednosti RGB določi vrednost
H glede na kot 60°, pretvorba svetlosti L in nasičenosti S pa
poteka po predstavljenih enačbah.
3D
L=
Barvna modela YUV in YIQ
max(R,G,B) + min(R,G,B)
2
max(R,G,B) - min(R,G,B)
S = 2L
S=
L ≤ 0,5
max(R,G,B) - min(R,G,B)
2(1-L)
Barva
RGB
HSV
HSL
R
100
0 1 1
0 0,5 1
G
010
120 1 1
120 0,5 1
B
001
240 1 1
240 0,5 1
C
011
180 1 1
180 0,5 1
Y
110
60 1 1
60 0,5 1
M
101
300 1 1
300 0,5 1
W (bela)
111
0 0 1
0 1 0
K (črna)
000
0 0 0
0 0 0
Preglednica 04.02. Pretvorbe numeričnih vrednosti barvnih
modelov RGB, HSV in HSL
Problematika uporabe barvnih modelov HSV in HSL
Za uporabnika so najpomembnejše prednosti barvnih modelov HSV in HSL: enostavna uporaba, aditivne lastnosti
vrednosti barvnih dimenzij, primerljivost s triparametrično
barvno percepcijo človeškega vidnega sistema, uporaba barvne dimenzije svetlosti in izkoriščanje celotnega
barvnega obsega prikazovalnika. Kljub temu pa imata omejitve, ki vključujejo ohranjanje percepcijske neenotnosti,
kot posledica izpeljave iz neenotnega barvnega modela
RGB, neprenosljivost vrednosti med različnimi prikazovalnimi sistemi (odvisnost prikaza barv od izhodne naprave) in
medsebojno odvisnost barvnih dimenzij.
Barvna modela YUV in YIQ se uporabljata za posebne
aplikacije v računalniški grafiki. Včasih sta bila definirana
za standarde črno-bele televizijske tehnologije. Danes se
uporabljata v televizijskih standardih (PAL, NTSC, SECAM)
ter v računalniški industriji.
Oba barvna modela YUV in YIQ predstavljata transformacijo barvnega modela RGB. Pretvorba iz osnovnega barvnega
modela RGB pri tem upošteva nekatere percepcijske lastnosti človeškega vidnega sistema. Barvni model YUV tako
vključuje v vrednosti Y svetlost barve (ang. luminance). Ker
se na spremembe svetlosti človeški vidni sistem bolj intenzivno odziva, obsega parameter Y pri predstavitvi barve
večjo pasovno širino. Nasičenost in barvni ton podajata
barvne informacije in sta skupaj vključeni v vrednostih U in
V (ang. crominance). Prav tako barvni model YIQ vključuje
svetlost v vrednosti Y, I predstavlja območje oranžno-modrih
barv, Q pa purpurno-zelenih. Vrednosti I in Q nimata enakovredne vloge pri končni barvni informaciji, saj človeški vidni
sistem ni enako občutljiv na barve različnih barvnih tonov.
Y
Y
bela
rumena
bela
cian
zelena
siva
cian
rdeča
magenta
rumena
siva
zelena
magenta
modra
črna
0
modra
U
rdeča
Q
V
črna
0
I
Slika 04.10. Barvna modela YUV in YIQ
43
Barvni model CMY
Izbira barvnega modela je odvisna tudi od medija, na
katerem bo končna računalniška grafika predstavljena.
Najpogostejši medij je resda prikazovalnik, ki uporablja za
prikazovanje že omenjene barvne modele. V primerih, ko
je računalniška grafika namenjena za predstavitev na drugih medijih, je potrebno upoštevati drugačne zakonitosti reproduciranja slik. Tiskani medij ima kljub vedno večji
veljavi digitalnih medijev še vedno pomembno vlogo, zato
je potrebno poznati vsaj osnovne zakonitosti barvnih reprodukcij s koloranti.
manje modre pa komplementarno rumeno barvo. Reprodukcija CMY kolorantov (barvil, pigmentov) na papirju,
ki delujejo kot filtri, učinkuje kot selektivno odvzemanje
(subtrakcija) svetlobe določenih valovnih dolžin vpadni –
beli svetlobi. To mešanje imenujemo subtraktivno, katerega osnova je bela barva. Primarne barve so cian, magenta
in rumena, sekundarne pa rdeča R (M+Y), zelena G (C+Y)
in modra B (C+M). Terciarna barva je črna, ki nastane z
mešanjem vseh treh primarnih barv oziroma z odvzemajem
vseh valovnih dolžin iz vpadne bele svetlobe.
Podobno kot barvni model RGB je tudi barvni model
CMY enotska kocka, ki je definirana v pozitivnem oktantu
kartezičnega koordinatnega sistema, vendar se razporeditev osnovnih in sekundarnih razlikuje.
magenta
modra
m
rdeča
črna
siva
a
(C,M,Y)
Slika 04.12. Subtraktivno mešanje kolorantov
c
bela
cian
y
rumena
zelena
Slika 04.11. Barvni model CMY
Osnove barve tega barvnega modela so cian C (ang. cyan),
magenta M (ang. magenta) in rumena Y (ang. yellow). Povezavo s primarnimi barvami aditivnega mešanja RGB lahko
naredimo z odvzemanjem svetlobe rdeče, zelene ali modre
barve beli svetlobi. Odvzemanje svetlobe rdečih valovnih
dolžin iz osnovne bele svetlobe rezultira v cian svetlobi,
odvzemanje zelene predstavlja magenta svetlobo, odvze44
Za subtraktivno mešanico a treh primarnih barv c, m in y,
katerih količine (deleži) so C, M in Y (C,M,Y [0,1]) velja
a=Cc+Mm+Yy.
Koloranti v praksi nimajo idelanih lastnosti, posledično pa
so enačbe za subtraktivno mešanje le teoretične.
Matematična povezava barvnih modelov CMY in RGB je le
teoretična oziroma bi veljala v primeru idealnih kolorantov
CMY in idealnih svetlob RGB. Tako kot barvni model RGB
je tudi CMY odvisen od izhodne naprave (tiskalnika, tiskarskega stroja) in njene tehnologije barvne reprodukcije.
R
1
C
M = 1 - G
B
1
Y
3D
Spektralno-percepcijski barvni modeli (barvni modeli CIE)
Zaradi vedno večjih potreb po dovršenosti in svetlobnobarvni realističnosti različnih aplikacij računalniške grafike
našteti barvni modeli ne podpirajo kompleksnosti percepcijskega opisa svetlobno-barvnih pojavov. Po številnih
poskusih in uporabi različnih barvnih modelov se danes kot
spektralni modeli najpogosteje uporabljajo barvni modeli
CIE (v znanosti o barvi jih imenujemo tudi barvni sistemi
ali prostori), ki jih je v splošno praktično uporabo vpeljalo
Mednarodno združenje za razsvetljavo (orig. Commission
Internationale de l’Éclairage – CIE). Z upoštevanjem treh
osnovnih dejavnikov za nastanek barvnega dražljaja (svetlobni vir, objekt, opazovalec) ti modeli vpeljujejo standardizirane svetlobne vire, idealnega – standardiziranega
opazovalca, numerično vrednotenje barve, merjenje absorpcijskih in refleksijskih lastnosti svetlobe ter določanje
relativne občutljivosti očesa na svetlobo in relativno spektralno občutljivost očesa na barve v celotnem vidnem
delu elektromagnetnega valovanja. Spektralno-percepcijski barvni modeli imajo poleg tega še eno pomembno
prednost pred barvnimi modeli, ki temeljijo na modelu
RGB – so namreč neodvisni od naprave prikazovanja
(ang. device indipendent color model). To v teoriji pomeni
prenosljivost barvnih vrednosti med napravami brez
potrebe po zahtevnejših korekcijah in transformacijah.
Standardizirane barvne vrednosti XYZ in barvni model
CIELab
Na podlagi relativne občutljivosti očesa na svetlobo in relativne spektralne občutljivosti očesa na barve v celotnem
vidnem delu elektromagnetnega valovanja so bile izpeljane standardizirane barvne vrednosti XYZ. Te vrednosti
vključujejo spektralno porazdelitev sevanja svetlobnega vira
Eλ pri določenih valovnih dolžinah λ, spektralno občutljivost
očesa na visoke , srednje
in nizke
valovne dolžine
ter refleksijo predmeta Rλ.
Standardizirani barvni deleži x, y in z se izračunajo iz
vrednosti XYZ, tako da je: x=X/(X+Y+Z), y=Y/(X+Y+Z),
z=Z/(X+Y+Z) in x+y+z=1. Vrednosti XYZ pa so definirane s
spodnjimi enačbami.
700
X =k
Eλ xλ Rλ
λ=400
700
Y =k
Eλ yλ Rλ
λ=400
700
Z =k
Eλ zλ Rλ
λ=400
k =
100
700
Eλ yλ
λ=400
Faktor k je določen za absolutno belo barvo, kjer je Y enak
100 po celotnem spektru.
Aplikacija predstavljenih enačb v matematično definicijo
svetlobe, ki se odbija od površine določenega objekta,
pripelje do naslednje enačbe.
700
odbita svetloba =
700
Eλ xλ Rλ +
λ=400
700
Eλ yλ Rλ +
λ=400
Eλ zλ Rλ
λ=400
Barvni model CIEXYZ je bil definiran s pomočjo aditivnega
mešanja spektralnih svetlob treh primarnih barv točno
določenih valovnih dolžin: rdeče R (700 nm), zelene G
(546,1 nm) in modre B (453,8 nm). Matematični izračuni
so nato grafično rezultirali v barvnem diagramu xy, ki se
najpogosteje uporablja za primerjavo barvnih obsegov
različnih barvnih modelov. Mešanico dveh barvnih svetlob
(točka C) na diagramu xy lahko namreč predstavimo na
daljici, ki povezuje obe izhodiščni barvi (A in B). Barvni ton
mešanice je pri tem odvisen od lege dveh barv, nasičenost
pa od razmerja (oziroma deležev) barv.
45
y
520
Y
530
0,8
0,7
A
0,6
0,5
C
0,4
0,3
0
620
B
490
0,2
0,1
y
580
500
700-750
nm
470
450-440 nm
0,1
0,2
0,3
0,4
0,5
0,6
0,7
x
Slika 04.13. Barvni diagram xy s predstavitvijo mešanice C
barvnih svetlob A in B
Sledil je razvoj barvnega modela CIELab (CIEL*a*b*), ki
se najpogosteje uporablja v praksah različnih strok, saj
matematična kombinacija kartezičnega in cilindričnega
koordinatnega sistema omogoča dokaj primerljive prostorsko-geometrijske barvne razlike modela z vidno-zaznavnimi
barvnimi razlikami. Tri dimenzije barve v tem modelu so
svetlost L* ter koordinati a* in b*, ki predstavljata lego na
rdeče-zeleni in rumeno-modri osi modela.
Čeprav tudi barvni modeli CIE niso idealni in ohranjajo
še vedno določeno stopnjo percepcijske neenotnosti,
nudijo možnost določanja bistveno večjega števila barv
(večji barvni obseg) v primerjavi z barvnimi modeli RGB
prikazovalnikov.
x
Slika 04.14. Prostorski prikaz barvnega obsega prikazovalnika RGB v barvnem modelu CIExyY
Povezava med barvnim modelom RGB
in standardiziranimi barvnimi vrednostmi XYZ
Zaradi omenjenih problemov pri barvnih modelih RGB, HSL
in HSV se za zahtevnejše aplikacije računalniške grafike in
prenos med napravami lahko uporabljajo standardizirane
barvne vrednosti XYZ, ki so neodvisne od naprave. Ker je
končni prikaz računalniške grafike večinoma neizogiben
brez barvnega modela RGB prikazovalnika, obstaja možnost
uporabe določenih standardnih barvnih modelov, kot
na primer sRGB (s specificirano vrednostjo gama 2,2).
Ta barvni model je primeren za prenos med multimedijskimi aplikacijami, saj tako zasloni LCD, digitalne kamere,
tiskalniki in optični čitalci delujejo v skladu s tem standardom. Posebne dodatne konverzije barvnih prostorov
med različnimi izhodnimi napravami tako niso potrebne,
razen nekaterih manjših prilagoditev, kot na primer prilagoditev dinamičnega območja.
V določenih primerih je pretvorba iz standardiziranih
vrednosti XYZ v vrednosti RGB dokaj enostavna in se jo
poda z matrično enačbo, kjer je A 3×3 matrika, ki vključuje
koeficiente pretvorbe.
X
R
Y =A G
Z
B
46
3D
V primeru barvnega modela sRGB so koeficienti matrike
sledeči:
3.2410
-0.9692
0.0556
-1.5374
1.8760
-0.2040
-0.4986
0.0416
1.0570
V zahtevnejših grafičnih aplikacijah in potrebah po zelo
realističnih upodobitvah objektov je priporočljivo zajemanje dejanskih spektralnih lastnosti objekta v obliki
spektralne porazdelitve energije sevanja svetlobnega vira
(ang. spectral power distribution – SPD) in deleža odbite
svetlobe od objekta oziroma funkcije refleksije R. Prenos
informacij o barvi se nato pretvori v triparametrični zapis
s CIEXYZ standardiziranimi vrednostmi, ki omogočajo le tri
enačbe generiranja tudi v računalniških programih. Seveda
se pri prenosu podatkov na izhodno napravo CIE vrednosti
pretvorijo v barvni model RGB prikazovalnika, ki omogoča
končno predstavitev barv.
Uporaba kanalov in histogramov barv
Barvni kanali
Barvni kanal (ang. color channel) nudi vpogled v prisotnost
določene barvne dimenzije (primarne barve) izbranega
barvnega modela po celotni sliki. Posledično je možno
natančnejše upravljanje in korigiranje vrednosti posamezne
barve dimenzije v neodvisnosti od ostalih dimenzij. Glede
na število dimenzij, ki jih uporabljamo za opis barve, zavisi
tudi število kanalov. Grafika, ki vsebuje le eno barvno dimenzijo (na primer sivinska slika), je sestavljena iz enega
kanala, medtem ko je grafika v barvnem modelu RGB sestavljena iz treh barvnih kanalov. Število sivin (odtenkov),
s katerimi je določena barva v kanalu predstavljena, je
odvisno od barvne globine oziroma barvne ločljivosti slike.
Število sivin, ki predstavlja določeno barvno dimenzijo v
primeru 8-bitne slike, je tako 256, od popolne odsotnosti te
barvne dimenzije do 100% prisotnosti slednje.
svetlobni vir
3 enačbe
generiranja
pretvorba
CIE v RGB
RGBprikazovalnika
opazovalec
pretvorba
SPD in R
v CIEXYZ
refleksija objekta
Slika 04.15. Prenos informacij o barvi pri upodabljanju
objekta v primeru spektralnega zajema
Slika 04.16. Barvni kanali slike v barvnem modelu RGB
47
Alfa kanal
Histogrami
Alfa kanal (ang. alpha channel) nosi informacijo o
transparentnosti slike. To je ločen kanal, v takšni barvni
globini kot ostali kanali (največkrat 8 bitov). Uporabljamo
ga v primerih, ko želimo kombinirati sliko z določenim
ozadjem na takšen način, da izgleda zgornja slika na želenih
mestih transparentna in tako omogoči vidno ozadje. Na
mestih slike, kjer slikovne točke alfa kanala ne vsebujejo
informacije o barvi, je prisotna transparentnost slike, kar
posledično omogoča vizualiziranje slikovnih točk ozadja.
Kjer slikovne točke alfa kanala vsebujejo informacijo o
barvi, pa je glede na sivino slikovne točke alfa kanala bolj ali
manj prisotna slika.
Histogram (ang. histogram) je grafični prikaz števila
(frekvence) slikovnih točk s točno določenimi vrednostmi
izbrane barvne dimenzije (vrednosti, koordinate). Na
abscisni osi ima diagram vse vrednosti, ki jih lahko barvna
dimenzija obsega (v primeru 8-bitnega barvnega modela
RGB so to vrednosti od 0 do 255 za vsak kanal vsake
primarne barve R, G in B), na ordinatni osi pa število
(frekvenco) slikovnih točk, ki imajo določeno barvno
vrednost. Najpogosteje se histogram uporablja ločeno za
posamezne barvne kanale, kar omogoča lažje upravljanje
s posameznimi dimenzijami, lahko pa velja tudi za pregled
celotne slike (ang. composite).
Slika 04.17. Učinek alfa kanala pri sestavljanju slike in ozadja
Slika 04.18. Histogram vrednosti RGB in kompozita
48
3D
Modeliranje
Modeliranje
Minimalna konfiguracija scene
Vrste objektov po principu modeliranja
Poligoni
NURBS
DEM
Opisne krogle
Proceduralni objekti
Modelirne operacije
Osnovni operatorji na objekt in njegove komponente
Booleove operacije
Modeliranje z množenjem
Rotacija okoli osi
Izrinjanje
Množenje več krivulj
Razdeljevanje obstoječih poligonov
Med poligoni in NURBS-i
Grafični vmesnik
Modeliranje v praksi
Primer 1: Stol
Primer 2: Hruška
Primer 3: Silhueta človeka
Primer 4: Slika kot referenca
Minimalna
konfiguracija scene
Za upodobitev slike v programih za 3D grafiko potrebujemo
minimalno konfiguracijo scene, ki je sestavljena iz objektov
(zmodelirani ali proceduralni), svetlobnega vira in kamere
oziroma gledišča. Naštete tri komponente so nujni pogoj za
upodobitev slike.
Objekti so centralna pozornost slike. Dobimo jih lahko z
modeliranjem ali parametrično z enačbami (proceduralni
objekti). Modeliranje samo jim da obliko, vendar jim moramo poleg forme določiti še ostale optične lastnosti, kot so
materiali in po potrebi teksture.
Tako v naravi kot v navideznem prostoru vlada popolna
tema, če nimamo na voljo luči oziroma svetlobnega izvora.
Z lučjo definiramo intenziteto, barvo in tip svetlobe, ki bo
osvetljevala sceno.
Na osnovi omenjenega pravila imamo nakazan potek izdelave scene. Prične se z modeliranjem objekta, procesom s katerim modelu dodamo formo. Sledi definicija materialov:
barva, odbojnost, prozornost in podobno. Teksturiranje je
proces nanašanja neenakomernih postavitev materialnih
lastnosti. Sledi postavitev scene, v katero dodamo
predhodno zmodelirane objekte, luči in kamere, zadnja
faza pa je upodabljanje. Preden pošljemo sliko v izračun,
je potrebno opraviti še kar nekaj zaključnih nastavitev:
velikost slike, način upodobitve, post procesiranje, kvaliteta
slike in drugo.
Faze niso definitivne in ireverzibilne. Ko na primer objektu
že definiramo material, mu še vedno lahko popravimo
formo. Fazi definicije materialov in teksturiranja lahko
preskočimo, če ju ne potrebujemo, lahko se pa nanju
vrnemo po potrebi.
Kamera je definicija gledišča. Parametri kamere so analogni
kameram iz fizičnega sveta, v nekaterih primerih pa se lahko
uporabljajo tudi nastavitve, ki se ujemajo s karakteristikami
človeških oči.
svetlobni izvor
Slika 05.02. Potek izdelave 3D slike
objekt
kamera
Slika 05.01. Minimalna postavitev scene
51
Vrste objektov po
principu modeliranja
V poglavju o geometriji smo omenili poligone kot osnovni
gradnik objekta. Kljub temu, da je način modeliranja s
poligoni najbolj pogosto uporabljen, ni edini.
Vrste objektov lahko po principu modeliranja razdelimo
na:
• poligone,
• NURBS-e,
• DEM,
• opisne krogle in
• proceduralne objekte.
Velja opozoriti, da so načini modeliranja tesno povezani z
namenom uporabe teh objektov, kot tudi internim načinom
delovanja različnih programov: nekateri izmed njih prepoznajo samo določene vrste načinov modeliranja.
Poligoni
Poligoni (ang. polygons) so z najmanj tremi stranicami omejene ploskve. Ime izhaja iz sestavljanke grških besed poli
(mnogo) in gonia (koleno, kot). Definirani so z:
• velikostjo,
• številom stranic, ki je enako številu robov oziroma
verteksov,
• postavitvijo stranic,
• postavitvijo celotnega poligona v prostoru in
• povezavo z ostalimi poligoni v objektu.
Iz koliko poligonov je objekt sestavljen, nam definira tudi
ločljivost objekta. Iz manj poligonov, kot je sestavljen, bolj
grobo deluje, in obratno: iz več kot je sestavljen, večjo ima
definicijo. Pri modeliranju moramo v praksi izbrati pravo
razmerje med številom poligonov na objektu in namenom.
S številom poligonov se namreč povečujeta tudi čas upodabljanja in poraba pomnilnika. Če izdelujemo ilustracijo
za tisk, si lahko privoščimo kompleksnejše objekte, saj gre
52
Slika 05.03. Poligon in objekt, sestavljen iz množice
poligonov
samo za eno sliko, kjer čas upodobitve ni tako ključnega
pomena. Nasprotno velja za 3D aplikacije, ki se morajo
izvajati v realnem času (video igre, simulacije, ...), saj je
hitrost upodobitve določena na največ 1/25 sekunde. Tukaj je potrebno število poligonov zmanjšati tako, da bo čas
upodobitve primeren. Kot vmesni primer lahko omenimo
animacijo. Čas upodabljanja sicer ni terminsko določen,
tako kot pri 3D-ju v realnem času, je pa vredno upoštevati
dejstvo, da imamo opravka z upodobitvijo velikega števila
slik. Za eno minuto animacije, na primer, je potrebnih 1500
slik. Zaradi tako velikega števila zaporednih upodobitev je
zelo priporočljivo optimizirati sceno pred upodabljanjem.
Slika 05.04. Objekt, sestavljen in upodobljen iz majhnega in
velikega števila poligonov
3D
NURBS
NURBS (Non-Uniform Rational Basis Spline) so matematično
definirane krivulje, sestavljene iz krivulje same in kontrolnih
točk. Za razliko od Bezierjevih krivulj, ki imajo kontrolne
točke na krivulji, jih imajo NURBS-i izven te. Z njimi lahko
definiramo ukrivljene linije, ploskve in objekte. Za razliko
od poligonov so matematično definirane, kar pomeni, da je
njihova kvaliteta linearna. Če se močno približamo modelu,
narejenem iz poligonov, bomo videli, da je sestavljen iz
ploskev. V kolikor se želimo takšnim objektom približevati,
jim moramo povečati število poligonov, kar, kot vemo,
poveča čas izračuna. Matematična definicija NURBS-ov
le-te postavi v prednostni položaj v takšnih situacijah, saj so
glede kvalitete izrisa imuni na približevanje. Za primerjavo
lahko objekte, zmodelirane s poligoni in NURBS-i, analogno
primerjamo z razliko v rasterskih (bitmap) in vektorskih
slikah.
Slika 05.06. Primer žičnega modela in upodobitve objekta
zmodeliranega z NURBS-i
DEM
DEM (Digital Elevation Model) je model, ki je baziran na
ploskovno-slikovni informaciji o reliefnosti (Digital Elevation Map). Ta princip je večinoma uporabljen v topografiji
ter ostalih simulacijah in generacijah terenov. Slika v sivinah
deformira ploskev tako, da njen najsvetlejši del pomeni
največjo izbočenost, najtemnejši pa ne povzroči reliefne
razlike.
Slika 05.05. NURBS in Bezier krivulji
Začetnika NURBS-ov sta francoska inženirja Pierre Étienne
Bézier in Paul de Casteljau. Oba sta delala v avtomobilski
industriji, kjer se je pojavila potreba po zelo preciznem
opisu objektov. NURBS je tako postal nepogrešljiv standard v industriji, strojništvu, oblikovanju in ostalih vejah
inženiringa.
Slika 05.07. DEM: informacija o reliefnosti in po njej
deformirana ploskev
53
V topografiji se uporablja tehnika oddaljenega zajemanja
terena (ang. remote sensing). Z različnimi pristopi, kot je
opazovanje z letala, satelita, ladje ali kakšnega drugega vozila, se brez fizičnega kontakta zajemajo informacije o terenu z ultrazvokom, radijskimi valovi, magnetno resonanco,
rentgenom ali čim podobnim. Z dobljenimi informacijami,
ki jih kasneje zapišemo v DEM, lahko tridimenzionalno prikazujemo zajeti teren.
pričneta povezovati v blob, dokler se težišči obeh ne združita
in tako generirata novo, večjo. V primeru približevanja pozitivne in negativne opisne krogle, negativna vdira površino
pozitivne.
Ta princip je zelo primeren za opisovanje organskih form in
tekočin.
DEM je postal standard v programih za generiranje pokrajin,
saj lahko s preprostimi fraktalnimi enačbami ustvarimo
terene oziroma za njihov opis uporabimo v tehniki
oddaljenega zajemanja terena posnete podatke iz realnega
sveta.
Slika 05.09. Interakcija dveh pozitivnih opisnih krogel
Slika 05.08. Praktični primer upodobitve terena s principom
DEM
Opisne krogle
Slika 05.10. Interakcija negativne in pozitivne opisne krogle
Opisne krogle (ang. metaballs) so preprost primer proceduralnih objektov. Začetno so definirane s pozicijo težišča
in polmerom. Določiti jim je potrebno tudi medsebojno interakcijo. Dve pozitivni opisni krogli se z bližanjem ena drugi
54
3D
Proceduralni objekti
Korak dalje v primerjavi z opisnimi kroglami predstavljajo
proceduralni objekti. Definirani so s:
• težiščem (informacija o poziciji),
• polmerom (velikost) in
• volumetrično in/ali reliefno teksturo.
Slika 05.11. Trije primeri proceduralnih objektov
Težišča so definirana s točko, torej informacijo o poziciji. Te
objekte se lahko uporablja posamično, vendar je to redkost.
Pogosteje se namreč uporablja gruče točk (ang. particles),
ki jih kontroliramo po določenih zakonitostih: gravitacija,
zlepljenost, medsebojna interakcija, odboji od določenih
predmetov, rojstvo in smrt točk ter podobno.
Proceduralni objekti imajo primarno krogelno obliko. Deformacija te oblike je speljana z volumetrično ali reliefno
teksturo. Glede na to, da se ti objekti večinoma uporabljajo
v gruči, nam večkrat bolj pride prav rang velikosti kot pa
fiksna velikost. To pomeni, da si izberemo minimalni in
maksimalni polmer, program pa ga naključnostno dodeli
vsakemu proceduralnemu objektu posebej.
Volumetrična in reliefna tekstura sta proceduralne narave,
kar pomeni, da sta zapisani s kombinacijo enačb in se zatorej obnašata vektorsko. To nam daje možnost poljubnega
približevanja objektom, kar jim znatno razširi uporabo. Tako
kot pri vseh do sedaj naštetih principih modeliranja, tudi
za to vrsto objektov velja, da poleg vseh svojih specifičnih
lastnosti dovoljujejo uporabo materialov in tekstur.
Slika 05.12. Primer uporabe proceduralnih objektov v
praksi
55
Modelirne operacije
Modelirne operacije nam dovoljujejo različne posege na
objekte, naj si bodo to primitivni, kompozitni ali krivulje. S
kombinacijo različnih pristopov in njihovih zaporedij nam
programi predstavljajo močna modelirna orodja. Ogledali
si bomo le nekatere osnovne operacije, in sicer na objektih s poligoni. Določene analogije teh tehnik veljajo tudi za
principe modeliranja z NURBS-i.
Osnovni operatorji na objekt in
njegove komponente
Tri najbolj osnovne operacije so spreminjanje položaja, velikosti in nagiba. Te operacije lahko izvedemo na celotnem
objektu ali njegovih posameznih gradnikih: poligonu, robu
ali verteksu.
Booleove operacije
Booleove operacije, ki se uporabljajo v 3D modeliranju so
samo izsek iz mnogo obsežnejše Booleove algebre, temelj
digitalne logike, izum angleškega matematika in filozofa iz
19. stoletja, Georga Boolea. V modeliranju nas bolj zanimajo množice in njihovo medsebojno obnašanje. Trije osnovni
operatorji, katere lahko medsebojno kombiniramo, so IN,
ALI in NE. Z ALI združimo obe množici in ju tako seštejemo.
IN predstavlja presek dveh množic. V kolikor se dva objekta
prekrivata, bo IN prikazal prostor, ki ga skupno pokrivata.
NE je tisti operator, ki je v modeliranju še najbolj pogost in
predstavlja odštevanje ene množice od druge.
Pri spreminjanju položaja (ang. move) objektu spremenimo koordinate težišča in ga s tem umestimo na poljubno
lokacijo v prostoru. Isto operacijo lahko izvedemo na ostalih
treh gradnikih objekta. Kadarkoli vplivamo na te gradnike,
so vedno del objekta in se ne ločijo od njega.
Velikost objekta lahko spreminjamo na dva načina: na vseh
treh oseh hkrati (ang. resize) ali za vsako os posebej (ang.
stretch). V prvem primeru se proporci objekta ne spremenijo, kljub temu, da ima drugačno velikost, v drugem
primeru pa se. Za primer lahko vzamemo pretvorbo krogle
v elipsoid. Krogli spremenimo velikost v eni osi in jo s tem
deformiramo tako, da nam predstavi elipsoid. Velikost
lahko spreminjamo tudi posameznemu poligonu ali robu,
medtem ko je verteksu ne moremo, saj je neskončno
majhen gradnik in ta operand nanj ne deluje.
Objekt lahko poljubno nagibamo (ang. rotate) v katerikoli
osi za poljuben kot. Enako lahko storimo tudi s posameznimi poligoni ali robovi, medtem ko na verteks, tako kot pri
spreminjanju velikosti, ne moremo vplivati z nagibom.
56
Slika 05.13. ALI, IN in NE Booleovi operatorji na dveh
množicah
Praktični primer
Največkrat se nam v praksi pojavi potreba po vrtinah oziroma luknjah in vdorih na določen predmet. Kot izredno preprost primer bomo vzeli kroglo in valj, katerega stranica je
daljša od premera krogle. Z NE operatorjem definiramo valj
kot negativen objekt, kroglo pa kot pozitivnega. Rezultat je
vrtina skozi kroglo. V kolikor bi bila stranica valja krajša od
premera krogle, bi se luknjanje na krogli vseeno izvedlo,
vendar ne bi bilo vidno, saj bi ta praznina bila znotraj krogle.
Ta operacija bi imela smisel na primer pri prozornih predmetih ali pa z namenom nadaljnjih izvrtin.
3D
Slika 05.14. Osnovni objekt, sprememba položaja, sprememba velikosti in nagib
Slika 05.15. Poligon objekta, sprememba položaja, sprememba velikosti in nagib
Slika 05.16. Rob objekta, sprememba položaja, sprememba velikosti in nagib
Slika 05.17. Verteks objekta, sprememba položaja
57
Rotacija okoli osi
Rotacija okoli osi (ang. revolve, lathe) je polarno množenje
krivulje ali ploskega objekta okoli poljubno postavljene osi
za 180° ali 360°. Uporablja se za vse vrste vrtenin.
Praktični primer
Slika 05.18. Praktični primer Booleovega NE operatorja: postavitev dveh objektov (levo) in rezultat operacije
(desno)
Praktični primer
Vzemimo dva križajoča se valja, tokrat z namenom preseka.
Valja bi radi presekali tako, da prikažemo njuno križišče.
Postavljena sta pravokotno eden na drugega. Z operatorjem
IN dosežemo, da se bo izrisal presek obeh objektov, torej
križišče, kot smo se takoj na začetku domenili.
Slika 05.19. Praktični primer Booleovega IN operatorja:
postavitev dveh objektov (levo) in rezultat operacije
(desno)
Za primer rotacije krivulje predstavimo izdelavo kozarca. S
krivuljo izrišemo polovični presek kozarca. Krivulja mora biti
izrisana tako, da je v primeru zrcaljenja zaključena, saj lahko
samo tako iz krivulje ustvarimo polno telo. To pomeni, da
morata biti oba ekstrema krivulje na isti navpičnici. V kolikor ta pogoj ni izpolnjen, bomo lahko izdelali le površinsko
telo. Os rotacije postavimo tako, da bo predstavljala center
kozarca. S funkcijo rotacije za 360° tako dobimo poln objekt, v našem primeru kozarec.
Slika 05.20. Praktični primer rotacije krivulje: postavitev
krivulje in osi (levo) in zmodeliran objekt (desno)
Praktični primer
Modeliranje z množenjem
O modeliranju z množenjem govorimo takrat, ko iz krivulje
ustvarimo ploskev oziroma iz ploskve polno telo, po vnaprej
določenih prijemih. Koncept množenja tukaj uporabljamo
zato, ker se s temi prijemi modelira objekte z večanjem
števila poligonov v določeni smeri ali po prednastavljeni
poti.
58
Pri primeru rotacije ploskve predstavimo za primer nekaj,
kar smo že omenjali v tretjem poglavju pri naštevanju primitivnih objektov. Na to temo smo v isto družino grupirali
kroglo, elipsoid in torus, prav zaradi te podobnosti, sekundarnega modeliranja. Zdaj si lahko bolj podrobno ogledamo
o čem je bilo govora v prej omenjenem poglavju.
3D
Za osnovo vzemimo krog, predstavnika ploskih primitivnih
objektov. Os rotacije bomo postavili kot mimobežnico temu
krogu. S funkcijo rotacije za 360° je naš rezultat torus.
Slika 05.21. Praktični primer rotacije ploskve: postavitev
ploskve in osi (levo) in zmodeliran objekt (desno)
Izrinjanje
Slika 05.22. Praktični primer linearnega izrinjanja: inicialni
ploski objekt (levo) in isti objekt s prostorsko vsebino
(desno)
Za drugi primer na isto temo si poglejmo, kako preprosto je
izdelati zaveso. Tukaj bomo uporabili valovito krivuljo, ki jo
izrinemo po njeni normali. Rezultat je ukrivljena ploskev.
Pri izrinjanju (ang. extrude) krivuljo ali ploski predmet
razširimo v novo dimenzijo, bodisi linearno ali po vnaprej
določeni poti. Pri linearnem izrinjanju se predmetu doda
samo debelino, medtem ko se mu pri izrinjanju po poti, poleg debeline, doda še ukrivljenost.
Praktični primer
Prednost 3D-ja v oblikovanju je ta, da lahko sicer ploske
grafične elemente pretvorimo v polne objekte. Novodobni oblikovalci so si že večkrat privoščili tridimenzionalne
logotipe in napise, zelo popularne v televizijski produkciji,
manj pa v tisku.
Vzemimo za primer ploski napis in ga izrinimo po osi, na
kateri nima debeline. Po opravljeni operaciji smo mu dodali
prej manjkajočo dimenzijo.
Slika 05.23. Praktični primer linearnega izrinjanja: inicialna
krivulja (levo) in izrinjena po svoji normali (desno)
Praktični primer
Izrinjanje po poti je najenostavnejša pot do zvitkov,
žic, vrvi, vzmeti in še marsičesa drugega, kar potrebuje
kompleksnejšo izrinjeno obliko.
59
Izdelali bomo na enakomerni površini ležeč odsek vrvi.
Potrebujemo dva elementa: krog, ki nam bo predstavljal
presek vrvi, in krivuljo, po kateri naj bi ta presek potekal. Z
množenjem po poti dobimo želeni učinek vrvi.
postavljeni še dve, ki predstavljata naguban rob pregrinjala. Ekstremi vseh štirih krivulj se morajo dotikati: vsaka se
mora dotikati svoje sosednje. S funkcijo množenja krivulj,
dobimo ploskev.
Vredno je omeniti, da ta funkcija ni monotona, saj ponuja
še nekaj nastavitev. Tukaj predstavljeno izrinjanje rotira
normalo osnovnega preseka po krivulji in tako dobimo na
končnem modelu enakomerne volumenske odseke. Pri
izrinjanju lahko normali osnovnega preseka določimo, da
se ne obrača in s tem ohrani svojo primarno pozicijo. V tem
primeru volumenski odseki ne bodo enakomerni.
Slika 05.25. Praktični primer množenja več krivulj
Razdeljevanje obstoječih poligonov
Slika 05.24. Praktični primer izrinjanja po poti: inicialni
ploski objekt (zgoraj) in isti objekt s prostorsko vsebino
(spodaj)
Množenje več krivulj
Pri tej operaciji potrebujemo najmanj tri krivulje, katerih
ekstremi sosednjih krivulj se stikajo skupaj. Ta tehnika je
ugodna za modeliranje ukrivljenih ploskih predmetov.
Praktični primer
Poskusimo zmodelirati posteljno pregrinjalo kot preprost primer ukrivljene ploskve. Pregrinjalo se bo uleglo
po žimnici, a kljub temu bo malenkostno nagubano. Dve
nasprotujoči si krivulji bosta v obliki na glavo postavljene
črke u, medtem ko bosta pravokotno na ti dve krivulji,
60
Modeliranje v programih za 3D računalniško grafiko lahko
primerjamo s kiparjenjem. Kipar prične z blokom surovega
materiala (les, kamen, glina, ...) in mu postopoma dodaja
formo. Najprej jo samo nakaže, v prihajajočih korakih pa
jo vedno bolj definira in dodaja detajle do zadovoljivega
končnega rezultata oziroma forme, ki si jo je zamislil. Pri
modeliranju v računalniški grafiki je postopek zelo podoben, saj pričnemo s primitivnim objektom z majhnim številom poligonov, ki je podoben formi končnega izdelka.
Postopoma ta primitivni objekt deformiramo in mu dodajamo nove poligone na mestih, ki jih želimo razširiti in kasneje
dodatno obdelovati.
Rez je najpreprostejši primer množenja poligona. Numerično ali interaktivno poligon razdelimo na najmanj dva
dela, ki nista nujno enaka, saj imamo večkrat opravka z nepravilnimi kot s pravilnimi oblikami. Razdeljene poligone
lahko po potrebi na isti način množimo dalje z namenom
naknadne obdelave.
3D
Slika 05.26. Poligon v primarni (levo) in razdeljeni formi
(desno)
Zaokroževanje robov (ang. bevel) je način množenja poligona po enačbi N=n+1, kjer je N novo število nastalih poligonov, n pa število robov primarnega poligona. Ta princip ni uspešno uporabljen samo pri mehčanju robov ostrih
predmetov ali ploskev, ampak tudi za izrinjanje posameznih
poligonov.
Množenje poligonov celotnega objekta se uporablja, kadar želimo enakomerno pomnožiti vse poligone naenkrat.
To lahko poteka na vsaj tri načine: linearno, z interpolacijo
in z motnjo. Pri linearnem načinu se poligoni pomnožijo,
na da bi objekt spremenil formo. Ploskve ostajajo nespremenjene, le sestava se jim porazdeli v več enot. Pri interpolaciji pomnoženi, na novo nastali vmesni poligoni, vzamejo
povprečje predhodnih, primarnih kotov med njimi. Na ta
način predmetu omehčamo celotno formo. Pri načinu z
vnešeno motnjo, se poligoni sicer pomnožijo na podoben
način kot pri interpolaciji, le da se njihovi na novo nastali
koti ne ozirajo na povprečje, ampak na naključnostno funkcijo v rangu, ki smo ga predhodno določili.
Velja ponovno opozoriti, da različni programi delujejo po
različnih principih in so zatorej vsa do sedaj navedena orodja opisana le okvirno.
Slika 05.27. Poligon v primarni formi (levo) in razdeljen po
principu zaokroževanja robov (desno)
Slika 05.28. Začetni objekt (zgoraj levo), pomnožen linearno
(zgoraj desno), z interpolacijo (spodaj levo) in z motnjo
(spodaj desno)
61
Simulacija krivulj s poligoni je sicer način, ki je zelo specifičen za določene programe, vendar ga velja omeniti kot
boljšo alternativo zgoraj omenjenemu prijemu množenja
poligonov celotnega objekta. V tem načinu verteksi osnovnega, s poligoni zgrajenega objekta, predstavljajo kontrolne točke NURBS-om podobnemu principu. Za razliko
od NURBS-ov, ki so matematično definirani s formulo in se
zatorej vektorsko obnašajo, tukaj definiramo natančnost
sami: večjo interno porazdelitev ko mu določimo, bolj se bo
objekt natančno upodobil. Prednost tega načina se izkaže
pri organskih in ostalih mehkih formah. Poraba prostora na
pomnilniških medijih je znatno manjša kot pri močno definiranemu poligonastemu objektu, rezultat pa je enak.
Slika 05.30. Objekt, zmodeliran z NURBS-i in na grobo ter
fino skonvertiran v poligone
Grafični vmesnik
Slika 05.29. Začetni objekt z nižjim številom poligonov (levo)
in s simulacijo krivulj (desno)
Med poligoni in NURBS-i
Glede na to, da so NURBS-i matematično definirani in zatorej neskončno natančno zaobljeni, ne predstavljajo nobenega problema za pretvorbo v poligone. Pri tej pretvorbi si
moramo izbrati natančnost te operacije: lahko je zelo groba
(manj poligonov) ali pa izredno natančna (več poligonov).
Nastavitve naravnamo po naših potrebah.
Različni programski paketi imajo različne grafične vmesnike
ter tudi razporeditev in grupiranje orodij. Kar je vsem enotno, je pogled. Večinoma je delovno okolje, vsaj kar se tiče
pogleda na modelirani objekt ali sceno, tipsko razdeljeno
na štiri dele, ki jih na zaslonu vidimo naenkrat: oris, stranski ris, tloris in perspektiva. Če želimo detaljneje obdelovati model ali sceno, lahko po potrebi razširimo en pogled
čez cel zaslon ali na kakšen drugi način. Poleg predhodno
omenjenih pogledov imamo lahko tudi tiste, narejene po
meri, kot je na primer pogled iz zornega kota kamere ali
luči.
Plasti (ang. layers) so podgrupe nekega objekta. Včasih
se nam pri modeliranju objekt izredno razčleni in postane
težaven za obdelavo. Z uporabo plasti lahko posamezne od
teh brez težav modificiramo. Ko naš model pripeljemo do
zaključka, jih lahko zlepimo skupaj v enotno plast ali pa ga
pustimo kot je in vsaki plasti določimo posebno funkcijo,
kot je to na primer hierarhija v animaciji.
Konverzija v obratni smeri je manj očitna in zna biti celo
problematična. Edini način je predhodno omenjeni, torej
pretvorba verteksov v kontrolne točke krivulj.
62
3D
Slika 05.31. Primer grafičnega vmesnika brez orodnih vrstic in menujev
Pri modeliranju imamo na voljo več načinov prikaza modela:
• z objemajočim kvadrom,
• z verteksi,
• z žičnim modelom,
• s polnim modelom brez tekstur,
• s polnim modelom s teksturami in
• z ožičenim polnim modelom z ali brez tekstur.
Katerega si bomo izbrali za ogled, je odvisno od načina modeliranja in hitrosti strojne opreme, ki jo imamo na voljo. Ni
vseeno, kakšen način prikaza uporabljamo pri modeliranju.
V kolikor delamo s kompleksnimi objekti, z velikim številom
poligonov, je včasih bolje, da izklopimo tiste ploskve mo-
dela, ki niso vidne z našega trenutnega gledišča, saj si s tem
poenostavimo prikaz, ki bi lahko bil sicer zelo nepregleden.
Včasih nam je ugodneje imeti popoln nadzor, tako nad vidnimi, kot nevidnimi ploskvami in je zato pogled vidnih in
nevidnih robov hkrati bolj primeren. Nekatere vrste pogledov so zelo “požrešne” glede procesorske moči, zato je to
včasih tudi omejitev za izbor načina prikaza.
Žični model (ang. wireframe) je najosnovnejša oblika prikaza objekta, ki ga modeliramo oziroma postavljamo v sceno.
Ta način prikazuje robove objekta in vertekse. Osnovni žični
model prikazuje tako vidne kot nevidne ploskve, lahko pa
si izberemo opcijo prikaza samo vidnih ploskev, če nam to
program dovoljuje.
63
Kadar imamo opravka z izredno velikim številom poligonov,
nam bo žični ali kakšen še bolj “požrešen” način pogleda
znatno upočasnil delo. Če tega objekta ne modeliramo, ampak je samo postavljen v sceni, zanj lahko izberemo prikaz z
objemajočim kvadrom (ang. bounding box). Ta izriše kvader,
ki je velikosti prikazovanega objekta. Tako lahko kakršnokoli
število poligonov v poglednem oknu zreduciramo na število
šest. Ta način je najhitrejši in najmanj zahteven, a hkrati
tudi najmanj nazoren.
Verzija žičnega modela je prikaz z verteksi. Tukaj so prikazani samo verteksi, ne pa robovi modela, ki te povezujejo.
Tudi ta prikaz je hitrejši od žičnega modela in hkrati bolj nazoren kot prikaz z objemajočim kvadrom.
Pri polnem modelu brez tekstur (ang. solid shaded) lahko
že vidimo objekt z zapolnjenimi vidnimi in skritimi, nevidnimi poligoni. Modeli so barvno prikazani, tako kot je to
določeno na materialu, lahko pa se tudi opazi preprostejši
odsev luči. Barva in polnost definirata obliko prikazanega
modela, ki je zato lepše viden pri hitrem predogledu. Ostale materialne lastnosti so izklopljene, tako da je prikaz
na zaslonu hitrejši. Obstajata dva načina prikaza polnega
modela: z mehkim senčenjem (ang. smooth shaded) in brez
njega (ang. flat shaded).
Slika 05.32. Prikaz z objemajočim kvadrom
Polni model s teksturami (ang. texture shaded) je najnazornejši, a hkrati tudi glede opreme najpotratnejši način
prikaza. Ta ima poleg karakteristik, ki so tipske za prikaz polnega modela brez tekstur, samo še to, da lahko dejansko
prikaže tudi teksture. Nekateri programi lahko v tem načinu
prikazujejo tako rasterske kot proceduralne teksture, nekateri pa samo prve. Če nam programska in strojna oprema
to dovoljujeta, imamo v tem načinu tudi dodatne možnosti
prikaza, kot je na primer odsev okolice.
Kadar se pojavi potreba po nazornem prikazu in hkrati nadzoru nad verteksi in robovi, lahko zadnja dva načina, prikaza
polnih modelov, kombiniramo z žičnim prikazom (ang. solid
shaded wireframe). Tako imamo na voljo obe zahtevi: nazornost in nadzor.
64
Slika 05.33. Prikaz z verteksi
3D
Slika 05.34. Žični model
Slika 05.35. Polni model brez tekstur
Slika 05.36. Polni model s teksturami
Slika 05.37. Žični polni model s teksturami
65
Modeliranje v praksi
V tem poglavju so bili predstavljeni različni pristopi
modeliranja in osnovne, najbolj pogoste tehnike. Njihove
kombinacije nam lahko predstavijo zelo zmogljiva orodja,
kako jih bomo uporabljali, je pa v največji meri odvisno od
naše iznajdljivosti, znanja in vsekakor prakse. V naslednjih
štirih primerih je predstavljeno, kako se praktično lotimo
različnih nalog v modeliranju in kako do sedaj razložene
tehnike delujejo v praksi.
Vsak program za 3D računalniško grafiko ima še vrsto
drugih, sekundarnih orodij, ki nam olajšajo delo, zlasti pri
specifičnih modelirnih operacijah. Ker ima vsak od teh
programov samosvojo logiko delovanja, smo se omejili na
prikaz tistih orodij, ki so reprezentančna za vse.
Stol
1.
Primer modeliranja preprostega stola nam bo prikazal, kako
s primitivi, osnovnimi operatorji in Booleovimi funkcijami
izdelamo nezahteven del pohištva. Začnemo s kvadrom, ki
bo imel višino, širino in globino enako stolu, ki smo si ga
zamislili. Vertikalne poligone že takoj na začetku razdelimo
na dva dela po višini.
2.
Označimo dva sosednja verteksa na zgornjem delu kvadra
in ju malenkostno odmaknemo navzven. Rahel nagib, ki
smo ga naredili, bo kasneje predstavljal nagib naslonjala.
3.
Na drugi plasti, v ozadju, pripravimo dva kvadra: zgornji je
po vertikali polovične velikosti stola, spodnji pa malenkost
manj. Oba sta ožja in globlja od stola v enaki meri.
4.
Ta dva kvadra v ozadju nam predstavljata dodatno množico.
Z Booleovim operatorjem NE jo odštejemo od začetnega
kvadra.
5.
Podobno naredimo v naslednjem koraku, le da oba kvadra
zavrtimo za pravi kot glede na vertikalo. Spodnji kvader pustimo takšnega, kot je, zgornji pa potrebuje še en popravek:
dva verteksa označimo in en rob tega kvadra zamaknemo
tako, da bo vzporeden prej zamišljenemu naslonjalu. Nasprotno stranico tega roba pomaknemo preko sprednje
stranice stola.
6.
Ponovno z Booleovim operatorjem odštejemo stolu ta dva
kvadra. Na tej točki ima naš del pohištva tako že razpoznavno
obliko.
7.
Za naslonjalo zmodeliramo kvader, ki je malenkostno širši
od stola in ga nagnemo tako, da bo vzporeden držaloma
naslonjala.
8.
Na nižjem delu stola naredimo valj, katerega premer je
manjši od širine ene noge stola, dolžina pa enaka razmaku
med dvema nogama. Prekopiramo ga glede na vertikalo, da
dobimo še enega, vzporednega prvemu.
9.
Oba valja prekopiramo še enkrat in ju zavrtimo za pravi kot
glede na vertikalo. Celotnemu objektu dodamo še barvo
lesa.
Slika 05.38. Potek modeliranja stola
66
3D
1.
2.
3.
4.
5.
6.
7.
8.
9.
67
Hruška, prvi način
1.
Pri izdelavi hruške lahko uporabimo principe rotacije in
izrinjanja po poti. Začnemo z izrisom krivulje, ki predstavlja po vertikali polovični presek sadeža. Na stran obeh ekstremov, katera morata biti v isti, navpični liniji, postavimo
os rotacije.
2.
Krivuljo zarotiramo za 360° in dobimo poln objekt v obliki
sadeža. Hkrati mu barvo spremenimo v zeleno rumeno.
3.
Peclja se lotimo tako, da najprej izrišemo krog, ki bo predstavljal presek. V ozadju narišemo ukrivljeno linijo, ki bo
predstavljala pot za izrinjanje.
4.
Z izrinjanjem po poti krog in krivuljo spremenimo v ukrivljen valj. Novo nastalemu objektu dodelimo rjavo barvo.
5.
Oba objekta združimo.
6.
Kot tretji element bomo naredili list, ki bo pritrjen na pecelj.
Za osnovo bomo vzeli tri krivulje in jim staknili robove.
7.
Krivulje pomnožimo med sabo in tako dobimo ploskovni
objekt, kateremu dodelimo temno zeleno barvo.
8.
List združimo z ostalima dvema objektoma, da dobimo
končno obliko zmodeliranega sadeža.
Slika 05.39. Potek modeliranja hruške na prvi način
68
3D
1.
2.
3.
4.
5.
6.
7.
8.
69
Hruška, drugi način
Primer hruške si bomo ogledali še enkrat, tokrat z drugačnim
pristopom. S tem želimo pokazati, da lahko do nekega rezultata pridemo po različnih poteh. Kako si izberemo te poti,
je odvisno od tega, katera orodja so v določenem programskem paketu lažja za uporabo in katera od teh orodij nam
kot uporabnikom najbolj ležijo.
8.
Končna podoba, na osnovi deformacije primitivov, zmodeliranega sadeža.
9.
Primerjava obeh modelov: vidimo, da so poligoni drugače
razporejeni na modelih, saj smo pri vsakemu od njih uporabili drugačno tehniko. Rezultat je podoben.
1.
Za osnovo bomo uporabili kroglo, za začetek z manj poligoni.
2.
Z označevanjem horizontalno ležečih skupin verteksov na
krogli ter spreminjanjem njihovega položaja in velikosti
površine, na kateri ležijo, deformiramo kroglo tako, da dobi
podobo hruške.
3.
V kolikor nam zmanjka poligonov, jih pomnožimo tako, da
obstoječe podvojimo po diagonali in tako lepše zmodeliramo obliko.
4.
Za pecelj uporabimo valj, katerega že na začetku po vertikali
razdelimo na več nivojev.
5.
Na podoben način, torej z označitvijo posameznih skupin
verteksov, ki so na isti višini, jih tokrat samo nagibamo in
premikamo tako, da celoten valj ukrivimo.
6.
Za osnovo listu kreiramo krog oziroma valj brez višine.
7.
Z deformacijo verteksov ga pretvorimo v suličasto obliko.
Slika 05.40. Potek modeliranja hruške na drugi način
70
3D
1.
2.
3.
4.
5.
6.
7.
8.
9.
71
Silhueta človeka
1.
Začnemo s kvadrom in ga razdelimo po sprednji strani na
šest kvadrisetov: zgoraj in spodaj na tri, ob strani pa na dva.
Vklopljeno imamo funkcijo simetrije po višini. To pomeni,
da kakorkoli bomo modificirali objekt na eni strani, se nam
bodo te spremembe identično zrcalno pojavljale na drugi.
2.
Vertekse na sredini kvadra premaknemo više. S tem
zmanjšamo zgornji nabor poligonov tako, da postanejo
približno kvadratni. Izberemo zgornji stranski kvadriset.
Zaradi vklopljene simetrije po vertikali se bo samodejno izbral tudi tisti na nasprotni strani.
3.
S funkcijo zaokroževanja robov označene poligone izrinemo
navzen in tako nakažemo roke nastajajoče figure.
4.
Zopet izberemo skrajna poligona, torej tista, ki sta sedaj
na koncih nastajajočih rok. Še dvakrat ponovimo podobno operacijo kot pri prejšnjem koraku in tako ustvarimo komolec in podlaht. V kolikor bi se hoteli spuščati v
detaljnejše modeliranje, bi tako lahko nadaljevali in zmodelirali še dlani in prste.
7.
Goleni razdelimo poligone na spodnjem delu. Objekt na
ta način pripravimo na ponovno izrinjanje, tokrat vnaprej,
da dobimo stopala. Ravno tako kot pri roki lahko tudi pri
stopalu nadaljujemo v natančnejše modeliranje, v kolikor
model to od nas zahteva.
8.
Za konec izrinemo še zgornji srednji poligon, rezultat pa
nam bo predstavljal glavo. Velja opozoriti, da si vedno že
vnaprej predstavljamo, kako bomo naše objekte modelirali.
S tem bomo vedeli, s kolikšnimi in kako razporejenimi poligoni sploh pričnemo.
9.
Model je sicer bolj podoben robotu kot človeku, vendar je
bilo pri modeliranju že vnaprej upoštevano, da bo iz poligonov sestavljen model kasneje pretvorjen v NURBS-e tako,
da bodo verteksi predstavljali kontrolne točke. Te kontrolne
točke še malenkostno popravimo, da se uravnajo proporci
okončin.
5.
Spodnji del objekta, ki bo predstavljal pas, zožamo, da bo
imel širino ožjo od ramen. Srednja dva verteksa stisnemo
v notranjost. Zdaj imamo na spodnji strani objekta skrajna
dva poligona približno kvadratne oblike in sta pripravljena
na izrinjanje in zatorej modeliranje nog. Označimo ju.
6.
Na podoben način, kot smo izrinili roke, to naredimo tudi
z nogami. Inicialni poligon tako raztegnemo na stegno, koleno in golen.
Slika 05.41. Potek modeliranja silhuete človeka
72
3D
1.
2.
3.
4.
5.
6.
7.
8.
9.
73
Slika kot referenca
Včasih imamo opravka z realnimi predmeti, ki jih moramo
zaradi takšnih ali drugačnih potreb prenesti v navidezno
okolje. Če so ti predmeti na dosegu tako, da jih lahko poslikamo, je to še toliko lažje, saj te fotografije lahko uporabimo za osnovo našega modeliranja. Tako kot lahko neko
sliko ročno prerišemo na polprozoren papir, lahko nek objekt zmodeliramo po fotografiji ali skici.
1.
Poslikali smo stražni stolp, katerega smo smatrali kot
primernega za prikaz tehnike modeliranja s sliko kot referenco, zaradi svoje preproste geometrije in simetrije elementov na vseh štirih straneh fasade. Za modeliranje bomo
uporabljali samo kvadre.
2.
Ker imamo opravka z objektom, ki je simetričen na vse
štiri strani, je dovolj, da ga poslikamo samo z ene. V kolikor
objekti, katere želimo modelirati, ne izkazujejo uporabnih
simetrij, jih bo potrebno poslikati z vseh ali vsaj ključnih
zornih kotov. V programu za 3D modeliranje vstavimo sliko
v modelirno okno kot ozadje.
3.
Začnemo pri glavnem telesu stolpa. Po sliki izrišemo kvadre.
Glede na to, da je stolp simetričen na vse štiri strani, pazimo, da imajo ti kvadri zgornjo in spodnjo stranico kvadratno. Telo smo zgradili iz treh kvadrov: spodnji in zgornji del
ter ploščata streha.
4.
Odprtine za okna bomo v sosednji plasti izdelali negativne,
saj jih bomo kasneje z Booleovim NE operatorjem odšteli
od telesa stolpa. Naredimo odprtine za vsa tri okna na eni
strani fasade.
5.
Z Booleovim operatorjem NE jih odštejemo od ene strani
fasade. Objekte namenjene luknjanju odprtin oken zaroti74
ramo za pravi kot in jih ponovno odštejemo od sosednje
fasade. To ponovimo še dvakrat, tako da ta proces enako
izvedemo na vseh štirih straneh stolpa. Ker je stolp v resnici votel, ga dodatno preluknjamo po njegovem telesu
s kvadrom, ki poteka od njegovih temeljev pa skoraj do
strehe. Tako bo naša struktura votla, a bo kljub temu imela
pravilno debelino sten.
6.
Kar se tiče stolpa samega, lahko tukaj zaključimo, saj je
za naše potrebe dovolj natančno zmodeliran. Lotimo se
ploščadi balkona, ki ji bomo dodelili tudi drugačen material.
Kvadratno ploskev neke minimalne debeline bomo po sliki
ulovili tako, da se bo ujemala s ploščadjo balkona.
7.
Balkonu dorišemo še vertikalne nosilce za ograjo. Spremenimo material v les in dorišemo še ograjo in štiri podpornike,
ki se na eni strani držijo ekstrema ploščadi balkona, na drugi
pa fasade stolpa.
8.
Fotografijo fasade v programu za obdelavo slik priredimo
tako, da nam bo služila kot tekstura. Na tej teksturi bomo
potrebovali: opečnato fasado, teksturo spodnjih dveh oken
ter betonski pas med spodnjim in zgornjim delom stolpa.
9.
Teksture apliciramo na telo stolpa na kubičen način (več
o teksturiranju v naslednjem poglavju). Tako dobimo 3D
model, ki je približen tistemu s fotografije.
Način modeliranja po fotografiji ali skici nam olajša modeliranje predvsem z vidika proporcev posameznih elementov
modela, saj se interaktivno lahko orientiramo kar direktno
po naši slikovni referenci.
Slika 05.42. Potek modeliranja s sliko kot referenco
3D
1.
2.
3.
4.
5.
6.
7.
8.
9.
75
Materiali in teksture
Materiali in teksture
Fraktali
Fraktali v naravi
Opisovanje narave s fraktali
Materiali
Senčenje
Barva
Reflektivnost in difuznost
Odsevnost
Prozornost
Svetlost
Reliefnost
Teksture
Mapiranje
Ploskovno mapiranje
Krogelno mapiranje
Cilindrično mapiranje
Kubično mapiranje
UV mapiranje
Proceduralne teksture
Fraktali
Fraktali so samopodobnostne funkcije – del funkcije je podoben celoti. Izraz fraktal je podal matematik Benoit Mandelbrot in izhaja iz latinske besede fractus (polomljen). Te
funkcije so močno povezane s teorijo kaosa, ki ga v vsakdanjem življenju asociiramo z neredom in zmedo, v matematiki
pa imajo drugačen pomen. Njegove tri poglavitne lastnosti
so:
• nelinearnost,
• izjemna občutljivost na začetne pogoje,
• vzrok in posledica nista sorazmerna.
Nelinearnost je nasprotje linearnosti. Za razliko od linearnih funkcij, ki potekajo zvezno in predvidljivo (na primer
sinusoida), nelinearnih funkcij ne moremo diferencirati:
na nelinearno krivuljo ne moremo zarisati tangente. Nediferenciabilno funkcijo je prvič predstavil Weierstrass leta
1872. Kot pri fraktalih, Weierstrassova funkcija ne postane
preprostejša pri povečevanju, ampak razvija naprej svojo
nelinearnost.
dolgoročno napovedovali vreme. Naredil je grob model, sestavljen iz dvanajstih diferencialnih enačb, ki so predstavljale spremembe temperature, pritiska in ostalih parametrov. Nekega zimskega dne leta 1961 je Lorenz pregledoval podatke, ki so prišli iz njegovega modela. Namesto da
bi ta model ponovno zagnal od začetka, ga je raje nekje iz
sredine in ugotovil, da se rezultata po nekem času ne ujemata več. Tega ni pričakoval in je najprej mislil, da v njegovem,
na elektronkah osnovanem, računalniku Royal McBee, nekaj
ne deluje pravilno. Ko je ugotovil, da je z njegovim strojem
vse v redu, je kmalu tudi lociral problem. Da bi privarčevali
na prostoru, so njegovi izpiski podajali trimestne rezultate,
medtem ko je računalnik interno deloval s šestmestnimi
števili. Zaradi občutljivosti njegovega matematičnega modela, je ta zahteval zelo fino podajanje vhodnih parametrov.
Če pomislimo, je meritev temperature na tisočinko stopinje
natančno trivialno in bi bil ta model nestabilen v vsakem
primeru. Ob tem spoznanju je Lorenz obupal nad svojim projektom, saj je njegov model izkazoval preobčutljivo odvisnost od začetnih pogojev. Ta fenomen se včasih poimenuje
metuljev učinek, za katerega velja, da zamah s krili metulja
na enem koncu sveta lahko povzroči orkan na drugem.
Slika 06.01. Weierstrassova funkcija: tipski graf in enačba
Dobršen del raziskavam kaosa je dodal Edward Norton
Lorenz, ki je bil matematik in meteorolog na Inštitutu za tehnologijo v Massachusettsu. Zabaval ga je študij o vremenu.
S prihodom računalnikov je Lorenz videl možnost izdelave matematičnega modela, s pomočjo katerega bi lahko
Slika 06.02. Lorenzov atraktor
79
Znana funkcija je Lorenzov atraktor, ki predstavlja rezultat
dolgo časa delujočega Lorenzovega oscilatorja. Gre za tridimenzionalni neponavljajoči se dinamični sistem, v obliki
ležeče osmice, imenovane tudi lemniskat.
Fraktali so doživeli svoj razvoj v zadnjih petdesetih letih,
skupaj z razvojem računalnikov. Te funkcije so izredno kompleksne za računanje, saj medtem ko jih računalnik izračuna
že v nekaj sekundah, bi človek za to potreboval nekaj let.
Eden najpreprostejših fraktalov je Cantorjev nabor. Zaradi
njegove preprostosti se včasih kdo tudi spotakne obenj, češ
da to ni pravi fraktal. Če vzamemo daljico za iniciator, si izberemo za motnjo razdelitev te daljice na tri dele, kjer srednjega odstranimo. To motnjo nadaljujemo v nedogled. Če si
ogledamo del Cantorjevega nabora, vidimo, da je podoben
svoji celoti, zatorej ima lastnosti fraktala.
Slika 06.03. Cantorjev nabor, izris do četrte iteracije
tretja iteracija
druga iteracija
prva iteracija
iniciator
Slika 06.04. Kochova krivulja, izris do tretje iteracije
Slika 06.05. Sierpinskijev trikotnik, izris do tretje iteracije
Podobno kot Cantorjev nabor se obnaša Kochova snežinka.
Daljici, ki jo določimo za iniciator, dodamo motnjo: na
srednji tretjini jo ta prelomi in izboči. V naslednjih korakih
(iteracijah) se motnja ponavlja in dobimo formo Kochove
krivulje.
Med najpreprostejše ploskovne fraktale spada Sierpinskijev
trikotnik. Poln trikotnik bo predstavljal iniciator, motnja pa
ga bo razdelila na štiri enake dele, izmed katerih je sredinski
prazen. Ta motnja se tako z vsako naslednjo iteracijo ponavlja na vsak poln trikotnik v fraktalu.
Slika 06.06. Mengerjeva spužva, izris do tretje iteracije
80
3D
Similarity and Fractional Dimension), kjer se je ukvarjal s
fraktali, čeprav je ta izraz uporabil šele leta 1975.
Njegov fraktal bazira na enačbi z(n+1)=z(n)²+z(0), kjer z
predstavlja kompleksno število, z(0) pa točko, ki si jo izberemo v kompleksni ravnini. Z določenim številom iteracij ta
nabor preide v tipično obliko Mandelbrotovega fraktala.
Predhodno omenjen fraktal je bil izpeljan iz kompleksnejšega Juliajevega nabora. Gaston Maurice Julia (1893-1978)
je bil francoski matematik in v štiridesetih letih prejšnjega
stoletja tudi Mandelbrotov učitelj na francoski politehnični
fakulteti. Osnove kompleksne dinamike, katere je Julia razvijal skupaj z Pierrejem Fautujem, so v sedemdesetih letih
nadalje raziskovali, tudi Mandelbrot sam.
Slika 06.07. Mandelbrotov fraktal v celoti (zgoraj) in približan
del (spodaj) iz območja, označenega z belim okvirjem na
zgornji sliki
Benoit Mandelbrot, na Poljskem leta 1924 rojen Francoz,
je avtor izjemnih raziskav na področju fraktalov. Leta 1967
je izdal publikacijo, naslovljeno Kolikšen je obseg britanske
obale? Statistična samopodobnost in frakcijska dimenzija
(orig. How Long Is the Coast of Britain? Statistical Self-
Slika 06.08. Primer Juliajevega nabora
Še ena karakteristična oblika teh funkcij je Liapunovov fraktal. Aleksandr Mihajlovič Liapunov (1857-1918) je bil ruski
matematik in fizik, ki je raziskoval področje mehanike in
stabilnosti dinamičnih sistemov. Liapunovov fraktal (znan
tudi kot Markus-Liapunovov fraktal) je grafični opis stabilnosti sistemov in se deli na področje stabilnosti in področje
kaosa.
81
Ugodna rešitev je Perlinov šum, za katerega potrebujemo
generator naključnih števil in interpolator (algoritem, ki
ta naključna števila poveže med sabo v krivuljo). Z interpolacijo dosežemo mehko povezano krivuljo in hkrati še
dodatne vmesne vredosti. Da bomo gotovi v neko neponavljanje določenega zaporedja naključnih števil, vzamemo
več krivulj z različnimi frekvencami in amplitudami ter jih
seštejemo. S tem dobimo Perlinov šum.
Slika 06.09. Primer Liapunovega fraktala
Eden najbolj uporabljenih fraktalov v računalniški grafiki
je plazma ali fraktal z naključnim premeščanjem sredinske
točke. Včasih ga srečamo tudi pod nazivom fraktalni oblak.
Princip izračuna plazme je neprimerno bolj preprost kot za
ostale fraktale, saj ne uporablja kompleksnih števil, ampak
samo algoritem za naključna števila in izračun povprečnih
vrednosti. Glavna potreba pri oblikovanju plazme je zatorej
ravno generator naključnih števil. Veliko preprostih algoritmov na to temo pri velikem številu ponovitev (slika jih lahko
ima nekaj milijonov) izkazuje neko ponavljanje in s tem
nas omeji ter tudi prikaže neko nenaravnost v rezultatih.
Namesto da bi dobili neponovljivo sliko, lahko pri preprostih algoritmih dobimo ponavljajoči se vzorec.
Slika 06.10. Plazma
82
Slika 06.11. Izbor naključnih točk (zgoraj) in njihova
interpolacija v krivuljo (spodaj)
Slika 06.12. Princip delovanja Perlinovega šuma v primeru
dveh generatorjev
3D
Fraktali v naravi
Fraktalno obnašanje je v naravi običajna praksa, zato
poznavanje matematičnih principov tega področja postavi
temelje umetnemu opisovanju narave. Primer fraktala je
lahko oleseneli del drevesa: deblo se razdeli na glavne veje,
te na sekundarne in te spet na manjše, tam nekje do četrte
ali pete iteracije. Če odlomimo košček veje, bo ta po izgledu
podobna celotnemu drevesu. Zelo podobno velja na primer
za ožilje, pri poteku od glavne vene ali arterije, pa do kapilar. Tudi neživa narava ima fraktalne lastnosti: odsek neke
obale je podoben njeni večji površini, če vzamemo za primer kar Mandelbrotove študije.
Če si podrobneje ogledamo že nekajkrat omenjen primer
pokrajine, lahko z generatorjem plazme izdelamo DEM,
torej informacijo o reliefnosti. Podoben algoritem lahko
uporabimo za opisovanje oblakov, teksture terena in tako
dalje. Ker se narava obnaša fraktalno, je dovolj, da jo opazujemo in za njen opis uporabimo kombinacijo matematičnih
orodij, ki jih imamo na voljo, še posebno tistih s področja
fraktalov in kaosa.
Slika 06.13. Primeri fraktalov iz narave
Opisovanje narave s fraktali
Fraktali oziroma kombinacija teh je lahko močno orodje v opisovanju narave. Posebna zvrst programov za 3D
računalniško grafiko se ukvarja samo z opisovanjem narave:
so takšni, ki se na primer osredotočajo samo na vegetacijo,
nekateri samo na pokrajine, tretji spet samo na nebo in
tako dalje.
Slika 06.14. Fraktalno generirani pokrajini
83
Materiali
Ko je objekt zmodeliran, ima definirano fizično obliko. Poleg te mu navadno dodelimo tudi optične lastnosti, torej
lastnosti materiala. Optične lastnosti v naravi so sicer zelo
kompleksne in bi bil njihov popoln ali skoraj popoln opis
prezahteven za izračune. Zaradi tega določene parametre
lahko samo grobo opišemo. Da bi z njimi dosegli čim bolj zadovoljiv rezultat, je večkrat potrebno poseči še po dodatnih
tehnikah. Teoretične osnove optičnih pojavov so podrobno
opisane v poglavju Svetloba in luči.
Senčenje
Z dodeljevanjem lastnosti materiala lahko pričnemo pri
senčenju, najnostavnejši izmed funkcij. Senčenje je proces
alteracije objekta, utemeljen na kotu, oddaljenosti od objekta in tipu luči. Ko imamo opravka z objekti, sestavljenimi
iz poligonov, je osnova tem tudi plosko senčenje. Pri tej vrsti
senčenja so poligoni vidni, kar pomeni, da so vidni gradniki
objekta, česar pa v večini primerov nočemo. Da zmanjšamo
to vidljivost, je na tej stopnji edina rešitev povečanje števila
poligonov na objektu. Kot že vemo, je ta operacija potratna
tako na nivoju pomnilnika kot tudi procesorske moči.
dar je odsev svetlobe nenaraven in še vedno nakazuje na
ploske gradnike objekta. Tudi potem, ko je objekt osenčen,
so njegovi robovi oglati, saj senčenje deluje le na njegovo
notranjost. Prednost tega načina je v hitrosti, saj je algoritem dokaj preprost.
Pomanjkljivost Gouraudovega senčenja je nadgradil Bui
Tuong Phong na Univerzi v Utahu. Leta 1973 je to razvijal v
okviru svoje doktorske disertacije. Pri Phongovem senčenju
se normala na poligon spreminja zvezno po navidezni krivulji, ki zaobjema poligone, za razliko od predhodno omenjenih senčenj, pri katerih normala ostaja pravokotna na
vsak poligon posebej. Ta metoda nam dodeli znatno boljše
rezultate, je pa vseeno veliko bolj počasna od ostalih dveh.
Tudi pri Phongovemu senčenju ostane rob objekta oglat.
Slika 06.16. Potek normal pri ploskem in Phongovem
senčenju
Barva
Slika 06.15. Senčenja: plosko, Gouraud in Phong
Da bi ohranili nižje število poligonov, a kljub temu zakrili
njihovo plosko naravo, je potrebno poseči po dodatnih algoritmih, ki nam to omogočajo. Prvi poskus zakrivanja poligonov pripada Henriju Gouraudu, po katerem se ta način
senčenja tudi imenuje. Gouraudovo senčenje barvno interpolira ploskve. Sicer se ostre meje med njimi izbrišejo, ven84
Barva je poleg senčenja najbolj preprost opisni element
nekega materiala. Barva objekta v naravi je pogojena s tem,
kateri del svetlobnega spektra je ta sposoben odbiti od
svoje površine. Barva in material sta osnovna parametra, ki
bosta definirala, kako se bo predmet obnašal v sceni.
3D
Slika 06.17. Objekt v raznih barvnih odtenkih
Reflektivnost in difuznost
Reflektivnost in difuznost sta dva nasprotujoča si, a vendar
povezana parametra: kadar je eden na svoji maksimalni
vrednosti, drugega ni in obratno. Tudi za vmesne faze velja
enako: če je eden na dveh tretjinah svoje vrednosti, bo drugi na eni tretjini.
Ta dva parametra nam določata, kako se bo svetloba odbijala od objekta. Material, ki ima zelo difuzno površino, bo
svetlobo, ki pade nanj, razpršil na vse strani. Dva zelo difuzna materiala v naravi sta na primer kreda in mleko.
Pri reflektivnih materialih je odboj svetlobe zelo usmerjen
in zato vidimo ta odboj zelo zgoščen na tistem delu predmeta, ki je najbolj direktno osvetljen. Ta karakteristika je
značilna za kovine in polirane površine. Ko imamo opravka s takšnimi materiali v sceni, moramo biti zelo previdni
pri osvetljevanju, saj lahko površine kaj kmalu zaidejo v
nasičenost oziroma pripomorejo k neprepoznavnosti oblike predmetov. V takšnem primeru je potrebno prilagoditi
kot osvetljevanja, intenziteto in včasih tudi tip in število
svetlobnih izvorov. Pri reflektivnosti imamo lahko opcijski
parameter definicije njene velikosti, torej kolikšen procent
površine bo pokrivala.
Slika 06.18. Reflektivna (z veliko in majhno površinsko
pokritostjo) in difuzna površina
Slika 06.19. Kovinska in bleščeča nekovinska reflektivnost
Reflektivnost lahko po svojem obnašanju razdelimo še
na kovinsko in bleščečo nekovinsko. Pri bleščeči nekovinski reflektivnosti je barva odseva svetlobe na predmetu
enaka barvi svetlobnega izvora, medtem ko je pri kovinski reflektivnosti barva tega odseva enaka barvi površine
upodabljajočega objekta.
85
Odsevnost
Prozornost
Odsevnost je sposobnost materiala za odboj okolice na svoji površini. V naravi sta reflektivnost (vključno z difuznostjo)
in odsevnost v tesnem razmerju. Okolica, ki se odbija od
površine, je v bistvu odboj svetlobe, ki se je predhodno že
odbila od nekega drugega objekta in s tem spremenila valovno dolžino (barvo), smer, razpršenost in intenziteto. Ker
imamo v 3D računalniški grafiki opravka z grobimi približki
optično-fizikalnih pojavov, je ta parameter ločeno postavljen v nastavitvah materiala.
Prozornost je lastnost materiala, ki prepušča določen del
svetlobe skozi objekt, na katerega je nanešena. V naravi
velja Fresnelova enačba, kjer se žarek, ki pada na površino
prozornega objekta, razdeli na dva dela: tistega, ki gre v
notranjost objekta, in tistega, ki se od njega odbije. Kot smo
že omenili, so parametri nastavitev materialov v programih
za 3D računalniško grafiko zelo grobi, zatorej pri prozornosti
večinoma uporabljamo samo dva parametra: nivo prozornosti, ki ga lahko nastavimo od popolnoma neprozornega
do popolnoma prozornega, in lomni količnik.
Površina materialov, definirana z mikro reliefno teksturo,
nam tudi določa način odsevnosti. Če imamo opravka s
polirano kovino, ali, še bolje, z ogledalom, je odbojnost
skoraj popolna in od te površine odbita okolica je zelo ostro definirana. V kolikor imamo opravka z materiali, kot je
na primer plastika ali aluminij, to odsevnost zaznamo kot
zamegljeno. To se zgodi pri površini materiala, ki se nagiba
proti difuznosti.
Slika 06.21. Lom svetlobe skozi material z različnim lomnim
količnikom
Slika 06.20. Odsevni površini: z ostrim in zamegljenim
odsevom
86
Ko žarek prihaja iz ene snovi v drugo, ki nima enakega
lomnega količnika kot prva, se ukrivi. Pri prehodu iz
drugega materiala nazaj v prvega se zopet ukrivi tako, da
je vzporeden vhodnemu žarku. Če vzamemo za zrak lomni
količnik ena, potem imajo prozorni, gostejši materiali lomni
količnik večji od ena. Za občutek lahko navedemo nekaj najbolj pogostih: voda ima lomni količnik približno 1,2; steklo
okoli 1,5; kristal in diamant pa nad 2. Obratno velja za materiale z nižjo gostoto od zraka (na primer plini), ki imajo
ta količnik nižji od ena. Potek loma žarka bo očiten tudi
tukaj, vendar se bo lomil v nasprotno smer, kot pri lomnem
količniku gostejših materialov. V kolikor žarek potuje skozi
snov, ki ima isti lomni količnik kot vhodna, razlik seveda ne
bo, žarek ne bo “doživel” loma.
3D
Slika 06.22. Primer upodobljenih predmetov z različno
stopnjo prozornosti (lomni količnik = 1): 25 %, 70 %, 90 %
Slika 06.24. Nežareči in žareči objekt
Reliefnost
Slika 06.23. Primer upodobljenih predmetov z različnim
lomnim količnikom (prozornost = 70 %): 1; 1,5; 3
Svetlost
S svetlostjo določimo nekemu materialu lastnost žarenja.
Ta pri materialih nima direktne povezave z osvetlitvijo.
Ima samo lastnost osvetljevanja svoje lastne površine, ne
pa tudi okolice. Ta parameter pride v poštev, ko je svetlost
materiala veliko nižja od zunanje osvetlitve. V sceni imamo
na primer elektronsko napravo, ki ima osvetljene kontrole
(LED diode). V praksi imajo te kontrole zelo nizko svetlobno
intenziteto, torej je zunanja osvetlitev veliko višja od žarenja objekta.
Reliefnost (ang. bump) je opcija senčenja. Uporablja se za
nižjo nagrbančenost, torej tako, kjer ni potrebne deformacije objekta. Reliefnost se doseže s sivinsko teksturo,
ki jo apliciramo na površino objekta. Tekstura se obnaša
podobno kot DEM: temnejši deli predstavljajo vbočenost,
svetlejši pa izbočenost in pri senčenju objekta ukrivlja normale glede na svojo vsebino. Čeprav nam objekt da izgled
nagrbančenega predmeta, bomo na robovih videli, da se
mu geometrija ne spreminja, zatorej to lahko uporabljamo
tam, kjer je ta deformacija veliko manjša od celotne geometrije.
V kolikor potrebujemo tudi deformacijo geometrije, uporabljamo tako imenovano tehniko mapiranja prestavitev (ang.
displacement mapping). Ta način sicer spada bolj v poglavje
o modeliranju, vendar ga je vredno omeniti v kontekstu reliefnosti. Na isti način, kot se aplicira tekstura reliefnosti,
se tudi tista za deformacijo geometrije. V tem primeru se
bo povečalo tudi število poligonov in je operacija časovno
zahtevnejša. Prednost te tehnike se izkaže, kadar mora biti
reliefnost geometrije zelo očitna, tudi tako, da jo zaznamo
na robovih objekta.
87
Slika 06.25. Osnovni objekt (zgoraj levo), tekstura (zgoraj
desno), objekt z reliefnostjo (levo spodaj) in objekt z
mapiranjem prestavitve (desno spodaj)
Slika 06.26. Detajl objekta iz zgornje slike: objekt z reliefnostjo
(levi) in objekt z mapiranjem prestavitve (desno)
88
3D
Teksture
V naravi redko dobimo materiale v čisti obliki, torej brez
kakršnihkoli variacij v njihovih parametrih. Navadno se materiali pojavljajo v neenakomerni formi – njihove lastnosti
na nekem predmetu niso povsod enake vrednosti.
Teksture so informacije o nepravilnosti v komponentah materiala in jih v glavnem delimo na slikovne in parametrične.
Pri slikovnih teksturah uporabimo rastersko sliko za osnovo
in njene določene komponente izrabimo kot informacijo o
nepravilnosti.
Ploskovno mapiranje
Kadar teksturo direktno nanašamo na neko površino, govorimo o ploskovnem mapiranju. Najbolj enostavna predstava tega načina je projiciranje s projektorjem na neko
površino. Če je ta površina ploska, bo ta način projekcije
najbolj uspešen. Če je ta površina nepravilne oblike, se bo
tekstura na njej deformirala – bolj kot se površina nagiba
proti normali, večja bo deformacija.
Najbolj pogosto se teksture uporabljajo za informacijo o
barvi in reliefnosti, čeprav teksturiranje podpira vsak od
parametrov materiala.
Mapiranje
Mapiranje je način aplikacije teksture na objekt in predstavlja njen način projekcije. Različne tipe mapiranja uporabljamo v različne namene, ki pa so v glavnem najbolj odvisni od
oblike površine predmeta in nivoja dovoljene deformacije
teksture. Delimo ga na:
• ploskovno,
• krogelno,
• cilindrično,
• kubično in
• UV mapiranje.
Poleg mapiranja teksture dovoljujejo tudi ostale nastavitve,
kot so orientiranost (nagib), velikost, intenziteta, način
ponavljanja (v kolikor je tekstura po velikosti manjša od
površine predmeta), način mešanja z ostalimi teksturami in
tako dalje.
Slika 06.27. Ploskovno mapiranje na objektih različnih oblik
Krogelno mapiranje
Vzemimo izhodišče sferičnega koordinatnega sistema za
vir projekcije. Ta vir bo projiciral teksturo navzven po enakomernih vodilih v vse smeri enako okoli te točke. Izhodišče
tega koordinatnega sistema bo hkrati tudi težišče nekega
objekta.
Ta metoda je, kot že samo ime pove, najbolj primerna za
mapiranje okroglih oziroma krogli podobnim objektom. Za
namen teksturiranja površine planetov, žog in tako dalje je
ta način ena izmed najboljših izbir.
89
šestih ploskev posebej. Če imamo opravka s kocki ali kvadru
podobnimi predmeti, ki jih želimo teksturirati enakomerno
po več stranicah, se bo ta način odlično obnesel. Na ta
način lahko na primer, z malo truda nanesemo teksturo lesa
na pohištvo. Tekstura bo na vseh površinah delovala zadovoljivo, ne pa preveč realno, saj je les v naravi volumetrično
usmerjen.
Slika 06.28. Krogelno mapiranje na objektih različnih oblik
Cilindrično mapiranje
Pri tem mapiranju lahko za osnovo spet vzamemo koordinatni sistem, tokrat cilindrični. Os z bo predstavljala izvor
projekcije in jo bo projicirala okoli sebe v vseh smereh normale vertikale. V kolikor mapiramo cilindričen objekt, bo
njegov plašč pravilno mapiran, njegovi osnovni ploskvi pa
bosta imeli ekstrem teksture deformiran v obliki eksplozije.
Če želimo, da bosta tudi ti dve ploskvi pravilno mapirani,
se bo potrebno poslužiti drugih ali dodatnih metod teksturiranja.
Slika 06.30. Kubično mapiranje na objektih različnih oblik
UV mapiranje
Pri kompleksnejših modelih nam štiri zgoraj naštete tehnike
mapiranja ne zadostujejo. Pri tej metodi s pomočjo programa raztegnemo model tako, da njegovo celotno površino v
tridimenzionalnem prostoru (x, y, z) razgrnemo in tako dobimo dvodimenzionalno ploskev (u, v).
Slika 06.29. Cilindrično mapiranje na objektih različnih
oblik
Kubično mapiranje
Kubično mapiranje je podzvrst ploskovnega mapiranja, le
da je v tem primeru tekstura projicirana na vsako izmed
90
Slika 06.31. Kocka in njena UV tekstura
3D
Tako raztegnjena površina ali plašč nam je osnova za risanje
teksture, ki se bo kasneje uporabila na objektu. Kako bomo
izdelali UV mapo, je odvisno tudi od nastavitev v programu,
saj obstaja več načinov transformiranja površine objekta v
ploščato stanje. Fine nastavitve verteksov tako nastalega
plašča lahko kasneje izvedemo tudi ročno, z namenom, da
se bo tekstura čim bolje prilagodila objektu.
To, da se tekstura popolnoma prilagodi površini objekta, ni
edina prednost UV mapiranja. Ker ima pri tej metodi vsak
poligon na objektu svoj točno določen del teksture, se bo ta
deformirala skupaj z objektom: če določen poligon na objektu spremeni velikost ali nagib, se bo tako prilagodila tudi
tekstura. Ploskovno, krogelno, cilindrično in kubično mapiranje tega ne morejo nuditi, ker so projicirana na celotni
objekt oziroma del teksturiranega objekta. UV mapiranje
je zaradi svojih prilagodljivih lastnosti izredno dobrodošlo,
kadar imamo opravka z modeli, ki se tekom animacije deformirajo, kot so na primer organske forme, tekstil in podobno.
Slika 06.32. Primer kompleksnejšega objekta, ki uporablja
teksturo kože oziroma obraza
Slika 06.33. UV mapa obraza s slike 06.29.
Slika 06.34. Tekstura obraza s slike 06.29.
91
Praktični primer
Praktični primer
Teksturiranje nam velikokrat prihrani dodatno modeliranje,
saj ga, kot smo že nekajkrat omenili, lahko apliciramo na
večino parametrov materiala. V tem primeru si poglejmo,
kako lahko preprosto kocko spremenimo v kompleksnejši
mehanski objekt z uporabo treh tekstur: za barvo, reliefnost in prozornost. Prvi dve sta nanešeni kubično, tretja pa
z UV načinom.
Pri različnih tehnikah mapiranja smo podali tudi praktične
načine uporabe. Na naslednjih primerih si lahko ogledamo
tipske uporabe vsake posamezne projekcije posebej.
Ploskovno mapiranje je direktna projekcija na površino,
zatorej najbolj primerna za ploske ali rahlo ukrivljene predmete. Primer prikazuje aplikacijo teksture slike, vključno z
okvirjem.
Okrogle oblike, med katere spadajo tudi površine planetov,
so lep primer uporabe krogelnega mapiranja. Za primer
smo si vzeli zemljo in postavitev njene teksture na kroglo.
Slika 06.35. Teksture za barvo, reliefnost in prozornost
desnega objekta na sliki 06.36.
Tako kot je razdeljena intenziteta barve pri teksturi za reliefnost, torej da ima najtemnejša najmanjši vpliv, najsvetlejša
pa največji, velja tudi za druge parametre v materialu. V
našem primeru lahko vidimo, da ima tekstura za prozornost bele in črne regije. Bele predstavljajo 100% vrednost,
torej bo površina na tistih območjih popolnoma prozorna
in obratno: črna ima vrednost nič in zatorej tam ne bo dodeljene prozornosti.
Pločevinka sicer ni popolnoma cilindričen objekt, vendar je v
našem primeru glavni del teksture uporabljen na izbočenem
delu tega predmeta, kjer je metoda cilindričnega mapiranja
dovolj ugodna. Zgornji in spodnji del sta malenkostno upognjena navznoter, vendar ne do te mere, da bi deformirala
teksturo do nivoja neuporabnosti.
Za primer kubičnega mapiranja lahko vzamemo del
pohištva, na katerega nanesemo nežno teksturo lesa. V
našem primeru je to stol, ki poleg barvne uporablja tudi
teksturo za reliefnost.
Slika 06.36. Kocka brez in s teksturiranjem
92
3D
Slika 06.37. Primer uporabe ploskovnega mapiranja: model, tekstura za barvni kanal in končni izgled
Slika 06.38. Primer uporabe krogelnega mapiranja: model, tekstura za barvni kanal in končni izgled
Slika 06.39. Primer uporabe cilindričnega mapiranja: model, tekstura za barvni kanal in končni izgled
Slika 06.40. Primer uporabe kubičnega mapiranja: model, tekstura za barvni kanal in reliefnost ter končni izgled
93
Proceduralne teksture
Začetek poglavja o fraktalih nam je dal vpogled v generiranje nelinearnih funkcij in vzporedno tudi grafičnih prikazov
le-teh. Fraktale ali njihove kombinacije lahko uporabimo
za teksturo, ki jo program izračuna v fazi upodabljanja.
Kot nam je že znano iz dela o proceduralnih objektih, imamo tukaj opravka s podobnimi principi. Ker nam program
računa teksturo vedno sproti, v fazi upodabljanja, in glede
na to, da je za nelinearne funkcije značilna razvejanost v
neskončnost, je pri proceduralnih teksturah prednost ta, da
so imune na povečevanje ali manjšanje – obnašajo se vektorsko. Medtem ko pri približevanju predmeta, ki je teksturiran z rastersko sliko na neki točki zaznamo kockasto strukturo le-te, se ta pojav pri proceduralnih teksturah ne zgodi.
Slika 06.41. Ista proceduralna tekstura uporabljena na
objektih različnih oblik
94
Nelinearne funkcije niso edina osnova algoritmov za
proceduralno teksturiranje. Lahko jih generiramo tudi s
preprostejšimi, končnimi formami, kot so na primer enakomerna mreža, vzorec ponavljajočih se opek, šahovnica in
tako dalje.
Slika 06.42. Nekaj primerov proceduralnih tekstur
3D
Svetloba in luči
Svetloba in luči
Svetloba in materija
Narava svetlobe
Svetloba kot delec
Svetloba kot valovanje
Interakcija svetlobe z materijo
Refleksija in difuzija
Lom
Transmisija
Absorpcija
Sipanje
Difrakcija
Interferenca
Disperzija
Polarizacija
Moč sevanja svetlobe
Weinov zakon
Barvna temperatura
Senca in polsenca
Kompleks svetlobnih učinkov in senc
Luči v 3D prostoru
Ambientalna svetloba
Usmerjena luč
Točkasti izvor svetlobe
Reflektor
Površinska luč
Linearna luč
Osvetljevanje z objektom
Kombinacija luči
Negativna luč
Ambientalna svetloba kot dodatna luč
Volumetrična svetloba
Odsev svetlobe v leči
Indirektno osvetljevanje
Mapirana senca
Kavstika
Svetloba in materija
Svetloba je eno najpomembnejših izkustev, ki gradijo naše
doživljanje sveta. Svetloba pri interakciji z materijo omogoča
človeškemu vidnemu sistemu, da zazna objekte in okolico.
Pri tem dojemanju sodelujejo v človeku fizikalni (optični),
fiziološki (nevronski) in psihološki (kognitivni) procesi.
Poleg naravne svetlobe teles s tako visoko temperaturo, da
lahko sevajo v vidnem delu elektromagnetnega spektra, je
človek izumil tudi umetno svetlobo. Ta podaljša doživljanje
svetlobe tudi v obdobjih odsotnosti naravnega svetlobnega
izvora. Ker “gledati ni enako kot videti”, je za pravo videnje
svetlobe potrebno poznati in razumeti naravo svetlobe,
torej kako se svetloba obnaša in spreminja pri interakciji z
objekti različnih fizikalno-kemijskih lastnosti. Računalniška
grafika lahko s pomočjo različnih funkcij simulira zelo realistične svetlobne učinke. S poznavanjem lastnosti svetlobe
tako lahko računalniško ustvarjamo svetlobne pojave, ki
konkurirajo učinkom realističnih fotografij.
Narava svetlobe
Svetloba je vidni del elektromagnetnega (EM) sevanja,
ki obsega valovne dolžine od 380 do 760 nm (normalno
delujočega očesa). Elektromagnetno sevanje omogočata
električno in magnetno polje, ki z določeno fazo nihata
pravokotno drug na drugega in se vzajemno vzdržujeta.
Sestavljeno je iz različnih tipov valovanj, ki se razlikujejo po
valovni dolžini in frekvenci valovanja.
električno
valovanje
magnetno
valovanje
Slika 07.01. Elektromagnetno valovanje svetlobe
V zgodovini so se prepričanja o naravi svetlobe na splošno
delila v dve smernici. Tako so odkritja o svetlobi kot toku
delcev, ki potujejo v določeni smeri, konkurirala znanstvenemu mnenju, da je svetloba valovanje. S časom so številne
raziskave potrdile obe prepričanji, tako da se danes svetloba večinoma obravnava z dvojno naravo, kot delec in/
ali valovanje.
Preglednica 07.01. Vrste valovanja po frekvenčnih območjih
97
Svetloba kot delec
Interakcija svetlobe z materijo
V smislu snopa delcev svetlobo imenujemo tudi fotoni ali
kvanti svetlobe, katerih energijo lahko zapišemo v obliki
enačbe E=hν=(hc)/λ, kjer je E (J) energija, h je Planckova
konstanta z vrednostjo 6,626×10-34 Js, ν (1/s) pa je frekvenca, torej število zaključenih ciklov valovanj svetlobe
na sekundo. Frekvenco lahko zapišemo tudi kot količnik
hitrosti svetlobe c (m/s) in valovne dolžine λ (nm). Ne glede
na valovno dolžino je hitrost vidnega in drugih delov elektromagnetnega sevanja konstantna v vakuumu, in sicer
2,998×108 m/s.
Ne glede na to, da sta za nastanek pojava svetlobe soodgovorni obe opisani naravi, izkorišča računalniška grafika predvsem naravo valovanja, ki jo opisuje kot interakcijo svetlobe
z materijo v obliki različnih fizikalno-optičnih pojavov:
• refleksija in difuzija (ang. reflection, diffusion),
• lom (ang. refraction),
• transmisija (ang. transmission),
• difrakcija (ang. diffraction),
• interferenca (ang. interference),
• sipanje (ang. scattering),
• absorpcija (ang. absorption),
• polarizacija (ang. polarization) in
• disperzija (ang. dispersion).
Svetloba kot valovanje
Svetloba kot valovanje je motnja, ki se širi v prostoru in
času. Pri tem je valovanje sestavljeno iz električnega in
magnetnega polja, ki ju lahko opišemo z vektorjema. Ker je
magnetno polje v tem poglavju sekundarnega pomena, bo
obravnavano le električno polje. Tako lahko magnitudo vektorja valovanja električnega polja svetlobe y na poziciji x, pri
času t (s) opišemo z enačbo y=Asin(kx+ωt), kjer je k=2π/λ
in ω=2πν. Valovanje električnega polja v smeri x opišemo s
periodo oziroma z razdaljo med dvema sosednjima valoma,
in sicer y=Asin[(2π/λ)(x+ct)]=Asin[(2π/λ)(x+λνt)]. V enačbah
je valovna dolžina označena z λ (nm), število nihanj na
časovno enoto je frekvenca ν (1/s), velikost spremembe v
nihanju je amplituda A in hitrost širjenja svetlobe c (m/s) je
definirana kot zmnožek valovne dolžine in frekvence c=λν.
y
t
ν
A
λ
Slika 07.02. Valovanje električnega polja v smeri x
98
V nadaljevanju bo materija imenovana tudi medij, predvsem v primerih, ko ta omogoča prenos svetlobe. Večina
omenjenih interakcij svetlobe z materijo lahko v 3D računalniških programih opišemo z določenimi nastavitvami.
Računalniški algoritmi učinek generirajo tako, da je možna
po upodabljanju vizualizacija na zaslonu. Nekateri učinki so
pri tem zelo kompleksni in jih moramo ustvariti z “zvijačo”,
tako da preko posrednih funkcij dosežemo enako vizualno
iluzijo svetlobnega učinka. Ker pa gre v vsakem primeru za
umetno ustvarjanje svetlobnih učinkov v virtualnem prostoru, pri katerem ni vključena percepcijska vrednost, je velikokrat potrebno računalniško ustvarjene učinke korigirati,
zato je pomembno, da razumemo obnašanje svetlobe v
odnosu z materijo v realnem svetu.
Refleksija in difuzija
x
Refleksija je selektivni odboj svetlobe od površine materije.
Pojav refleksije je poleg absorpcije, sipanja in transmisije
odgovoren za to, ali je interakcija svetlobe omejena le na
površino materije (objekta), ali pa se pri tem vključi tudi njena notranjost. Velja dejstvo, da se celotna količina vpadne
svetlobe Io porazdeli na odbito Ir, absorbirano Ia, sipano
Is in prepuščeno (transmitirano) It, tako da je kumulativno
vsota vseh enaka količini vpadne svetlobe Io=Ir+Ia+Is+It.
3D
Spektralna sestava odbite svetlobe je ključnega pomena tudi
pri določanju barve objekta, kot je bilo opisano v poglavju o
barvnih modelih. Refleksija svetlobe ima dve komponenti:
zrcalno in difuzno. Slednja je razpršeni del odbite svetlobe,
ki variira glede na lastnosti površine in njeno reliefnost.
Gladke površine imajo večji del zrcalnega odboja, pri katerem je kot odbite svetlobe enak kotu vpadne svetlobe
glede na normalo na površini objekta (zakon refleksije). Pri
tem je normala vektor, ki je pravokoten na površino objekta
oziroma v primeru ovalne površine pravokoten na tangento
površine objekta. Negladke površine imajo večji difuzni del
odbite svetlobe, pri katerem se kot odbite svetlobe razlikuje
od vpadnega ter variira, saj se glede na kot vpadne svetlobe
zaradi reliefnosti površine spreminja usmerjenost normale
po površini objekta. Tako se na delno hrapavi površini del
vpadne svetlobe zrcalno odbije, del pa difuzno v vse smeri.
Popolnoma difuzni odboj svetlobe v vse smeri je prisoten
na popolnoma hrapavi in neenakomerni površini.
vpadna
svetloba
normala
delno razpršeno
odbita svetloba
zrcalno
odbita svetloba
θ1 θ1
θ1 θ1
θ2 θ2
θ3 θ3
delno hrapava površina
gladka površina
razpršeno
odbita svetloba
θ1
θ1
θ2 θ2
θ3
θ3,4
hrapava površina
Slika 07.03. Odboj svetlobe na popolnoma gladki, delno
hrapavi in hrapavi površini ter vloga normale na površino
pri odboju svetlobe
Zaradi usmerjenosti odbite svetlobe na gladkih površinah
je pogled na objekt odvisen od kota opazovanja. Nasprotno
pa je v primeru hrapavih površin, kjer zaradi neusmerjeno
odbite svetlobe izgled površine ni odvisen od kota opazovanja.
Razmerje med intenziteto vpadne svetlobe v prvem mediju
Io (na primer zrak) z lomnim količnikom n1 in odbite svetlobe na površini drugega medija Ir z lomnim količnikom
n2 lahko zapišemo kot reflektivnost R s Fresnelovo enačbo,
ki je tudi pogoj za odboj svetlobe na površini določenega
medija.
R=
Ir
Io
=
(n2-n1)2
(n2+n1)2
Slika 07.04. Spreminjanje zrcalnega odboja v difuzni odboj
na površini krogle
99
Lom
Lom je navidezen upogib ali sprememba smeri svetlobe pri
prehodu iz enega medija v drugega, pri tem pa morata biti
medija vsaj delno transparentna, da omogočata prehod
svetlobe. Poleg refleksije in transmisije je to najbolj uporabljena interakcija svetlobe z materijo v 3D računalniški
grafiki. Velikost učinka loma je podana s Snellerjevim zakonom v obliki razmerja lomnih količnikov dveh medijev n
(ang. index of refraction, refraction index) v enačbi, kjer je
θ1 (˚, rd) kot vpadnega žarka svetlobe v prvem mediju (kot
na normalo površine) z lomnim količnikom n1 in θ2 (˚, rd)
kot loma svetlobe v drugem mediju z lomnim količnikom
n2, Io pa je vpadni žarek svetlobe.
n=
sin θ1
sin θ2
=
vpadna
svetloba
normala
Io
medij 1
n1
medij 2
n2
θ1
θ2
lom
svetlobe
Il
n2
n1
Učinek loma svetlobe je najbolj poznan pri prehodu svetlobe skozi tekočino. Glede na razmerje lomnih količnikov izgledajo objekti v tekočini bližji gladini tekočine kot dejansko
so. Vzrok za to je razmerje lomnega količnika zraka, ki je
približno 1 (1,00027), in lomnega količnika tekočin, ki je večji
od 1 (povprečni lomni količnik vode je na primer 1,338).
Zato je kot loma θ2 manjši od vpadnega kota θ1 in svetloba
se pri prehodu skozi tekočino odkloni nekoliko proti gladini.
Veliko se uporablja tudi lom svetlobe skozi steklo, katerega
lomni količnik glede na sestavo stekla variira od 1,543 (fino
steklo) do 1,746 (gosto steklo).
Pojav loma lahko razložimo tudi s hitrostjo svetlobe in njeno
valovno dolžino v vakuumu in transparentnem mediju.
Velja namreč, da je lomni količnik transparentnega medija
razmerje med hitrostjo svetlobe v vakuumu in transparentnem mediju. Ker pa je hitrost zmnožek frekvence in valovne
dolžine (v= νλ), lahko lomni količnik zapišemo tudi kot razmerje valovnih dolžin svetlobe v vakuumu in v mediju. Svetloba ima torej v transparentnih medijih manjšo valovno
dolžino kot v vakuumu.
100
Slika 07.05. Geometrija loma svetlobe na dveh medijih in
učinek loma svetlobe v tekočini
n=
vsvetlobe v vakuumu
vsvetlobe v mediju
=
C
V
=
λvakuum
λmedij
3D
Transmisija
Transmisija je prenos ali prepuščanje svetlobe skozi materijo. Pogoj za ta pojav je, da je materija vsaj delno transparentna, kar omogoča izstop svetlobe iz materije v obliki
izhodnega žarka. Intenziteta izhodnega žarka svetlobe je
pri tem odvisna od lastnosti materije in njene površine,
posledično pa tudi od količine odbite svetlobe na površini
materije ter absorpcije in sipanja svetlobe v notranjosti
materije. V materialih, ki absorbirajo in sipajo minimalne
količine svetlobe, se tako intenziteta vpadnega žarka svetlobe razdeli le na odbito in prepuščeno svetlobo. V primeru
odsotnosti tudi odboja svetlobe je vpadni žarek Io enak
prepuščenemu. To je v primeru skoraj popolnoma transparentnih materialov. Okoljski medij, torej medij, iz katerega
prihaja svetloba, omogoča enake geometrijske lastnosti
vpadnega (vhodnega) in izhodnega žarka.
vpadna
svetloba
Io
normala
medij 1
n1
medij 2
n2
θ1
θ2 θ2
θ1
n1
transmisija
svetlobe
It
Učinek transmisije je najbolj poznan v primeru brezbarvnega stekla in brezbarvnih tekočin, kjer gre za skoraj
popoln prenos svetlobe skozi medij, torej sta intenziteta in
kot vhodnega žarka enaka intenziteti izhodnega. V primeru
barvnega stekla in tekočin pa je pri prehodu svetlobe skozi
materijo prisotna selektivna absorpcija svetlobe določenih
valovnih dolžin, zato izhodni žarek rezultira v drugačni intenziteti (posledično obarvanosti) kot vhodni žarek.
Slika 07.06. Prepuščanje svetlobe skozi transparenten
medij
101
Absorpcija
Absorpcija je sposobnost materije, da celotno svetlobo
ali del svetlobe, ki prehaja skozi materijo, pretvori v druge
vrste energije (rotacijsko, vibracijsko, električno energijo).
Materija lahko absorbira EM valovanje različnih energij in valovnih dolžin. Samo tisto materijo, ki absorbira v
vidnem delu EM sevanja, lahko človeško oko zazna kot
obarvano. Delež absorbirane svetlobe v transparentni
materiji določimo s pomočjo Lambert-Beerovega zakona
A=-log(It/Io)=-log T=-εcl, ki podaja razmerje med intenziteto
svetlobe po izstopu iz materije It ter intenziteto vpadne
svetlobe Io. V enačbi je absorpcija svetlobe v absorpcijskih
centrih materije A, delež prepuščene svetlobe T, molarna
koncentracija absorbcijskih centrov je podana s c (mol/l),
dolžina poti pri prehodu skozi materijo je l (m, cm) in molarni absorbcijski koeficient ali ekstinkcijski koeficient je ε.
Io
Ia
It
absorpcija
pretvorba svetlobe
v druge vrste
energije
Slika 07.07. Absorpcija svetlobe in njen vizualni učinek na
barvnih kroglicah
102
3D
Sipanje
Sipanje je razprševanje svetlobe, ko je ta v odnosu z materijo. Pojav sipanja se na splošno nanaša na primer interakcije
svetlobe z materijo v obliki majhnih delcev, na katerih se
svetloba razprši oziroma razpršeno odbije v različne smeri.
Ocenjuje se, da mora biti velikost delcev, ki povzroča sipanje, manjša od ene desetine velikosti valovne dolžine vpadne
svetlobe. Zaradi pojava sipanja se pri prehodu svetlobe
skozi materijo intenziteta svetlobe zmanjša, kar je odvisno
od lastnosti centrov sipanja v materiji. V primeru velikega
razmerja lomnih količnikov med prvim (zrakom) in drugim
medijem (materijo), bo slednji intenzivneje sipal svetlobo
in njegova transparenca bo manjša. Nasprotno pa bo vsa
svetloba prehajala v materijo, če sta lomna količnika prvega
in drugega medija enaka.
Io
medij 1
Is
medij 2
sipalni centri
Valovna dolžina svetlobe se sipa različno v odvisnosti od
velikosti sipalnih centrov. Tako se svetloba določene valovne dolžine sipa drugače na delcih, ki so precej manjši od
vrednosti valovne dolžine, v primerjavi s sipanjem na večjih
delcih. Sipana svetloba je pri tem proporcionalna obratni
vrednosti četrte potence vrednosti valovne dolžine (1/ λ4).
Pojav sipanja v naravi lahko predstavimo s sipanjem svetlobe nižjih vrednosti valovnih dolžin (modro-vijolični del
vidnega spekrta). Ta svetloba se bistveno bolj sipa ob delcih atmosfere kot svetloba večjih valovnih dolžin (zeleni,
rumeni, oranžni in rdeči del spektra), kar človek zazna kot
običajno modro-vijolično barvo neba.
Slika 07.08. Sipanje na sipalnih centrih materije in sipanje
v naravi
103
Difrakcija
Interferenca
Difrakcija je posledica interakcije svetlobe z objekti, katerih
velikost je podobna valovni dolžini svetlobnega valovanja.
Pojav je pogosto prisoten v obliki upogiba svetlobe ob
robovih ali majhnih odprtinah, ki ima za posledico spremembo smeri in/ali intenzitete svetlobnega valovanja. Pojav difrakcije svetlobe ni zelo pogost v vsakdanjem življenju,
saj je najbolj nazoren v primeru monokromatske svetlobe
(svetlobe točno določene valovne dolžine). Pri prehodu
skozi majhne odprtine (oziroma robove odprtin) svetloba
tvori difrakcijske vzorce, ki so v primeru ozkih rež svetlobni
pasovi; v primeru pravokotnih odprtin so pravokotne svetlobne točke točno določene razporeditve; v primeru odprtin okroglih oblik pa koncentrični svetlobni krogi različnih
intenzitet.
Interferenca je interakcija dveh ali več svetlobnih valovanj,
ki potujejo po istem prostoru ob istem času, z enako frekvenco ali valovno dolžino in konstantno fazno razliko. Valovanja interferirajo med seboj v smislu sestavljanja v končno
valovanje svetlobe, to je lahko povečanje, pomanjšanje in
celo izničenje.
valovanje 1
seštevanje
A
2A
valovanje 2
A
odštevanje
valovanje 1
A
0
valovanje 2
svetloba
reža
A
difrakcija svetlobe
difrakcijski vzorec
Slika 07.09. Difrakcija svetlobe skozi ozko režo in difrakcijski
vzorec
Slika 07.10. Interferenca dveh valovanj (zgoraj) in
interferenca odbite svetlobe na milnih mehurčkih (spodaj)
104
3D
Disperzija
Disperzija označuje odvisnost lomnega količnika transparentne materije od valovne dolžine svetlobe. Na splošno velja, da se vrednost lomnega količnika povečuje z manjšanjem
vrednosti valovne dolžine. Tako ima recimo rdeča svetloba
(večja valovna dolžina) v materiji manjši lomni količnik kot
vijolična (manjša valovna dolžina), zato se posledično rdeča
svetloba lomi pod manjšim kotom kot vijolična. Disperzijo
definiramo z razmerjem spremembe lomnega količnika in
valovne dolžine z Δn/Δλ.
zaslon
rdeča
oranžna
rumena
zelena
cian
modra
vijolična
reža
svetloba
prizma
Najbolj znan pojav disperzije je lom vpadnega žarka svetlobe v transparentni prizmi, kjer se pri stiku zraka in materije žarek svetlobe razdeli na pasove svetlob različnih
valovnih dolžin. Te svetlobe se lomijo pod različnimi koti.
Pojav disperzije pa je prisoten dvakrat, in sicer pri vhodu v
transparentno materijo (stik zrak-steklo) ter pri izstopu iz
nje (stik steklo-zrak). Potreben pogoj za nastanek disperzije
je, da vpadni žarek ni enak normali na površino materije.
Polarizacija
Vektorji električnega in magnetnega polja EM sevanja so
orientirani naključno v vse smeri v ravnini, pravokotni na
smer širjenja. Takšno sevanje je nepolarizirano. Nasprotno
pa je pri polariziranem svetlobnem valovanju amplituda
valovanja usmerjena le v eno določeno smer kot posledica
selektivne refleksije (tudi sipanja) ali transmisije. Za pojav polarizacije je pri tem pomembno le električno polje,
z usmerjenostjo katerega definiramo polarizacijo. To lahko
pojasnimo na primeru linearno (ali ravninsko) polarizirane
svetlobe, pri kateri električno polje oscilira le v eni ravnini.
To je možno doseči s prepuščanjem svetlobe skozi polarizacijski filter, ki prepušča valovanje svetlobe le v eni linearni
smeri, električno valovanje v ostalih smereh pa absorbira.
Slikovna predstavitev polarizacije je v primeru vektografa
prikazana na sliki 02.05.
Slika 07.11. Disperzija svetlobe
105
Moč sevanja svetlobe
Moč sevanja na površinsko enoto označujemo z izrazom izžarevanje (ang. irradiance), katerega enota je
W/m2. Pri tem za vsako vrsto sevanja velja, da se njegova moč spreminja z razdaljo od izvora sevanja po principu
obratnega kvadratnega zakona (ang. inverse square law).
Tako za moč sevanja v odvisnosti od razdalje velja: moč
sevanja = 1/d2. To v primeru svetlobnega sevanja pomeni, da se moč svetlobe na površinsko enoto zmanjšuje z
obratno vrednostjo kvadrata razdalje d (m) od svetlobnega
vira. Pri tem se svetloba porazdeli po večji površini, tako
da je na dvakrat večji razdalji 2d od svetlobnega vira enaka
22×a2=4a2, pri trikrat večji razdalji pa 9a2.
3d
računalniški grafiki se ga uporablja za nastavitev delovanja
nekaterih vrst luči. Poleg tega uporaba te nastavitve vpliva
tudi na realističnost senc, ki se pri delovanju luči ustvarjajo
ob objektih, ter na kvaliteto učinkov odbite svetlobe na
nekaterih objektih.
Weinov zakon
Weinov zakon (ang. Wein’s law) trdi, da vrednost valovne
dolžine maksimuma sevanja linearno pada z naraščanjem
temperature. Delovanje zakona lahko predstavimo s postopnim segrevanjem popolno črnega objekta, ki bi pri določeni
temperaturi začel oddajati infrardeče sevanje, nato pa od
največjih do najmanjših vrednosti valovnih dolžin vse barve
vidne svetlobe (od rdeče pri velikih valovnih dolžinah do
modre barve pri majhnih valovnih dolžinah). Zakon ponuja
razlago tudi za dejstvi, da hladna telesa niso vidna v temi
in da dovolj segreta telesa oddajajo toploto in vidni del EM
sevanja.
2d
a2
a
2
točkast
svetlobni vir
površina
osvetljevanja
moč sevanja
a2
d
vroč objekt
hladen objekt
Slika 07.12. Pojemanje moči točkastega izvora svetlobe z
razdaljo
Moč svetlobe je na dvakratni razdalji od svetlobnega vira le
še četrtino prvotne vrednosti (merjeno na enaki površini).
Pri tem pa je površina, ki jo svetlobni vir osvetli, štirikrat
večja.
λ (nm)
Slika 07.13. Weinov zakon
Zakon opisuje obnašanje svetlobe v realnem svetu in ga
je priporočljivo upoštevati pri simulaciji učinka luči. V 3D
106
3D
Barvna temperatura
Označevanje svetlobnih virov in njihovega sevanja omogoča
barvna temperatura (ang. color temperature). Barvna temperatura podaja temperaturo idealnega črnega telesa v Kelvinih (K), pri kateri sta sevanje črnega telesa in sevanje svetlobnega vira barvno identična. Oznake svetlobnih virov so
tako od 2700K do 3200K (sobna žarnica), 5400K (sonce) ali
na primer 5000K in 6500K, ki sta standardizirana svetlobna
vira v barvni metriki.
Senca in polsenca
Pojava sence (lat. umbra) in polsence (lat. penumbra) sta
posledica premočrtnega gibanja svetlobnih žarkov. Potrebni pogoji za tvorbo sence in polsence so:
1. svetlobni vir, ki omogoča potovanje svetlobe,
2. prisotnost objekta, ki je ovira na določenem mestu
potovanja svetlobe, ter
3. okolica (podlaga), na kateri se formirata senca in
polsenca.
ostrimi robovi. Prisotnost dodatnega svetlobnega vira pa
omogoča nastanek tudi polsence, ki je delno osvetljena
in katere robovi niso ostri. Področje sence pri tem ni osvetljeno z nobenim od svetlobnih virov, področje polsence
pa le z enim svetlobnim virom.
Vpliv oblike svetlobnega vira na celotni pojav sence in
polsence je večji od vpliva oblike objekta. Ne glede na slednjo se namreč senca formira bolj po obliki svetlobnega vira,
tudi ko so ti zelo oddaljeni od objekta. Poleg tega pa vpadni
kot svetlobe vpliva na morfologijo sence in na njeno lego v
okolici. V primeru direktne osvetlitve (torej, ko ležijo svetlobni vir, objekt in površina projekcije sence v isti liniji) je
senca ostra in podobna obliki svetlobnega vira, v primeru
osvetljevanja pod kotom pa je prisotna deformacija oblike
sence in premik lege v odvisnosti od kota.
Tvorba in lastnosti sence in polsence so odvisne od lastnosti
svetlobnega izvora in materije. Te lastnosti so: oblika svetlobnega izvora, število svetlobnih izvorov, oddaljenost svetlobnih izvorov od objekta, vpadni kot svetlobnega žarka na
objekt, morfološke (oblikovne) in optične lastnosti materije
objekta.
Senca je popolna odsotnost osvetljenosti z najtemnejšim
centralnim delom ter postopno tonsko spremembo v
svetlejša področja pri prehodu v polsenco. Polsenca je
področje sence, ki je delno osvetljeno in zato na splošno
svetlejše od popolne sence. Polsenca prav tako prehaja iz
temnejših centralnih področij v svetlejša področja z oddaljevanjem od objekta.
Kot že rečeno, je pojav sence in polsence odvisen od števila
svetlobnih virov, oblike svetlobnega vira in vpadnega kota
svetlobe. En točkasti svetlobni vir povzroča pojav zelo
temne homogene sence (odsotnost osvetljenosti) s precej
107
senca U
svetlobni vir
objekt
senca U
polsenca P
Slika 07.15. Senca in polsenca na objektu
Slika 07.14. Sence U in polsence P v odvisnosti od števila
svetlobnih izvorov, oblike svetlobnega izvora ter njegove
oddaljenosti od objekta in vpadnega kota svetlobe
108
3D
Kompleks svetlobnih učinkov in senc
Človeški vidni sistem lahko zaradi percepcije in izkušenj razbere iz sence marsikatero dodatno informacijo o objektu in
svetlobnem viru, kot na primer mehanske lastnosti objekta
(mehkost, trdoto), razdaljo med svetlobnim virom in objektom ipd. Poleg tega je v dejanskem svetu prisoten običajno
kompleks svetlobnih virov z zelo različnimi lastnostmi,
sekundarni odboji svetlobnih žarkov od in med objekti, v
primeru prisotnosti več objektov pa tudi tvorba sence enega objekta na drugih.
Obstajajo raznoliki kompleksi svetlobnih pojavov, na splošno
pa ločimo svetlobne pojave eksterierjev in interjerjev.
Svetlobni kompleski eksterierjev so bolj odvisni od naravne
svetlobe, saj se slednje, še predvsem v dnevnem času, ne
da izključiti ali spremeniti. Ti svetlobni pojavi zavisijo od
pozicije sonca, letnega časa, vremena, oblačnosti, učinka
atmosfere ipd., materiali pa reagirajo na svetlobo z vsemi
predhodnje naštetimi parametri. V interierjih so kompleksi
bistveno bolj odvisni od človekovega posega. Materiali
imajo običajno izbrano in bolj določeno interakcijo s
svetlobo. Poleg tega igrajo tu bistveno večjo vlogo umetna
svetila, ki so glede na intenziteto neprimerljiva z naravno
svetlobo, njihova usmerjenost in učinek sta bistveno bolj
obvladljiva in nastavljiva.
Za čim bolj realistične prikaze 3D simulacij je običajno
potrebno korigirati računalniško generirano senco in
polsenco s triki luči in osvetljevanja scene. Tudi temu služi
poznavanje fizikalnega ozadja nastanka sence in polsence
in interakcije svetlobe z objekti.
Slika 07.16. Kompleks svetlobnih učinkov in senc interjerja
Slika 07.17. Kompleks svetlobnih učinkov in senc v naravi
109
Luči v 3D prostoru
Že v poglavju o materialih smo govorili o izredni kompleksnosti njihovega obnašanja v naravi, ki izhaja iz interakcije
s svetlobo samo. Svetloba ima veliko parametrov, ki se jih
v fizikalnem svetu upošteva, in je zaradi svojega dvojnega
obnašanja (kot snop delcev in kot valovanje) zelo zahtevna
za matematično opisovanje v navideznem prostoru. Zato
uporabljamo algoritme, ki približno opisujejo različne svetlobne izvore in njihovo tipsko obnašanje. Programi nam
dovoljujejo uporabljanje več svetlobnih virov, tako da lahko
s kombinacijo le-teh poskušamo čim bolje opisati neko situacijo, naj bo to natančen opis naravnih ali fiktivnih pogojev.
Pri navideznih lučeh, torej tistih, ki jih program simulira,
se navadno uporablja sledeče nastavitve, ki karakterizirajo
luč:
• tip svetlobnega izvora,
• intenziteta,
• barva,
• prostorsko pojemanje,
• tip sence,
• ekskluzivnost luči glede na objekt in
• volumetričnost.
Tip svetlobnega izvora je označen po obliki le-tega. Najbolj
pogosto se izvori delijo na ambientalno svetlobo, usmerjeno luč, točkast izvor svetlobe, reflektor, površinsko luč,
linijsko luč, v redkih primerih pa je lahko izvor svetlobe tudi
predmet. Vsaki luči je primarno potrebno definirati vsaj intenziteto. Pri ničelni intenziteti luč ne sveti, medtem ko je
pri maksimalni njena moč največja, ne da bi prežgala sliko
oziroma končno upodobitev. V kolikor scena od nas to zahteva, to se pravi, da prikazujemo neko nadpovprečno osvetljenost, lahko luči definiramo tudi intenziteto, ki je višja
od svoje maksimalne priporočene (100 %). Poleg intenzitete
je njena druga najpreprostejša nastavitev barva. Svetlobi
je možno nastaviti njeno inicialno barvo, to pa lahko spremeni, tudi če prehaja skozi prozoren predmet, ki ni bele ali
sive barve.
110
Ostale nastavitve spadajo med sekundarne. Med njimi je v
prvi vrsti senca. Z njo povemo, ali predmet, ki ga osvetljujemo, oddaja senco ali ne. Izklop senc nam pride prav, kadar
dodatno osvetljujemo določen del predmeta in ne želimo,
da bi se senca tega sekundarnega izvora mešala s senco
primarnega vira. V kolikor želimo senco, lahko izberemo
tako, ki se izračuna po metodi sledenja žarku, ali mapirano
senco. Določeni programi dovoljujejo tudi definiranje barve
sence.
V naravi ima svetloba pojemek, ki je kvadratičen glede na
oddaljenost od svetlobnega izvora (obratni kvadratni zakon
sevanja svetlobe). Programi sicer tega pojemka prvenstveno
ne upoštevajo, ga pa imajo navedenega kot opcijo, kjer ga
lahko vklopimo kot kvadratičnega, linearnega ali celo po
krivulji našega izbora. Luči navedemo polmer dosega njene
svetlobe, znotraj tega pa se bo intenziteta, glede na oddaljenost, ujemala s krivuljo pojemka, ki smo jo določili.
Slika 07.18. Primer brez (levo) in s pojemkom luči (desno)
Ekskluzivnost luči glede na objekt je poleg luči, ki ne oddaja
sence, še eno uporabno orodje pri dodatnih osvetljevanjih
določenih predmetov. S to nastavitvijo svetlobnemu izvoru
določimo, na katere predmete v sceni lahko vpliva oziroma
katere naj ignorira.
3D
kot vektor, katerega prostorska postavitev v sceni ni relevantna, saj samo nakazuje smer, od koder svetloba prihaja.
Točkast izvor svetlobe
Slika 07.19. Osvetljevanje dveh predmetov z dvema lučema,
ki imata vklopljeno ekskluzivnost objektov: zadnja luč osvetljuje samo levi predmet, sprednja pa samo desnega
Ambientalna svetloba
Ambientalna svetloba (ang. ambient light, omni light) je
vseprisotni izvor luči. Ta prihaja iz vseh smeri in je usmerjen
v vse smeri. Ta tip svetlobe zaradi svoje vseprisotnosti ne
more metati senc, pa tudi predmeti, ki so z njo osvetljeni,
ne delujejo plastično in je zaradi tega težko razpoznati njihovo obliko. Tak tip svetlobe se pojavi v naravi v oblačnem
vremenu. Svetloba je difuzna in vseprisotna. Kljub temu je
v naravi, tudi v primeru takšne osvetlitve, možno razpoznati
plastičnost predmetov zaradi osvetljevanja z odbojem svetlobe od le-teh. Pri programih za 3D računalniško grafiko imamo možnost tega simuliranja (indirektno osvetljevanje), ki
pa je zelo potratno glede procesorskega časa.
Točkast izvor svetlobe (ang. point light) je soroden usmerjeni luči, le da se upošteva končno oddaljenost. Izvor
deluje krogelno, kjer je center žarišče. Svetlobo oddaja v
vse smeri okoli sebe. Če sta bila v primeru oddaljene luči
robova sence vzporedna pri vzporednih stranicah, to
tukaj ne velja. Robova sence se v primeru takega objekta
odmikata glede na oddaljenost od predmeta. Medtem ko
pri usmerjeni svetlobi postavitev izvora v prostor ne igra
vloge, je pri točkastem izvoru svetlobe ta postavitev ključna.
Ta izvor svetlobe nima usmerjenosti.
Reflektor
Reflektor (ang. spotlight) je stožčast izvor svetlobe in je
usmerjen. Konica tega stožca predstavlja izvor svetlobe,
spodnji del se pa enakomerno širi proti postavljeni sceni.
Poleg usmerjenosti moramo tej luči definirati tudi kot, ki bo
predstavljal širino snopa. Pri reflektorju lahko zaznamo tudi
še dodatno nastavitev tega snopa, in sicer z dvema kotoma:
notranjim in zunanjim. Notranji kot nam pove, kolikšen bo
volumen znotraj stožca, ki bo enakomerno osvetljeval, zunanji pa nam definira popolni pojemek. Med obema kotoma bo intenziteta luči pojemala, na kakšen način (linearno,
po krivulji) pa določimo sami.
Usmerjena luč
Z usmerjeno lučjo (ang. distant light, directional light) simuliramo zelo oddaljene točkaste izvore. Najbolj tipski izmed
njih je sonce. Senca, ki jo oddaja s to lučjo osvetljen objekt,
je ostra, brez polsence. V kolikor osvetljujemo objekt, ki ima
dve vertikalni stranici vzporedni, bosta robova sence teh
dveh stranic tudi vzporedna. Usmerjena luč je definirana
111
Osvetljevanje z objektom
Slika 07.20. Prikaz nastavitve kotov pri reflektorju (α –
notranji kot, β – zunanji kot, rα – polmer enakomerne
osvetlitve, rβ – minimalni polmer popolnega pojemka)
Površinska luč
Pri površinski luči (ang. area light) je izvor ploščate oblike. Lahko si ga predstavljamo kot pravokotnik poljubne
velikosti in usmerjenosti. Za sence, ki jih mečejo objekti, osvetljeni s to lučjo, je značilna polsenca. Večja ko je
površina površinske luči, večja in mehkejša bo polsenca.
Če površinski luči manjšamo površino, se bo učinek njene
sence približeval tisti, ki bi jo dobili s točkastim izvorom.
Senca se bo ostrila. V realnem svetu lahko kot primer takega izvora navedemo televizijski zaslon, računalniški monitor
ali okno z matiranim steklom.
Določeni programi ponujajo možnost, da lahko katerikoli
predmet v sceni definiramo kot luč. Objekt postane izvor svetlobe, ki se širi v prostor v smeri normal njegove
površine. V kolikor program te možnosti ne ponuja, lahko
ta učinek simuliramo tako, da objekt obdamo z različnimi
izvori svetlobe približno po njegovi površini. Svetlobnim virom nastavimo, da ignorirajo objekt, ki je bil zamišljen kot
luč, njemu samemu pa pri nastavitvi materialov določimo
žarenje.
Kombinacija luči
Že predhodno smo omenili, da so tukaj predstavljene luči
grobi približki v naravi znanih izvorov. Če želimo sceno čim
bolj realno predstaviti, se bomo v večini primerov morali
posluževati več kot ene luči naenkrat, različnih oblik, intenzitet in barv. Kako se sceni postavi luči, da bodo atmosfero
čim bolje opisale, je odvisno od našega smisla za opazovanje in kreativnosti. V ta namen je priporočljivo opazovati fotografe ali filmarje pri delu, saj imajo ti na tem področju
največ opravka z osvetlitvami scen.
Linearna luč
Linearna luč (ang. linear light) ni tipska za vse programe, je
pa prisotna v določenih izmed njih. Linearna luč je podobna
površinski, le da ima eno stranico ničelno. Tudi za to luč je
značilna polsenca, vendar ne v vseh smereh enakomerno.
Kot vidimo na sliki, se senca obnaša mehko, s penumbro
levo in desno od predmeta, njen vrh pa je ostro odrezan.
S takšnim izvorom lahko simuliramo na primer neonsko
žarnico, ki je podolgovate oblike in zatorej sorodna po principu osvetlitve.
112
Slika 07.21. Objekt, osvetljen z dvema lučema različnih
barv
3D
Slika 07.22. Objekt, osvetljen z ambientalno osvetlitvijo
Slika 07.23. Objekt, osvetljen z ambientalno osvetlitvijo z indirektnim osvetljevanjem
Slika 07.24. Objekt, osvetljen z usmerjeno lučjo
113
Slika 07.25. Objekt, osvetljen s točkastim izvorom
Slika 07.26. Objekt, osvetljen z reflektorjem
Slika 07.27. Objekt, osvetljen s površinsko lučjo
114
3D
Slika 07.28. Objekt, osvetljen z linearno lučjo
Slika 07.29. Objekt, osvetljen s predmetom (kocko)
Slika 07.30. Postavitev scene osvetljevanja s predmetom
115
Negativna luč
Programi za 3D računalniško grafiko pa kljub svojim mnogoterim pomanjkljivostim, ki so osnovane na aproksimacijah
pojavov, lahko ponudijo marsikaj, česar ne moremo doseči
v naravi. Ena izmed teh možnosti je negativna luč. Marsikateri fotograf bi si jo želel kot del svoje opreme, vendar si
jo zaenkrat lahko privoščimo samo v navideznem svetu.
Negativna luč odvzema svetlobo sceni. Če objekt osvetlimo,
ali bolje rečeno, zatemnimo s takšnim izvorom, bo del na
površini, v katero je ta luč usmerjena, zatemnjen, tam, kjer
naj bi bila senca, pa osvetljen. Negativno se obnaša tudi
barva negativne luči. Če je ta na primer modra, se bo njen
negativni učinek obnašal komplementarno, torej bodo deli,
na katere vpliva ta luč, rumenkastih odtenkov.
Negativna nastavitev nam pride prav, ko je samo del nekega objekta preosvetljen in hočemo to intenziteto lokalno
pomiriti. Tako lahko včasih samo z dvema lučema dosežemo
nekaj, za kar bi sicer morali nastaviti mnogo več izvorov.
Ambientalna svetloba kot
dodatna luč
Vzemimo za primer, da osvetljujemo predmet samo z eno
lučjo, na primer z usmerjeno. V navideznem prostoru imamo pri tej osvetlitvi samo dve stanji: prisotnost in odsotnost svetlobe. To pomeni, da bo scena sicer enakomerno
osvetljena, sence pa bodo popolnoma črne. Zaradi indirektnega osvetljevanja (osvetljevanje okolice z odbojem luči od
predmetov) se to v naravi ne dogaja. Če želimo odpraviti
sence, ki predstavljajo popolno črnino, postopoma dodajamo ambientalno svetlobo. Ta nam, kot že vemo, ne bo
dodajala svojih senc, bo pa vplivala na tiste, ki jih oddajajo
druge luči. Več ambientalne svetlobe ko dodamo, bolj omilimo sence in jim s tem dodamo transparenco. Tako lahko
neko sceno na nezahteven način približamo naravnemu izgledu s preprosto postavitvijo luči.
Slika 07.32. Primer osvetljevanja brez ambientalne svetlobe
(levo), z njenim 20% (sredina) in 50% dodatkom (desno)
Volumetrična svetloba
Slika 07.31. Objekt, osvetljen s pozitivno in negativno lučjo
116
Snopa svetlobe v čisti atmosferi ne vidimo. V tem primeru
ga vidimo samo tam, kjer ta zadene ob objekt. Če atmosfera
ni čista, zaradi vsebnosti drobnih delcev (na primer prah),
vlage (na primer megla), dima ali kakšne druge nečistoče,
je viden tudi žarek. Bolj ko je nečistoča v ozračju gosta, bolj
je žarek viden. V naravi se to zgodi, ko so prisotni drobni
delci v zraku. Navadno se tu govori o več milijonih delcev na
kubični meter. V 3D računalniški grafiki bi bilo z vseh vidikov
potratno te delce simulirati z objekti. V ta namen imajo
luči nastavitev volumetričnosti, torej svojega “telesa”. V
3D
primeru točkaste luči bo to krogla, pri reflektorju stožec,
valj pri linearni luči in tako dalje.
Algoritem, ki simulira ta pojav, deluje tako, da v notranjosti telesa svetlobe vzame za vzorec globinsko mapo
(ang. z-buffer), ki se generira znotraj tega, in predmetom,
ki se zopet pojavljajo v tem telesu, dodaja še naknadno osvetljenost.
Odsev svetlobe v leči
Pri napravah za zajemanje slike, kot so kamera in fotografski
aparat, se kot posrednik med zunanjostjo in tipalom oziroma
filmom uporablja objektiv, ki je skupek več leč. V objektivih
se uporablja serija različnih zaporednih leč za stabilizacijo
in kompenzacijo različnih deformacij, ki jih proizvede ena
sama leča. Zaradi takšnega sestavljanja pride pri določenih
pogojih lahko tudi do učinkov, ki so specifični prav pri optiki.
Eden izmed takih je odsev svetlobe v leči. To se zgodi, če usmerimo objektiv direktno v izvor svetlobe ali v zelo močan
odboj le-te. Na sliki se izrazi kot skupek večkotnikov, ki se
ujemajo s številom lamel na zaslonki.
V računalniški grafiki je ta učinek dodan kot interno post
procesiranje. To pomeni, da je ta učinek dodan po tem, ko
se je celotna slika že upodobila. Isto operacijo lahko opravimo tudi kasneje, v programu za obdelavo slik, ampak samo
v primeru, ko upodabljamo samo eno sliko. Če upodabljamo animacijo, pri kateri želimo izpostaviti tudi odboj svetlobe v leči, se bomo morali posluževati notranjih algoritmov
programa za 3D računalniško grafiko.
Slika 07.33. Primer osvetljevanja z volumetričnim reflektorjem
Slika 07.34. Odsev svetlobe v leči
117
Indirektno osvetljevanje
Pri preprostih svetlobnih algoritmih ima žarek samo eno
smer: od izvora do objekta, v katerega zadene. Če je ta objekt prozoren, bo žarek nadaljeval pot skozenj in spremenil
svojo intenziteto, pot in barvo, odvisno od nastavitev prozornosti tega objekta. Kakorkoli, svetlobni žarek se ne odbije od objekta, ampak ima samo enosmerno pot. V naravi
velja Fresnelova enačba, ki pravi, da se žarek, ki zadene v
objekt, razdeli na dva dela: tistega, ki se vpije v objekt, in
tistega, ki se od njega odbije. Žarek nima enosmerne poti
in se ne vpije povsem v objekt. Del žarka, ki se od njega
odbije, nadaljuje svojo pot. Kakšna bo intenziteta in barva
žarka, ki nadaljuje to pot, je odvisna od barve objekta in
ostalih lastnosti materiala.
Indirektno osvetljevanje (ang. radiosity, indirect lighting)
nam omogoča opisovanje tega, da žarek nima samo ene
poti. V naravi je sicer ta odboj mnogokraten, v matematičnih
izračunih pa mu moramo določiti število odbojev. Zaradi
večkratnega poskoka žarka svetlobe se čas upodabljanja
znatno zviša. Omejimo ga lahko s kvaliteto algoritma,
načinom procesiranja in številom odbojev.
Indirektno osvetljevanje znatno doda k realističnemu izgledu slike, cena, ki jo moramo za to plačati, pa je, kot že
prej povedano, dolg čas upodabljanja.
Slika 07.35. Potek žarka pri indirektnem osvetljevanju (prvi
trije odboji)
Slika 07.36. Osvetljevanje z reflektorjem (levo) in potek indirektnega osvetljevanja pri štirih (sredina) in dvanajstih korakih
(desno)
118
3D
Mapirana senca
Kavstika
Pri metodi sledenja žarku se v primeru zaporedja slik senca,
katero objekt oddaja, izračunava za vsako sliko posebej. V
kolikor se objekti in svetlobni izvor v sceni ne premikajo,
lahko senco izračunamo samo enkrat, kar nam prihrani
čas pri upodabljanju. To je metoda mapiranja sence (ang.
shadow map), pri kateri program izračuna teksturo sence
in jo aplicira na objekte, na katere pada. Ker imamo tukaj opravka s teksturo, moramo v programu tudi določiti,
kakšna naj bo ločljivost te sence: večja ko je, bolj je definirana, vendar potrebuje več časa za izračun. V kolikor se s
kamero približamo mapirani senci, bomo videli, da je njen
rob sestavljen iz pikslov.
Izraz kavstika izhaja iz grške besede kaustos, ki pomeni
“prežgan“ in je pojav v naravi, ki se manifestira kot projekcija odbitih ali lomljenih žarkov, ki preidejo skozi prozorno
površino neravne oblike z lomnim količnikom, različnim od
ena. Ti žarki se kasneje projicirajo na površino objekta, ki ga
zadenejo po prehodu iz prozorne snovi.
Kavstika je opcija, ki se dodatno vklaplja pri nastavitvah
svetlobe. Pred pričetkom upodabljanja preračuna pot žarkov različnih svetlobnih virov in, v kolikor se kavstika pojavi
kot projekcija, jo doda na objekt, katerega ta projekcija zadene, kot mapo.
Slika 07.38. Kavstika
Slika 07.37. Objekt z mapirano senco (zgoraj) in njej
približana kamera (spodaj)
119
Praktični primer osvetljevanja v notranjosti prosotorov
Poglejmo, kako poteka osvetljevanje navideznih prostorov
v praksi in kako lahko uporabljamo različne tipe luči in njihove karakteristike v ta namen.
Scena, ki jo bomo osvetlili, je sestavljena iz odra z zaveso
v ozadju, dveh foteljev in mize. Atmosfera, ki jo hočemo
doseči, je izgled scenografije, pripravljene za debato med
gostiteljem in gostom.
sta ti dve luči namenjeni samo osvetljevanju določenega
dela objekta, jima izklopimo možnost oddajanja senc.
5.
Slika je že na dokaj dobri poti in bi kot takšna že lahko zadostovala. Vseeno ji v tej, peti fazi, dodajmo še dve linijski
luči: ena bo postavljena nedaleč nad foteljema, ena pa njej
vzporedno tik nad tlemi za zaveso. S tema dvema lučema
poživimo sceno tako, da jo malenkost osvetlimo in gubam
zavese dodamo malo več kontrasta.
1.
Ker naj bi bil poudarek na nastopajočih, bo naš prvi korak
njihova osvetlitev, vsakega s svojim reflektorjem.
2.
Dva reflektorja sama sicer močno osvetlita fotelje, vendar
je okolica zelo temna in skoraj nevidna. Zato bomo postavili na vrh scene ploskovno luč, kot da bi svetila visoko na
stropu. S tem dodamo ne samo usmerjeno ambientalno
svetlobo, ampak tudi omehčamo sence treh predmetov na
odru. S tem jim določimo plastičnost in poudarimo njihovo
formo.
3.
Vidimo, da so tla pod mizo zelo temna, skoraj črna. Ta intenzivna senca lahko pripelje do tega, da se opazovalec preveč
osredotoča nanjo, ker zelo izstopa. Pod mizo postavimo
manjšo ploskovno luč in ji izklopimo sence ter tako luči
preprečimo, da bi noge mize oddajale senco v vse štiri strani. S tem bi sicer izničili močno senco pod mizo, vendar bi
kreirali štiri nove, še bolj moteče.
4.
Robova foteljev sta zelo temna: pri levem fotelju njegov
desni rob in obratno. Potrebno ju je osvetliti, vendar je
pri tem tudi potrebno paziti, da ne “prepečemo” scene
na določenih območjih. Zato vklopimo ekskluzivnost osvetljevanja: luč, namenjena levemu fotelju, bo osvetljevala
le-tega in noben drugi objekt v sceni. Ravno tako bo luč
desnega osvetljevala samo desni fotelj in nič drugega. Ker
120
Slika 07.39-a. Potek praktičnega primera osvetlitve scene
3D
1.
2.
3.
121
4.
5.
Slika 07.39-b. Potek praktičnega primera osvetlitve scene
122
3D
Praktični primeri osvetljevanja s vseprisotno lučjo
Na primeru predmeta na belem ozadju bomo uporabili ambientalno, difuzno, svetlobo. Zanjo je značilno, da izvira z
vseh strani, zato je včasih tudi imenovana vseprisotna luč
(ang. omni light). Ravno ta njena specifičnost generira tudi
zelo karakteristične mehke sence, ki nimajo usmeritve, ampak vseeno poudarijo obliko predmetov.
Predmet, ki ga bomo upodabljali, ima namensko material brez odbojnih lastnosti, torej sipne narave, zaradi
nazornejšega prikaza obnašanja svetlobe in senc na njemu.
Pogledali si bomo tri različne primere osvetlitve z namenom
simuliranja vseprisotnega svetlobnega vira, torej situacijo,
ki bi jo v naravi zaznali v oblačnem vremenu podnevi.
1.
V prvem primeru okoli predmeta postavimo pet površinskih
luči tako, da z njimi sestavimo površino kocke brez dna.
Površinske luči imajo že same po sebi lastnost oddajanja
svetlobe preko celotne svoje površine in se v takšni konfiguraciji simulacije okolice približujejo opisnosti ambientalne luči. Vsekakor pa to ni idealna rešitev, saj so v takšni
postavitvi centralni deli površinskih luči bliže predmetu
kot pa njeni robovi. Pot in intenziteta svetlobe zato neenakomerno prihajata do osvetljenega objekta, kar se tudi pozna na končnem izdelku. Pri ogledu detajla sence je vidna
njena oglata oblika.
Slika 07.40. Potek praktičnega primera osvetlitve s petimi ploskovnimi lučmi
123
2.
Pri prvem primeru je torej hiba nelinearnost intenzitete luči,
ki prihaja na osvetljeni predmet. Idealno je, da v primeru
uporabe večih luči te enakomerno odmaknemo od predmeta. Poskusimo postaviti kopico točkastih izvorov, ki so postavljeni enakomerno polkrogelno. S tem smo sicer rešili zagato
nelinearnosti, pojavi pa se nam druga težava: točkaste luči
povzročajo ostro senco, zato je to vidno tudi na končnem
izdelku kot nabor večih, v mozaik sestavljenih senc. Več luči
kot postavimo v navidezno polkroglo, drobnejši bo ta mozaik in hkrati bolj realističen rezultat. Slaba lastnost tega je, da
se z večanjem števila luči podaljšuje tudi čas upodabljanja.
Pri enakomernih ploskvah osvetljenega predmeta, kot je to
v tem primeru, je mogoče to še najmanj ugodna rešitev, saj
je takšna, nepravilna, senca zelo vidna. V kolikor ta način
uporabljamo za osvetljevanje bolj razgibanih objektov in
materialov, ta hiba ne bo tako očitna in zatorej je takšen
pristop popolnoma sprejemljiv.
Slika 07.41. Potek praktičnega primera osvetlitve s polkrogelno postavitvijo točkastih luči
124
3D
3.
Najbolj elegantna rešitev je uporaba ambientalne svetlobe.
Ta izvira od vsepovsod in enakomerno osvetljuje celotno
sceno. Njen problem je pač ta, da ne povzroča senc in je
zatorej oblika predmeta ploska in nerazpoznavna. Tukaj je
potrebno vklopiti še indirektno osvetljevanje. To povzroči
večkratni odboj žarka, s čimer se definirajo svetlejša in
temnejša področja v odvisnosti od oblike objekta.
Te tri oblike osvetljevanja nam pridejo enotno prav samo,
kadar osvetljujemo en objekt oziroma strnjeno skupino leteh. V kolikor želimo osvetljevati kompleksno sceno z veliko objekti, tako približanimi in oddaljenimi, nam bo prav
prišla le tretja varianta, saj je edino ta način osvetljevanja
resnično vseprisoten.
Slika 07.42. Potek praktičnega primera osvetlitve z ambientalno svetlobo in indirektnim osvetljevanjem
125
Praktični primeri osvetljevanja zunanjosti
Ko osvetljujemo sceno na odprtem, imamo načeloma
opravka samo z enim virom osvetlitve – soncem, razen v
primeru uporabe umetne svetlobe oziroma kombinacijo
te z naravno. Čeprav vzamemo za situacijo samo uporabo sonca kot svetlobnega izvora, torej ene same luči, ni
rečeno, da bo osvetlitev take scene tudi preprosta. Naravna
svetloba ima zaradi atmosfere, njenih sprememb in gostote ter lokacije sonca in lune glede na čas v dnevu in letu
različne svetlobne učinke. V primerih, ki sledijo, si bomo pogledali svetlobo in njeno simulacijo v različnih časovnih in
podnebnih situacijah ter pristope k osvetljevanju.
Slika 07.43. Primer osvetlitve
zunanje scene pri sončnem
vremenu ob uporabi oddaljene
luči
Slika 07.44. Primer osvetlitve zunanje scene pri sončnem
vremenu
1.
126
3D
1. Osvetlitev podnevi
jih oddajajo predmeti, lepše sledile njihovim formam.
Prvi primer se nanaša na osvetlitev scene ob jasnem dnevu,
kadar je sonce dokaj visoko. Kot najpreprostejšo rešitev bi
lahko za sonce dali kar oddaljeno luč, saj je ta namenjena
takšnim tipom osvetlitve, ker generira ostre in temne sence
(slika 07.43). V nezahtevnih primerih bi mogoče ta varianta
celo zadostovala. Za bolj realen izgled slike pa je potrebno
sceno malenkostno modificirati.
Tudi s to lučjo se pojavijo zelo temne sence. Da omilimo njihovo črnino, lahko, v preprostejšem primeru, ojačamo ambientalno svetlobo. Za kompleksnejši, a ekvivalenten učinek,
lahko namesto dodajanja ambientalne svetlobe vklopimo
indirektno osvetljevanje – žarku omogočimo, da se odbije
od predmeta in s tem nadaljuje svojo pot osvetljevanja. V
našem primeru je bila izbrana ta varianta, korak odbojnosti
žarka pa je bil dokaj nizek, okoli tri.
V še tako jasnem vremenu in čistem ozračju je še vedno
nekaj delcev v atmosferi, ki bodo sipali svetlobo. Zato prej
nastavljeno oddaljeno luč zamenjamo s ploskovno, ki jo najprej zmanjšamo. S tem dosežemo približek točkovnemu izvoru a ne popolnoma. Sence bodo tako ostre ob predmetu
in se bodo komaj opazno mehčale ob oddaljenosti od njega.
Luč nato oddaljimo od scene, saj bodo tako sence robov, ki
Slika 07.45. Primer osvetlitve zunanje scene pri meglenem
vremenu
2. Osvetlitev v megli
Pri meglenemu ozračju imamo najmanj težav pri osvetljevanju. Praktično sploh ne potrebujemo nobene posebne
luči, ampak samo ambientalno svetlobo.
Najprej si moramo predstavljati, kako ta situacija izgleda v
naravi: še vedno je izvor svetlobe sonce, vendar je daleč, za
zelo gosto atmosfero. Ta tako močno sipa direktno svetlobo
2.
127
sonca, da ne moremo več pravilno definirati, od kje ta svetloba prihaja. Občutek imamo, da prihaja od vsepovsod. Te
opazke se držimo pri osvetljevanju v meglenih atmosferskih
pogojih.
dar je še vedno vidno v obliki projekcije. Projicirana forma
sonca spreminja obliko in barvo v odvisnosti od njegovega
položaja po prehodu horizonta – s časom postaja večja in
bolj rdeča, po določenem času pa izgine in nastopi tema.
Vse luči izklopimo in uporabimo samo ambientalno svetlobo, katere vrednost nastavimo dokaj visoko, lahko celo
maksimalno. Tudi v tem primeru bomo morali uporabiti
opcijo indirektnega osvetljevanja, saj na ta način definiramo obliko predmetov ter njihovo pozicijo v odvisnosti od
ostalih predmetov.
Scena je podobno postavljena kot tista v nočnih razmerah, le da je barva ambientalne svetlobe namesto modre
nastavljena na svetlo rdečo. Tudi intenziteta ambientalne
svetlobe je veliko nižja, saj bi v nasprotnem primeru celotni
sceni dominirala rdeča barva. Namesto tega postavimo dve
veliki ploskovni luči tik nad sceno: rumenkasto na začetku
scene in rdečo na ozadju. Negativno luč pustimo v ozadju,
tako kot pri nočnih nastavitvah, da dosežemo kontrast med
svetlimi in temnimi deli objektov, odvisno kako so ti postavljeni glede na primaren izvor svetlobe.
3. Osvetljevanje pri sončnem zahodu ali vzhodu
Sonce oddaja belo svetlobo, kjerkoli na nebu se čez dan
nahaja. Tudi ob sončnem zahodu, ampak samo dokler ne
doseže horizonta. Ko ga preide, se sonce fizično skrije, venSlika 07.46. Primer osvetlitve zunanje scene pri sončnem
vzhodu ali zahodu
3.
128
3D
4. Osvetljevanje ponoči
Očitno je, da je lahko scena ponoči osvetljena z naravno
svetlobo samo ob polni luni oziroma nekaj dni pred in za
tem pojavom, saj je samo takrat dovolj svetla, da lahko
osvetli Zemljo.
Pri nočnih pogojih imamo občutek modrikaste osvetlitve –
okolica nam deluje obarvana v modre odtenke z belimi odsevi. Ta pojav nima povezave z modrino neba ali drugačnimi
atmosferskimi vplivi. Modrina se pojavi, ker so človeške oči
pri nizkih osvetlitvah bolj občutljive na modro barvo in potemtakem okolico tudi zaznamo v teh odtenkih.
Nočna svetloba je odboj sončne svetlobe od lunine
površine. Ker je sončna svetloba bele barve, luna pa sive,
ni izpolnjenih nobenih pogojev, da bi ta svetloba spremeSlika 07.47. Primer osvetlitve zunanje scene pri nočni
svetlobi
nila barvo. Ob dovolj občutljivem fotografskem zajemu slike
pokrajine ponoči bi opazili, da se barvne vrednosti okolice
ne spremenijo v primerjavi s tem, kako izgledajo podnevi.
Kljub temu nočno sceno vidimo modrikasto zaradi prej
omenjenega razloga in ta učinek upoštevamo ob simulacijah nočnih scen.
V primeru osvetljevanja ponoči uporabimo isti svetlobni izvor, kot pri osvetljevanju podnevi. Postavimo ga na pozicijo
lune v ozadju in dodamo še nekaj ambientalne svetlobe, ki
jo obarvamo, ne preveč intenzivne, modre barve. S takšno
postavitvijo osvetlitve smo skoraj dosegli učinek, ki smo si
ga zastavili. Zatakne se pri temnih delih predmetov, tistih, ki
so na nasprotni strani glede na luč. Ker je vklopljena modra
ambientalna svetloba, ti ne bodo črni oziroma zelo temni,
ampak modre barve. Za korekcijo tega neželenega pojava
postavimo na nasprotno stran scene v orientaciji s primarno lučjo še eno veliko ploskovno negativno luč, kateri izklopimo možnost oddajanja senc. Tako vplivamo na temno
stran predmetov.
4.
129
5. Osvetljevanje pri uporabi umetne osvetlitve
Zunanjost lahko osvetljujemo tudi z umetnimi svetili, ki se
razlikujejo v glavnem po odtenku svetlobe, ki jo oddajajo:
neonske luči so hladne in nevtralne bele barve, medtem ko
svetloba žarnice z žarilno nitko obarva osvetljene dele rumenkasto. Če je umetna luč naš edini izvor svetlobe, recimo
ponoči, moramo upoštevati tudi njeno moč v primerjavi s
soncem. Ta je veliko nižja. Tukaj nam pride zelo prav opcija
pojemka luči – po nekaj metrih od izvora mora učinek luči
ponehati.
Slika 07.48. Primer osvetlitve zunanje scene z umetno
svetlobo
5.
130
3D
Kamera in upodabljanje
Kamera in upodabljanje
Osnove fotografije in kinematografije
Simulacija realnih kamer
Opazovalni sistem in tok svetlobe skozi kamero
Svetlobni senzorji
Zaslonka in zaklop
Zaslonka
Zaklop
Leča, gorišče in goriščna razdalja
Predmetna razdalja in slikovna razdalja ter nastanek slike
Vidni in slikovni kot, vidno in slikovno polje
Globina polja
Meglenje premika
Gibanje in število slik na časovno enoto
Prepleteno in neprepleteno obnavljanje slike
Kamera v 3D-ju
Dodatne nastavitve kamere
Upodabljanje
Velikost slike
Mehčanje robov
Redukcija šuma z vzorčenjem
Globina rekurzije
Shranjevanje
Dodatni učinki
Megla
Okolica
Navidezna okolica
Post procesiranje
Osnove fotografije in
kinematografije
Kljub morebitnim pomislekom o povezavi 3D računalniške
grafike ter fotografije in kinematografije, imajo ta področja
veliko skupnega. Že od samih začetkov razvoja računalniške
grafike so namreč raziskovalci poskušali simulirati podobne
učinke, kot so jih prikazovali fotografi in filmarji na filmu.
Danes ni več vprašanj glede realističnosti, ki jo dosega
3D računalniška grafika, saj se tudi zaradi integracije na
področja videa in filma popolnoma enači v tovrstni kvaliteti.
Poznavanje osnov fotografske in kinematografske opreme
ter nekaterih principov iz obeh tehnik je potrebno predvsem v fazi upodabljanja, saj pripomore k boljši simulaciji
posnetkov realnih fotoaparatov in kamer. Doseganje nekaterih učinkov realnega snemanja je pri tem izvedljivo z ustreznimi nastavitvami na virtualni kameri, določene učinke
fotorealističnega prikaza pa je možno simulirati le z iznajdljivim kombiniranjem različnih ukazov.
Simulacija realnih kamer
Za uspešno simulacijo kamere v 3D računalniški grafiki je
potrebno poznati osnove spodaj naštetih parametrov in
nastavitev fotoaparata in kamere:
• opazovalni sistem,
• svetlobni senzorji,
• zaslonka in zaklop,
• leča, gorišče in goriščna razdalja,
• globina polja,
• vidni in slikovni kot,
• meglenje premika in
• gibanje in število slik na časovno enoto.
Namen poglavja je osnovno poznavanje in razumevanje
naštetih parametrov in nastavitev. Bralci, katerih želje
segajo po poglobljenem razumevanju fotografije in kine-
matografije, pa bodo najverjetneje želeli poseči tudi po bolj
specializiranih učnih gradivih za ti dve strokovni področji.
Opazovalni sistem in tok svetlobe skozi kamero
Kamera (fotoaparat, kamera) je kot optična naprava vmesni
člen med opazovalcem in opazovano sceno. Lahko bi rekli,
da je kot nekakšen podaljšek človeškega vizualnega sistema, ki omogoča prehod svetlobe in vizualnih informacij. Ta
naprava vključuje tudi elemente in mehanizme, s katerimi
lahko spreminjamo način gledanja scene in vplivamo na
kvaliteto in kvantiteto vizualnih informacij, ki prihajajo do
opazovalca.
Med kamero in fotoaparatom je bistvena razlika v načinu
zajemanja slik. V primeru fotoaparata so slike zajete
posamično, rezultat pa so statične slike. Kamera zajema
slike kontinuirno, kar omogoča vizualizacijo gibajočih slik.
Pot toka svetlobe skozi obe optični napravi je pri tem podoben in je lahko poenostavljen na ključne točke poti: 1.
odbita svetloba od objektov v okolici opazovanja se zbere
v vstopnem delu – objektivu; 2. prehod skozi objektiv in
mehanizem zaslonke, zaporedje leč in filtre z različnimi
funkcijami; 3. prehod svetlobe skozi zaklop; 4. interakcija
svetlobe s svetlobnimi senzorji; 5. sistem zrcalnih elementov, ki omogočajo odboj svetlobe pod različnimi koti in 6.
opazovalni sistem, skozi katerega zre opazovalec 7.
7
6
3,4
5
2
1
Slika 08.01. Tok svetlobe skozi kamero
133
Svetlobni senzorji
digitalni
signal
Svetlobni senzorji (ang. light sensors) so svetlobno občutljivi
elementi optičnih naprav, ki po različnih principih pretvarjajo svetlobno valovanje v mehanske, kemijske ali elektronske signale. Slednji se nato pretvarjajo v vizualne signale,
ki jih lahko predstavimo na vmesnih ali končnih vizualizacijskih medijih.
V klasičnih fotoaparatih je bil svetlobno občutljiv filmski
trak, ki je vseboval fotografsko aktivni sloj (fotografsko
emulzijo ali razpršene kristale srebrovega halogenida v
želatini). Osvetljevanje emulzije je povzročalo sprva le neopazne spremembe filma zaradi rahljanja kemijskih vezi med
srebrom in halogenidom. Vidne spremembe na filmu pa
so bile mogoče po končnem razpadu te spojine v razvijalni
raztopini, ko se je halogenid vezal z raztopino, srebro pa je
potemnelo pri prehodu v elementarno stanje.
V digitalnih kamerah se svetlobni senzorji ali tipala imenujejo CCD (ang. charge-coupled device) ali redkeje CMOS
(ang. complementary metal-oxide-semiconductor). CCD
senzorji so sestavljeni iz mikroskopske mreže milijonih slikovnih točk (pikslov), ki je nameščena na ploskem vezju. Pri
osvetljevanju se v senzorjih generira električni naboj proporcionalno s količino svetlobe, ki jo vsaka slikovna točka
sprejme. Električni naboj se nato pretvori v digitalne signale,
ki gradijo digitalno sliko. V osnovi je fotoaktivno področje
CCD senzorjev plast silikona, pri barvnih kamerah pa je
pomemben element tudi mreža rdečih, zelenih in modrih
slikovnih točk, ki imajo vlogo filtrov (torej v optičnem smislu
receptorjev za svetlobo nizkih, srednjih in visokih valovnih
dolžin). Ponavljajoči kvadrat slikovnih točk predstavljajo ena
rdeča in ena modra ter dve zeleni slikovni točki. Velikost datoteke, ki nosi informacijo o sliki, in ločljivost slike sta večji
v primeru večjega števila slikovnih točk.
134
svetloba
Slika 08.02. CCD svetlobni senzor
Zaslonka in zaklop
Zaslonka
Zaslonka (ang. diaphragm) določa velikost odprtine za vhod
svetlobe v kamero in posledično vpliva na dolžino ekspozicije svetlobnih senzorjev ter tudi globinsko ostrino. Zaslonke
fotoaparata se razlikujejo od zaslonk kamer. V primeru fotoaparata je zaslonka sistem tankih lamel, ki se odpirajo do
določene velikosti odprtine. Standardne odprtine zaslonke
predstavljajo številke, kot so na primer 1,4; 2; 2,8; 4; 5,6;
8; 11; 16; 22; 32; 45 in 64, ki pomenijo razmerje med
premerom odprtine zaslonke in goriščno razdaljo objektiva. Odprtina zaslonke se podaja tudi kot oznaka f-stop,
v smislu f/1,4 ali f/22, pri čemer omogoča večja številka
manjšo odprtino zaslonke in posledično manjšo količino
prehajajoče svetlobe.
3D
f/
2
2,8
4
5,6
8
11
16
manjša osvetlitev
Slika 08.03. Odprtina zaslonke
Leča, gorišče in goriščna razdalja
Zaklop
Zaklop (ang. shutter) je mehanizem, ki regulira čas osvetlitve. Hitrost zapiranja zaklopa določa količino svetlobe, ki
jo za določen čas spustimo v področje svetlobno občutljivih
senzorjev. Hitrost zaklopa se meri v sekundah oziroma
deležu sekunde (1/8, 1/15, 1/250, 1/2000 sek), pri čemer
večja hitrost dopušča manjšo količino svetlobe in krajšo osvetlitev.
S hitrostjo zaklopa lahko kontroliramo tudi prikaz gibanja
objektov v sceni, saj manjša hitrost zaklopa ujame več
sprememb gibanja objekta v eni sliki, kar ima za posledico
zamegljen videz objekta. Opazovalec dojema takšno sliko
objekta kot gibajoči objekt, čeprav je v bistvu le statična
slika s prikazom megljenja premika.
1/640 s
Pri kameri za snemanje gibajočih slik je zaklop rotirajoč (ang.
rotating circular shutter), določa pa ga tudi kot zaklopa.
Zaklop v tem primeru omogoča takšno časovno osvetlitev
svetlobnih senzorjev, da le-ta ustreza številu prikazanih slik
na sekundo. Tako recimo ekspozicija 1/48 sekunde in kot
zaklopa 180° (torej polovico celotnega obrata 360° je zaklop odprt) ustvari 24 slik na sekundo.
1/80 s
Leča (ang. lens) je optični element s popolno ali delno aksialno simetrijo, ki prepušča in odbija svetlobo ter pri tem
povzroča združevanje ali razhajanje svetlobnih žarkov.
Najenostavnejši sistem leč sestavlja le en optični element, v
primeru kompleksnejšega sistema pa imamo zaporedje leč
s skupno osjo, ki omogočajo več optičnih korekcij. Poznamo
več vrst leč različnih oblik, najbolj uporabljeni pa sta konveksna in konkavna oblika. Gorišče konveksne leče je na
drugi strani leče glede na vpadno svetlobo. Konkavna leča
ima gorišče na strani vpadnega žarka svetlobe.
Delovanje konveksne leče lahko razložimo s primerom svetlobnega žarka, ki je vzporeden z optično osjo ter žarka,
ki pod kotom osvetljuje lečo. Optično središče O (ang.
optical center) je geometrijsko središče telesa leče, ki leži
1/10 s
Slika 08.04. Vpliv hitrosti zaklopa
135
objekta, njegove razdalje ter od goriščne razdalje. Pri tem
velja, da je razmerje med velikostjo objekta in slike enako
razmerju med razdaljo objekta in slikovno razdaljo.
predmetna razdalja slikovna razdalja
a
b
objekt
f
optična
ravnina
O
goriščna
ravnina
slika
F’
f
F
F
slikovna ravnina
na optični ravnini (ang. optical plane). Goriščna razdalja f
(ang. focal length, focal distance) je razdalja med optično
in goriščno ravnino (ang. focal plane) oziroma razdalja
med optičnim središčem in goriščem, v katerem se zariše
ostra slika neskončno oddaljenega objekta. Na goriščni
razdalji se žarek svetlobe združi v gorišče F (ang. focus). V
primeru svetlobnega žarka, ki pod kotom glede na optično
os osvetljuje lečo, leži gorišče na enaki goriščni ravnini kot v
primeru vzporednega žarka, njegova lega pa je pomaknjena
iz optične osi.
Slika 08.06. Projekcija slike objekta na slikovno ravnino
optična os
Vidni in slikovni kot, vidno in slikovno polje
Slika 08.05. Gorišče in goriščna razdalja konveksne leče
Predmetna razdalja in slikovna razdalja ter nastanek slike
Delovanje leč je potrebno na tem mestu nadgraditi z optiko
nastanka slike. Slika objekta, ki nastane po prehodu svetlobe
skozi lečo, je poleg omenjenih optičnih parametrov odvisna
tudi od razdalje objekta in slikovne razdalje. Predmetna
razdalja meri od optičnega središča leče do objekta, medtem
ko je slikovna razdalja med optičnim središčem in sliko objekta na svetlobno občutljivem elementu. Razmerje med
razdaljo objekta in slikovno razdaljo lahko izrazimo z enačbo
1/f=1/a+1/b, kjer je f goriščna razdalja, a predmetna razdalja in b slikovna razdalja. Projekcija slike objekta na slikovni
ravnini je obrnjena, njena velikost pa je odvisna od velikosti
136
Vidni kot (ang. angle of view) je določen s skrajno levo in
desno točko vidnega polja, ki ju še zaznamo pri opazovanju. Manjša goriščna razdalja omogoča večji vidni kot, zato
morajo biti kamere s takimi nastavitvami bliže objektu,
da je vidno polje enake velikosti kot pri kamerah z večjo
goriščno razdaljo.
Slikovni kot je kot snopa žarkov svetlobe, ki prehaja skozi
kamero in omogoča nastanek slike. Večja goriščna razdalja
pomeni manjši slikovni kot. Pri enaki goriščni razdalji pa
večji slikovni kot povzroči večji format slikovnega polja.
Globina polja
Globina polja (ang. depth of field) definira področje pred in
za točko največje ostrine, znotraj katerega so objekti scene
še videti ostri. Največja ostrina slike je pri tem prisotna v
točki gorišča (fokusa), kjer se vsi vpadni žarki svetlobe
združijo v eni točki.
3D
ravnina
bližnjega fokusa
razdalja objekta
kamera 3
kamera 2
kamera 1
vidno
polje
α1
α2
α3
goriščna razdalja: f1
vidni kot: α1 α2
f2 f3
α3
kamera 2
β1
β2
kamera 3
β3
slikovna razdalja
kamera 1
velika
globina polja
kamera
slikovno
polje
majhna
globina polja
kamera
goriščna razdalja: f1
slikovni kot: β1
f2
f3
β2 β3
Slika 08.07. Vidni in slikovni kot ter vidno in slikovno polje
f/1,8
ravnina
daljnega fokusa
f/9
Slika 08.08. Globina polja
f/22
Slika 08.09. Globina polja pri različni odprtosti zaslonke
137
Na globino polja vplivamo z nastavitvami zaslonke. Manjša
odprtina zaslonke (večja vrednost f-stopov) omogoča
večjo razdaljo med najbližjim in najbolj oddaljenim delom opazovane scene, katere detajle še vidimo ostre pri
točno določeni goriščni razdalji. Tako sta ravnini bližnjega
in daljnjega fokusa medsebojno bolj oddaljeni, kar pri vizualiziranju naredi izostreno področje optično globje, to pa
daje občutek večjega kontrasta in v določenih primerih tudi
močnejše osvetlitve scene. Večja odprtina zaslonke (manjša
vrednost f-stopov) skrajša izostreno področje scene in rezultira v učinku, da je med področji scene manj kontrasta.
Meglenje premika
Meglenje premika (ang. motion blur) je predstavitev gibanja
objektov, ki je ujeta v eni statični sliki (oziroma v ekspoziciji
ene slike). Meglenje premika se tvori tako, da se v eni sliki
prikaže več zaporednih leg ali sprememb objekta, ki se med
seboj na sliki deloma prekrivajo. Vizualni učinek tega efekta
je neostrost objekta, kar opazovalec dojema kot gibanje in
spremembo lege.
Meglenje premika določamo s hitrostjo zaklopa, saj se
na sliki pojavi, če se objekt giba v času odprtega zaklopa.
Manjša hitrost zaklopa tako pomeni večje meglenje premi-
ka in torej več gibanja v eni sliki (večja neostrost objekta),
večja hitrost zaklopa pa zaradi krajšega časa ekspozicije rezultira v manjšem meglenju premika.
Gibanje in število slik na časovno
enoto
Kamere, s katerimi snemamo gibajoče slike, imajo merljivo
količino števila slik na časovno enoto (ang. frame rate).
Osnovna enota te količine je število slik na sekundo (ang.
frames per second, krajše fps) in pomeni, koliko posameznih
slik se posname (tudi osvetli) in prikaže na sekundo. Filmi
z gibajočimi slikami se običajno snemajo z vrednostjo, ki
presega 24 slik na sekundo. To imenujemo tudi zvočna
hitrost, ker je standardna hitrost za filme s sinhroniziranim
zvokom. Obenem pa je ta vrednost tudi mejno število slik
na sekundo, ki jih zaradi vztrajnosti človeškega vidnega sistema povprečni opazovalec pri zaporednem prikazovanju
dojema kontinuirano.
Predpisano število slik na sekundo velja tako za televizijsko, klasično filmsko tehnologijo kot tudi za animirane
filme, pri tem pa se uporabljajo televizijski standardi: PAL,
SECAM, NTSC. PAL (Phase Alternating Line) je televizijski
standard evropskega, deloma afriškega in južnoazijskega,
avstralskega in južnoameriškega območja in poleg SECAM
(Sequential Color with Memory), ki je razširjen v delu Afrike
in v državah severne Azije, uporablja 25 slik na sekundo.
NTSC (National Television System Committee) standard je
aktualen v Kanadi, Severni, Srednji in delu Južne Amerike
ter predpisuje 30 slik na sekundo. Omenjeni standardi se
razlikujejo tudi po razmerju slikovne točke ter velikosti slike
(razmerju višine ter širine slike).
Prepleteno in neprepleteno obnavljanje slike
Prepleten in neprepleten sta načina prikazovanja in obnavljanja posamezne slike na različnih prikazovalnikih gibajočih
slik (ang. video fields, field rate).
Slika 08.10. Meglenje premika
138
3D
Prepleten način (ang. interlaced mode) je način obnavljanje
slike, pri katerem je ena slika sestavljena iz dveh ločenih
ekspozicij – polj, tako da ena upodobitev predstavlja lihe
horizontalne slikovne linije, druga slika pa sode horizontalne
slikovne linije. Glede na standard se najprej prikažejo bodisi
lihe bodisi sode linije. Tako se slike prikazujejo z enkrat
večjim številom na sekundo. V primeru PAL in SECAM
standarda je to 50 slik na sekundo s prvo prikazanimi lihimi
linijami, v primeru standarda NTSC pa 60 slik na sekundo
s prvo prikazanimi sodimi linijami. Večje število slik na
časovno enoto je prednost, saj omogoča natančnejšo
simulacijo gibanja.
Neprepleten način (ang. non-interlaced mode, progressive
scan) obnavljanja slike je prisoten v prikazovalnikih z digitalnim signalom in pomeni, da se slika ne obnavlja z ločenimi
linijami. Na ta način je zapisana tudi slika na filmski trak.
Večina programov za 3D računalniško grafiko ima možnost
upodabljanja v prepletenem načinu in tako simulira snemanje video kamere v tem načinu. Pri tem pa je potrebno paziti na pojav meglenja premika, ki se ob zmanjšanju
hitrosti zaklopa, torej ob uporabi večjega števila slik na
sekundo, prav tako zmanjša na polovico. Poleg tega je
učinek simulacije meglenja premika bistveno manjši pri
uporabi prepletenega načina.
Slika 08.11. Prikaz gibajočega predmeta z neprepletenim načinom (prva slika), prepletenim z lihimi (druga slika) in sodimi
linijami (tretja slika) ter sestavljenim prepletenim načinom (ang. deinterlaced) (četrta slika)
139
Kamera v 3D-ju
Kamera v navideznem prostoru predstavlja gledišče oziroma
opazovalca. Zaradi analogije s fotografskimi, kinematografskimi in video kamerami ima tudi ta podobne nastavitve.
Osnovne karakteristike kamere lahko na grobo razdelimo
na tip, objektiv, razmerje točke in velikost slike.
Tipsko se kamera razdeli vsaj na klasično in ortografsko,
nabor ostalih pa je odvisen od vsakega programa posebej.
Ortografska kamera zazna samo dve dimenziji. Pri njej perspektiva ni vidna. Ta tip gledišča nam pride zelo prav, kadar
hočemo upodobiti samo eno stranico objekta. Za primer
lahko vzamemo stranski ris, naris in tloris pri prikazu nekega
proizvoda. Tako je viden samo z enega profila naenkrat in
primeren za načrte ali kataloge. Uporabimo jo lahko tudi za
upodobitev stranice objekta, ki jo bomo uporabili kot teksturo pri isti varianti objekta z manjšim številom poligonov.
To bi bilo smiselno v primeru, ko želimo nek kompleksnejši
objekt pretvoriti v preprostejšega zaradi uporabe tega v 3D
aplikacijah, ki delujejo v realnem času, kjer je nizko število
poligonov ključnega pomena.
Klasična navidezna kamera se obnaša podobno kot tiste
fizične, ki smo jih navajeni iz fotoaparatov in video ter kino
kamer. Najbolj pomemben podatek pri teh je objektiv,
katerega definiramo z goriščno razdaljo. Manjša ko je ta,
bolj širokokotno se odziva gledišče, in obratno: večja ko je
goriščna razdalja, bolj je obnašanje podobno teleobjektivu.
Slika 08.12. Objektiv z 8 mm in 24 mm goriščnico ter
ortografski pogled
140
Razmerje slikovne točke (ang. pixel aspect ratio) je podatek
o tem, koliko se razmerje med horizontalnim in vertikalnim
delom točke razlikuje od ena. Kadar upodabljamo za tisk
ali računalniški zaslon, je razmerje točke 1:1, torej kvadrat.
Video sistemi so bili realizirani veliko pred digitalno tehnologijo in imajo zaradi tega samosvoje razmerje, vsaj kar
se tiče primerjave z digitalnimi mediji. Zaradi tega se uporablja mnogokratnik, ki sliko priredi v preteklosti definiranim
formatom.
Slika 08.13. Razmerje točke 1:1 in 16:9
Na preglednici 08.01. je vidno razmerje med evropskim
PAL in ameriškim NTSC sistemom. Rec. 601 (Recommendation BT.601) je standard sprejet s strani Mednarodnega
združenja za telekomunikacije (International Telecommunication Union) – Sektorja za radiokomunikacije (Radiocommunications sector) za kodiranje prepletenega analognega
video signala v digitalnega. Poleg tega podatka se v tabeli
nahaja njegov digitalni približek (digital). Kadar delamo z
videom, je vsekakor priporočljivo obvladati in upoštevati
razmerja točke, saj se v nasprotnem primeru slika ne prilagodi zaslonu in se pojavi dodaten in moteč črn rob.
Velikost upodobljene slike podajamo v pikslih. Najsibo to
video sistem, računalniški zaslon ali statična slika za tisk
oziroma prikaz na digitalnih prikazovalnikih, je neobhodno,
da poznamo medij, za katerega bomo delali. Pri videu je
potrebno poznavanje resolucij zaslona, da se temu prilagodi končno upodobitev. Enote resolucij so piksli. Ta enota
velja ravno tako za prikaz na računalniških zaslonih. Kadar
upodabljamo sliko, ki bo uporabljena v tiskanem mediju,
moramo upoštevati ciljni proizvod. Razmerje med merski-
3D
Praktični primer
Za primer izračunajmo, koliko pikslov bi morala biti velika
slika, primerna za tisk na papir velikosti A4. Ta standard
pomeni velikost lista dimenzij 29,7 × 21 cm. Za tisk bomo
uporabili ločljivost 300 dpi. En palec (ali inča) meri 2,54
cm.
Preglednica 08.01. Tabela za razmerje točke v različnih
video sistemih
mi enotami za dolžino (metrične ali imperialne) in piksli je
imenovano kar po kratici dpi (pike na palec, ang. dots per
inch). To razmerje nam pove, koliko pikslov mora digitalna
slika vsebovati na dolžinsko enoto (v primeru dpi-ja na
palec). S tem tudi definira ločljivost tiskane slike. Pri tisku
revij, knjig, brošur in ostalih finih medijev, je priporočljiva
ločljivost od 250 do 300 dpi. Pri večjih medijih, kot so veliki
plakati, je dovoljšnja ločljivost od 50 do 72 dpi.
Včasih se za enote velikosti površine digitalne slike uporablja tudi enoto Mpix (mega piksli), ki nam pove koliko
milijonov pikslov se nahaja znotraj te površine. Ta enota
se uporablja takrat, kadar je razmerje stranic znano ali nepomembno. PAL sistem velikosti 720 × 576 pikslov ima tako
velikost približno 0,41 Mpix.
29,7 cm × 300 pix/inch
2,54 cm/inch
= 3508 pix
21 cm × 300 pix/inch
2,54 cm/inch
= 2480 pix
Odgovor je 3508 × 2480 pikslov. Tolikšna mora biti velikost
slike za upodabljanje v pikslih, če jo želimo natisniti na A4
velikost.
Če zmnožimo obe dimenziji v pikslih (3508 × 2480), dobimo
velikost potrebne slike v megapikslih. V našem primeru je
to približno 8,7 Mpix.
Praktični primer
Kako velik plakat bi lahko natisnili, če imamo na voljo upodobljeno sliko iz zgornjega primera? Uporabimo ločljivost
72 dpi.
3508 pix × 2,54 cm/inch
72 pix/inch
= 123,7 cm
2480 pix × 2,54 cm/inch
72 pix/inch
= 84,9 cm
Velikost našega plakata bi lahko bila 123,7 × 84,9 cm.
141
Dodatne nastavitve kamere
Nekateri pojavi so pri klasični kameri v fizičnem prostoru
očitni in samodejni, medtem ko jih moramo v digitalnem
nastavljati posebej. Če naštejemo tri tipske, s katerimi se
dnevno srečujemo, so to megljenje premika, globina polja
in stereoskopija.
Megljenje premika je pojav, ki je značilen za animirane
scene. Zamegljeni predmet tako postane širši in nakazuje
pot, ki jo je opravil v 1/25 sekunde (v PAL načinu) oziroma
1/30 sekunde (v NTSC načinu). Program pregleda in tudi
upodobi določeno število predhodnih in prihajajočih slik v
animaciji in jih prelepi čez trenutno upodabljajočo se sliko.
Bolj ko se ta pregled oddaljuje od upodabljajoče se slike,
manj je viden. S tem se doseže učinek zamegljenosti.
Vzemimo za primer megljenje premika pri treh korakih.
Poleg upodabljajoče se slike bo program upodobil še dve
predhodni in dve prihajajoči sliki. Pri slikah, ki sta dva koraka pred in za trenutno sliko, bo animiran predmet prilepljen
čez to s tretjino vidnosti (66% transparenca). Sliki, en korak
pred in za trenutno sliko, bosta vidni in prilepljeni čez njo z
dvema tretjinama vidnosti (33% transparenca).
Tudi če upodabljamo statično sliko, pri kateri bi radi prikazali dinamiko gibanja predmeta z megljenjem premika, moramo predmet, ki naj bi ta učinek prikazoval, animirati.
Globina polja sicer deluje po podobnem principu kot megljenje premika, vendar je razlaga znatno bolj kompleksna.
Pri tem učinku vemo, da bo predmet, na katerega je kamera
fokusirana, oster, medtem ko bo okolica okoli njega zamegljena tako, da bolj ko bo oddaljena od točke fokusiranja,
manj bo ostra.
Eden izmed principov je sferična rotacija prostora. Kamera
in točka fokusiranja sta vedno fiksni. Ta točka je poleg tega
tudi center krogle. Celotna scena se tako za določen kot
glede na točko fokusiranja zarotira v vse smeri enako. Bolj
ko je predmet oddaljen, bolj ga na ta način odmikamo od
142
Slika 08.14. Megljenje premika pri petih in petnajstih
korakih
svojega prvotnega položaja. Z večkratnim zamikom in lepljenjem v več položajih upodobljenih slik dosežemo želen
učinek globine polja.
3D
upodobimo samo enkrat za razliko od zgoraj omenjenih
postopkov. Hkrati nam program izračuna še informacijo o
globini, ki nam bo služila kot podatek o tem, koliko intenzivno naj se post procesiranje slike z megljenjem opravi na
določenem delu slike. Tam, kjer so objekti najbolj oddaljeni,
bo učinek največji in obratno: bliže ko so, manj je viden.
Ta način je znatno hitrejši od prvega, a hkrati tudi manj
natančen in prepričljiv. Prav nam pride le takrat, kadar imamo opravka z veliko globino polja, torej kadar ni potrebno,
da so oddaljeni objekti zelo zamegljeni.
Slika 08.15. Shema sferične rotacije prostora
Slika 08.17. Primer opisa globine polja s post procesiranjem:
nizka in visoka
Slika 08.16. Opis globine polja pri petih in petnajstih
korakih
Za potrebe stereoskopije je potrebno upodobiti dve sliki,
za vsako oko posebej. Kamera, ki smo jo nastavili, se bo za
določeno razdaljo oddaljila od svoje osi gledišča tako v levo
kot v desno. V praksi je to šest centimetrov, toliko, kolikor
sta človeški očesi narazen. V tem primeru se bo kamera
od svoje osi gledišča odmaknila po tri centimetre v vsako
stran. V kolikor želimo pretiravati s tem učinkom, povečamo
“medočesno razdaljo“. Tako upodobljeni sliki kasneje
uporabimo v stereografu.
Še en tipski način je uporaba konvolucijske matrike z nastavitvami megljenja (ang. blur). To je učinek, ki se ga aplicira na končno upodobitev in je eno izmed poglavitnih operacij v programih za obdelavo slik. V tem primeru lahko sliko
143
Upodabljanje
Zadnja faza pri izdelavi 3D slike je upodabljanje. Vse parametre, ki smo jih predhodno nastavili preko grafičnega vmesnika (geometrija, materiali, svetloba in dodatni učinki), program za izdelavo 3D računalniške grafike zbere in jih prične
izračunavati v končni izdelek – sliko. Upodabljanje je proces,
katerega čas izračuna je močno odvisen od velikega števila
dejavnikov: kako obsežna je geometrija, nastavitve materialov (še posebno odbojnih in prozornih), število in tip luči,
velikost upodabljajoče se slike in tako dalje. Z izkušnjami
bomo znali sceno tako optimizirati, da bo njena upodobitev
sprejemljive hitrosti, ne da bi pri tem znatno posegli v kvaliteto končnega izdelka.
Glavne nastavitve pred procesom upodabljanja so:
• velikost slike,
• mehčanje robov,
• redukcija šuma z vzorčenjem,
• globina rekurzije in
• shranjevanje.
Mehčanje robov
Mehčanje robov (ang. antialiasing) je proces navideznega
zaokroževanja ostrih robov, produkta digitalnih izpisov. Ta
tehnika ne velja samo za računalniško grafiko, ampak za celotno področje digitalnega procesiranja signalov, vključno
z zvokom.
Če vzamemo slednjega za primer, si lahko zamislimo, kakšen
je signal zvoka, ki pride direktno iz digitalnega nosilca zvoka.
Zvok je nazobčan, saj je omejen s frekvenco vzorčenja
(horizontalni del signala) in bitno globino (vertikalni del).
Pri standardni zgoščenki je prvi parameter 44.100 enot na
sekundo, drugi pa 65.536 (16 bitov). Surovi signal je oster in
škripajoč, zato se ga s posebnimi filtri za omejevanje visokih
frekvenc zaokroži in s tem zmehča.
Velikost slike
Kaj je velikost slike in kako jo izberemo, smo si ogledali
že predhodno pri opisu navideznih kamer. Večjo velikost
ko si izberemo, daljši bo čas upodabljanja. Ta čas se lahko
približno oceni z velikostjo površine slike. Slika velikosti
640 × 480 pikslov se bo tako upodabljala približno štirikrat
dlje kot ista, v velikosti 320 × 240 pikslov. Kadar postavitev
scene še testiramo, je modro upodabljati najprej pri nizkih velikostih, saj je izračun tako dovolj hiter, da si vsaj na
grobo ogledamo, ali nas ta postavitev zadovolji oziroma ali
potrebuje dodatne popravke. Če si izberemo za sliko predogleda velikost 320 × 240 pikslov in se nam bo ta upodabljala slabo minuto, lahko računamo, da se bo ista slika v velikosti A4 (3508 × 2480 pikslov) upodabljala več kot stokrat
dlje, torej dobro uro in pol.
144
Slika 08.18. Surov digitalni (rdeč) in s filtri zaokrožen signal
(moder)
V računalniški grafiki se soočamo s podobnim pojavom.
Robovi objektov na sliki so omejeni z ločljivostjo, ki jo imamo
na voljo. Tako kot je ta ločljivost v zvoku omejena s frekvenco vzorčenja in bitno globino, tako je v računalniški grafiki
omejena s piksli. Mehčanje robov ne poveča ločljivosti, ampak samo “pretenta” oko (ali uho), da je to storilo. Če si objekt, ki mu mehčamo robove, pogledamo od bliže, izgleda,
kot da je ta objekt zamegljen. Če ga pogledamo v velikosti,
ki mu je namenjena, pa ga vidimo mehko, z nemotečimi
ostrimi robovi.
3D
likim številom podatkov naenkrat. Zato obstaja več tehnik
vzorčenja, ki so sicer hitrejše, a manj precizne. V večini
primerov te zadostujejo.
Slika 08.19. Napis brez in z mehčanjem robov
Redukcija šuma z vzorčenjem
Določeni algoritmi pri upodabljanju zaradi približkov ali
pospeševalnih enačb povzročajo šume na sliki (na primer
ploskovni svetlobni izvor, megljenje premika, …). Eden izmed načinov, kako se temu šumu izogniti, je povečevanje
kvalitete izvorov, kar pa lahko včasih preveč upočasni upodabljanje. Z uporabo redukcije šuma z vzorčenjem (ang. supersampling) se lahko upremo temu stranskemu učinku na
drugačen, in večkrat hitrejši, način.
Redukcija šuma z vzorčenjem deluje podobno kot algoritem
za mehčanje robov, le na širši skali. To mu dovoljuje tako
mehčanje robov kot tudi vpliv na izolirane piksle, največkrat
v obliki neželenih šumov. Ta tehnika deluje tako, da za vsak
piksel izračuna več točk znotraj njega, kot da bi računal veliko večjo sliko in jo potem zmanjšal. Navadno se za vsak
piksel uporablja matriko dimenzij vsaj 2 × 2. Večja ko je, bolj
bo povprečje točk znotraj piksla natančno.
Slika 08.20. Povprečje barvne matrike velikosti 3 × 3
Najpreprostejše vzorčenje je seveda čisto aritmetično
povprečje celotne matrike, vendar je včasih tudi najbolj
izgubno glede časa in pomnilnika, saj mora operirati z ve-
Slika 08.21. Nekaj tehnik vzorčenja znotraj piksla: z enakomerno, naključno in z nagnjeno matriko
Za še hitrejši način redukcije šuma z vzorčenjem se uporablja tehniko prilagojenega vzorčenja (ang. adaptive supersampling), pri kateri algoritem najprej pregleda, kje na sliki
se pojavljajo robovi, ki bi jih bilo potrebno omehčati, in deluje samo na piksle, ki so v tistem območju. Na dele slike, ki
tega ne potrebujejo, ne operira.
Globina rekurzije
Optična rekurzija se v naravi pojavi ob nasproti si stoječimi
reflektivnimi objekti. Najbolj poznan primer tega pojava je
postavitev nekega predmeta med dve vzporedni ogledali, ki
sta obrnjeni eno proti drugemu. Odsev predmeta bo viden
teoretično v neskončnost, v vsakemu izmed obeh ogledal.
Realno se v naravi ta slika ne ponovi v neskončnost, ampak samo tolikokrat, dokler ne zmanjka odbite svetlobe, saj
nobeno ogledalo ni popolnoma reflektivno.
V programih za 3D računalniško grafiko imamo pri upodabljanju posebno nastavitev, ki omeji večkratni odboj žarka. V
kolikor tega ne omejimo, se slika ne bi nikoli upodobila, ker
bi se ujela v neskončno zanko. Pri definiciji globine rekurzije
je v večini primerov dovolj že vrednost tri. V kolikor je namen upodobljajoče se slike bolj izpostaviti ta pojav, jo lahko
zvišamo na poljubno število.
145
Shranjevanje
Ko sliko upodobimo, jo lahko shranimo v različnih komponentah, odvisno od tega, kaj od tega potrebujemo.
Najpogosteje se omejimo na shranjevanje samo informacije o barvi, torej vidnega dela slike same. V kolikor bomo
sliko nadalje obdelovali v zunanjih programih, lahko poleg
barvnega kanala posnamemo še druge, kot na primer alfa
kanal in informacija o globini.
Kot že omenjeno v poglavju o barvnih modelih je alfa kanal
podatek o transparenci. Če imamo v sceni samo polne objekte, bo ta informacija delovala monokromatsko: z belo
barvo bodo prikazana z objekti zapolnjena območja, s črno
pa ozadje, praznina. V primeru, da so pred prazno ozadje
postavljeni prozorni objekti, se bodo ti izrisali s sivinami,
odvisno od nivoja njihove transparence.
Informacija o globini je podatek o sliki, ki je prikazan podobno kot alfa kanal, le da se tukaj opisuje oddaljenost od
gledišča. Bliže ko je predmet, temnejša bo prikazana slika
in obratno.
Programi večinoma niso omejeni samo na te tri kanale, so
pa najbolj reprezentančni. Lahko shranjujemo tudi informacijo o odbojnosti, svetlosti in tako dalje.
Shranjevanje po namenu lahko razdelimo na:
• izris na zaslonu,
• shranjevanje posamezne slike in
• shranjevanje animacije.
Slika 08.22. Dvakratna (zgoraj) in dvaintridesetkratna (na
sredini) globina rekurzije v primeru objekta, ujetega med
dve vzporedni ogledali ter postavitev scene za ta primer
(spodaj).
146
Izris na zaslonu uporabljamo takrat, kadar nimamo potrebe
po samodejnem shranjevanju slike. Lahko jo sicer naknadno
shranimo, ni pa nujno. Tega načina se poslužujemo, kadar
delamo teste upodobitev. V tem primeru samo opazujemo,
ali se scena upodablja po naših pričakovanjih.
Preden program začne z upodabljanjem, mu lahko nastavimo možnost samodejnega shranjevanja posamezne slike.
Katerega formata shranjevanja se poslužujemo, je odvisno
3D
od tega, za kaj bomo sliko uporabljali in v kakšni kvaliteti.
Najbolj pogosti formati shranjevanja slike so:
• JPEG (Joint Photographic Experts Group) – ima izgubno
kompresijo, 24-bitno globino,
• TIFF (Tagged Image File Format) – z ali brez neizgubne
kompresije, podpira 8 ali 16-bitno globino na barvni
kanal, shranjevanje alfa kanala,
• TGA (Targa) – z ali brez neizgubne kompresije, 24-bitna
globina,
• BMP (Bitmap) – 24-biten, brez kompresije.
Vsekakor imajo programi kopico formatov za shranjevanje
slik, tako da uporabniku dopustijo čim večjo dinamiko glede
kasnejše uporabe in post procesiranja.
Kadar želimo upodabljati animacijo, imamo na voljo tudi
določeno število formatov, med katerimi so najbolj pogosto uporabljeni Quicktime, AVI (Audio Video Interleave)
in MPEG (Motion Picture Experts Group). Prva dva imata
tako možnost shranjevanja brez uporabe kompresije (zaporedje slik zapisano v eni datoteki) kot uporabo izgubne ali
neizgubne kompresije. Oba sta fleksibilna glede svoje uporabe zaradi kodekov (ang. codec, kratica za coder-decoder),
ki so vtiči teh dveh formatov. Glede na zahteve uporabe ani-
macije (video, splet, ...) je potrebno izbrati pravi kodek in
njegove interne nastavitve. MPEG je samostojen format in
ne potrebuje zunanjih vtičev, ker so vse njegove nastavitve
že vgrajene v njem samem. Na grobo je razdeljen na MPEG1
(starejši, a še vedno uporabljen sistem v računalništvu),
MPEG2 (uporabljen za DVD video in digitalne televizije) in
MPEG4 (osnova mnogim kodekom za Quicktime in AVI).
Čeprav je zelo udobno shranjevati animacijo v njej namenjenem formatu, je priporočljivo ta način zapisa uporabljati za namene predogleda manjših animacij. Kadar
se upodablja večje in zahtevnejše animacije, je vsekakor
bolj priporočljivo shranjevati zaporedje posameznih slik.
Tako lahko upodabljanje prekinemo in nadaljujemo, kadar
želimo, zaporedje slik pa potem naknadno lahko sestavimo
v animacijo v programih za nelinearno montažo. Poleg tega
nam shranjevanje v neizgubnih formatih dopušča možnost
naknadne obdelave ali montaže animacije, saj nam neposredno upodobljena animacija redkokdaj zadostuje in
večinoma potrebuje dodatne popravke.
Slika 08.23. Slika razdeljena na barvni kanal (levo), alfa kanal (sredina) in informacijo o globini (desno)
147
Dodatni učinki
Dodatne nastavitve pred
upodabljanjem
Če nam naše programje to dopušča, lahko apliciramo
teksturo na meglo. S tem dosežemo učinek dima ali zelo
kontroliranega upadanja megle, tako kot se to uporablja pri
teksturiranju materialov.
Obstajajo učinki, ki so neobhodni za opisovanje določenih
pojavov in ne spadajo v nobeno kategorijo predhodno
omenjenih pristopov, naj bo to modeliranje, definicija materialov, luči ali kamere. Kateri so ti učinki, je zelo odvisno
od programskega paketa, ki ga uporabljamo. Tudi kadar
imamo opravka z istimi učinki v različnih programih, je marsikaj odvisno od notranjih nastavitev.
Megla
Eden izmed dodatnih volumetričnih učinkov je megla. Kot
osnovne parametre ji lahko nastavimo barvo, minimalni
in maksimalni radij vpliva in krivuljo, po kateri bo potekala
(linearno, kvadratično itd.). Megla uporablja za svoje
delovanje informacijo o globini in na tej osnovi postopoma
prekriva objekte v svojem rangu.
Slika 08.25. Megla s teksturo
Okolica
Slika 08.24. Megla
148
Kadar želimo predmet upodobiti preko fotografije ali neke
druge slike, to definiramo kot okolico. Eden izmed načinov
je ozadje (ang. background, backdrop). To je slika, ki se
ujema s celotnim zaslonom. Kamorkoli obrnemo kamero,
bo to ozadje prikazano vedno na istem mestu, zato je pri
animaciji lahko uporabljeno samo takrat, kadar se kamera
ne giblje. Drugi način je objemajoče ozadje (ang. world
map). To ozadje se aplicira na zelo veliko prazno kroglo, ki
zaobjame celotno sceno. Pri uporabi teksture za tako ozadje
moramo upoštevati, da se bo apliciralo na kroglo in zato
mora biti tudi za to pripravljeno. Če se pri prvem načinu vidi
celotna slika, se pri tem drugem vidi samo tisti del, kolikšen
del krogle je viden v kameri. Tekstura za objemajoče ozadje
mora torej biti veliko večja od velikosti končne slike, ki jo
bomo upodabljali. Prednost tega načina je, da lahko kamero
poljubno premikamo po sceni, saj je ozadje definirano krogelno in zatorej pravilno vidno z vseh zornih kotov. Okolici,
3D
ki jo uporabljamo, lahko tudi dopustimo, da se bo odsevala
na objektih (v kolikor niso difuzni) in se tako bolje zlila s
sceno.
Navidezna okolica
Večkrat se nam pojavi primer upodabljanja predmetov
z odsevnimi površinami na enakomernih ozadjih. V tem
primeru se bo ozadje sicer odsevalo od objekta, vendar bo
njegova enakomernost navidezno sploščila objekt, ki bo s
tem izgubil nazornost svoje oblike. V fotografiji se v takšnih
primerih uporablja dodatno ozadje, ki pa ni vidno na sliki,
ampak je postavljeno izven scene. Tako imajo odsevni
predmeti kljub enakomernosti ozadja odsev, ki jim poudari
formo, in s tem pridobijo na plastičnosti in nazornosti. V
programih za 3D se lahko poslužimo istega trika. Še lažje:
ni nam potrebno postavljati predmetov izven zornega kota
kamere, katerih odsev bo viden samo na upodabljajočem
predmetu, ampak lahko za odsev uporabimo sliko.
Slika 08.26. Upodobljen predmet in ozadje
Slika 08.28. Upodobitev predmeta brez in z navidezno
okolico pri enakemu materialu
Slika 08.27. Sliki z uporabo objemajočega ozadja iz različnih
zornih kotov (zgoraj) in tekstura ozadja (spodaj)
149
Post procesiranje
Post procesiranje je obdelava slike potem, ko se je že upodobila. Lahko jo obdelamo interno, eksterno ali z vtiči.
O internem post procesiranju govorimo takrat, kadar program sam obdela sliko potem, ko jo je dokončno upodobil.
Prednost tega je, da program lahko uporablja za obdelavo
slike njene dodatne informacije (o globini, svetlosti, odbojnosti, ...). Enega izmed takih primerov internega post
procesiranja smo si že ogledali pri svetlobi, in sicer pri odboju luči v leči.
Eksterno post procesiranje je dodatno obdelovanje upodobljene slike v zunanjih programih. Prednost tega je, da
so ti programi specifično namenjeni temu in je zato obdelava lažja, bolj intuitivna, večinoma v realnem času ali vsaj
z omogočenim predogledom ter omogoča kompleksnejše
prijeme in kombinacije učinkov.
Uporaba vtičev (ang. plug-in) je prijem, ki deluje vmes,
med internim in eksternim post procesiranjem. Vtiči so
programi ali skripte, večinoma zunanjih programerskih hiš,
ki se dodajo že obstoječim internim učinkom programa za
3D računalniško grafiko. Ko jih ta program kliče, se izvedejo,
aplicirajo na upodobljeno sliko in jo nato vrnejo programu,
da jo shrani.
Slika 08.29. Nekaj primerov internega post procesiranja:
original (levo zgoraj), skiciranje (desno zgoraj), mehčanje
odsevov (levo spodaj) in anaglif (desno spodaj)
150
3D
151
Slika 08.30. Originalna slika z barvnim kanalom (levo), alfa kanalom (sredina) in informacijo o globini (desno)
Slika 08.31. Dva različna učinka post procesiranja z zunanjim programom
152
3D
Animacija
Animacija
Definicija animacije
Percepcija gibanja
Vztrajnost vida
Fi in beta fenomen
Začetki in razvoj animacije
Disneyevi principi animacije
Računalniška animacija
Definicija računalniške animacije
2D animacije
3D animacije
Začetki računalniške animacije in zgodovinski pregled
3D animacije
3D animacije po izgledu
Osnovni principi izdelave animacije
Parametri na voljo pri animiranju v 3D-ju
Osnovne deformacije
Hierarhija
Okostje
Morf
Mehansko-fizikalna dinamika
Definicija animacije
Animacija je rezultat postopka, ki tako v tehničnem kot v
umetniškem smislu ustvarja gibajoče slike (ang. motion
pictures). Gibajoče slike so zaporedje slik, ki so ena za
drugo predstavljene na določenem mediju in tako ustvarjajo optično iluzijo kontinuiranega gibanja. V časovnem zaporedju predhodno sliko ponavljajoče zamenja nova slika,
ki prikazuje majhno spremembo nekega stanja (velikosti,
oblike, barve, teksture in tako dalje) in/ali napredek gibanja. Spremembe stanja in gibanja so v realnosti večinoma
zvezni pojavi, v animacijah pa jih kot takšne dojamemo
zaradi specifičnega delovanja človeškega vidnega sistema
in percepcije.
vodena. Gibanja očesa delujejo v odvisnosti od pogojev
opazovanja, vrste gibanja objektov v okolici, časa opazovanja in pozornosti opazovanja.
Dokaz za presenetljiv obseg percepcije gibanja so tudi
optične iluzije. Te izigravajo večjo občutljivost človeškega
vizualnega sistema na relativno gibanje kot na absolutno
gibanje. Pri tem pomeni relativno gibanje glede na strukturirano ozadje, absolutno pa gibanje glede na statično
ali nevtralno ozadje. Kljub popolnoma statičnim slikam in
njihovim elementom povzročajo optične iluzije percepcijo
gibanja zaradi medsebojnega odnosa barv, oblik in kompozicije.
Percepcija gibanja
Percepcija gibanja omogoča zaznavanje sprememb hitrosti
in smeri gibanja objektov v okolici s pomočjo vizualnih in
čutnih vhodnih signalov, ravnotežnega sistema in gibanja
telesa.
Po interakciji svetlobe s fotoreceptorji v mrežnici očesa se
živčni signali prenesejo v možgane preko vidnega živca. Tu
se vizualne informacije obdelujejo v centralnem živčnem
sistemu možganskega talamusa, imenovanem lateralno
genikulatno jedro. To področje je sestavljeno iz šestih
plasti: štiri plasti zaznavajo obliko, teksturo in barvo, ostali dve plasti pa sta občutljivi na spremembe kontrasta, ki
omogočajo zaznavanje lokacije, sprememb pozicije slike in
detekcijo gibanja.
Celovit pojav detekcije gibanja in sprememb stanja je kompleks reakcij na različne vrste dražljajev. Dojemanje slednjih
je odvisno od delovanja dveh vrst detektorjev za gibanje, ki
omogočata drugačno dojemanje gibanja objektov v okolici
pri mirujočem vizualnem sistemu ali pri sočasnem premikanju oči in glave. Oko, kot biološki mehanizem za prejemanje vhodnih vizualnih informacij, lahko pri tem izvaja
do sedem različnih gibanj, ki so zavestno ali podzavestno
Slika 09.01. Optična iluzija
Vizualni sistem ni osamljen pri percepciji gibanja, saj šele
s pomočjo sodelovanja z drugimi sistemi poda popolne informacije o gibanju objektov (smer, hitrost, pospešek, trk).
Eden najpomembnejših izmed sodelujočih je ravnotežni
sistem, ki se nahaja v notranjem ušesu. Ta sistem zazna
155
tri osi gibanja glave: gor-dol, levo-desno ter poševne odklone. Njegovo delovanje je potrebno upoštevati predvsem
pri zahtevnejših aplikacijah 3D računalniške grafike. To je
primer 3D virtualnih okolij interaktivnih simulacij, kjer so
za celovito dojemanje dogajanja v simulacijo vključeni tudi
premiki glave in telesa.
“zadrževanja” slike, pa se vztrajnost vida v praksi zelo
izkorišča. Kot primer lahko navedemo enostaven eksperiment, pri katerem gledamo bel krog na temni podlagi.
Vztrajnost vida omogoča, da dojemamo svetlobo v obliki
kroga tudi nekaj trenutkov potem, ko zapremo veki in s tem
preprečimo direkten vhod svetlobe v oko.
Vztrajnost vida
Oko je optična naprava, ki omogoča vhod svetlobe v notranjost človeškega vidnega sistema. Kompleks mehanizmov,
med katerimi je vodilna zenica, določa čas osvetlitve slike
(ekspozicijo) in s tem jakost svetlobe (posledično količino
vidnih informacij), ki potujejo na mrežnico očesa. Hitrejše
potovanje svetlobe skozi očesni mehanizem, torej hitrejši
vhod vidnih informacij, v primerjavi z nekoliko počasnejšimi
biokemičnimi reakcijami na mrežnici in počasnejšim prenosom teh informacij preko vidnega živca v vidne centre
možganov, botruje pojavu, ki ga imenujemo vztrajnost vida
(ang. persistence of vision). Pojav izkoriščamo v animacijah
kot zaporedje slik, ki jih prikazujemo s takšno pogostostjo na
časovno enoto, da človeški vidni sistem zazna spremembe
med slikami kot zvezne. Ločljivost sprememb, ki jih vizualni
sistem lahko zazna, je odvisna od posameznika, vendar na
splošno velja, da pri 24-ih slikah na sekundo človeški vizualni sistem ne zazna preskokov med slikami in tako človekova
percepcija poveže zaporedje slik v zvezno gibanje oziroma
zvezne spremembe.
Slika 09.02. Eksperiment vztrajnosti vida in prisotnost tega
pojava v fotografiji
Fi in beta fenomen
Fi (φ) in beta (β) fenomen dokazujeta, da za vidno zaznavanje gibanja ni nujno potreben dejanski pojav premika objektov, temveč da je v določenih primerih videnje gibanja
lahko posledica človeške percepcije. Oba fenomena sta
povezana z vztrajnostjo vida.
Vztrajnost vida izkoriščamo na prikazovalnikih računalniške
grafike, video in filmske prakse tako, da prikazujemo število
slik na časovno enoto, ki presega mejno ločljivost človeškega
vidnega sistema in se posledično v primeru računalniških
animacij izognemo procesiranju in upodabljanju prekomernega števila slik. Kot že omenjeno v predhodnih
poglavjih, televizijski standardi, ki jih je prevzela tudi praksa
računalniških animacij, tako predpisujejo 25 (standarda PAL
in SECAM) ali 30 slik na sekundo (standard NTSC).
Osnova je fi fenomen, ki ga je leta 1912 odkril Max Wertheimer, ko je opazovalce testiral s prižiganjem in ugašanjem
fizično ločenih svetlobnih virov. Pri tem se je zastavljalo
vprašanje, ali opazovalci vidijo prehajanje svetlobe med
svetlobnimi viri ali ločene svetlobe vire, ki se vklapljajo z
določenim zaporedjem. Odkritje je predstavil v delu Eksperimentalne študije o videnju gibanja (ang. Experimental
Studies on the Seeing of Motion) in je pomenilo začetek razvoja psihologije percepcije (Gestalt psihologije).
Kljub temu, da medicinska znanost oporeka pojavu, pri
katerem naj bi človeški vidni sistem imel sposobnost
Eksperimentalno lahko fi in beta fenomen dokažemo tako,
da opazovalcem prikazujemo zaporedje nepremičnih slik
156
3D
z enostavnimi grafičnimi elementi, katerih lega se pri tem
nekoliko spreminja, ali pa se elementi zaporedoma prikazujejo in izginjajo na podlagi. Pri tem se postavlja vprašanje,
ali opazovalci zaznajo predstavitev kot ločeno prikazovanje
posameznih elementov, ali zaporedje sproža dodatno, novo
percepcijsko vrednost. Rezultati eksperimentov kažejo
na to, da večina opazovalcev zazna zaporedje kot gibanje
posameznega elementa po površini slike ali gibanje ozadja
oziroma barve ozadja, ki obkroža objekte.
Začetki in razvoj animacije
1
2
3
4
5
6
7
8
9
10
11
12
Slika 09.03. Fi in beta fenomen prikazana kot zaporedje slik
Dokazi, da se je človek zavedal svojega gibanja, segajo v obdobje prazgodovine. Viri iz tega obdobja namreč poročajo o
gibanju človeških in živalskih teles v obliki jamskih poslikav
in slikarskih del na zidovih ter posodi. Dinamika teles je bila
takrat predstavljena v obliki statičnih slik lova, kmetijskih
opravil, teka in drugih oblik gibanja. V nekoliko mlajši zgodovini se je gibanje prikazovalo predvsem kot zaporedje slik
določenega premika, kjer je bila vsaka nadaljnja slika nekoliko drugačna od prejšnje in s tem prikazovala spremembo
stanja telesa in gibanje.
Iluzija gibanja je bila mogoča šele s pomočjo naprav, ki so z
različnimi mehanizmi prikazovale zaporedje slik. Ti optični
pripomočki so se začeli razvijati v 19. stoletju. Najbolj znani
med njimi so bili taumatrop (ang. thaumatrope), fenakistoskop (ang. phenakistoscope) in zoetrop (ang. zoetrope).
Taumatrop je leta 1826 izumil dr. John A. Paris, fenakistoskop je prvi predstavil Joseph Plateau leta 1832, Wiliam
George Horner pa je zoetrop prvi uporabil leta 1834. Vse
tri naprave so vključevale določen vrteči element (valj, disk
ipd.), ki je omogočal kontinuirano prikazovanje zaporedja
slik.
Konec 19. in v začetku 20. stoletja je na tem področju sledilo kar nekaj novosti, ki so obenem omogočale tudi začetke
animacijskih tehnik in zvrsti animiranega filma.
157
Animacijske tehnike, ki jih danes poznamo, so:
• risana animacija,
• stop-motion animacija in
• računalniška animacija.
Zvrsti animiranega filma so definirane glede na material, ki
ga uporabljamo za izdelavo animacije.
Različni viri niso poenoteni pri navajanju začetnika animacij. Morda zato, ker ni posameznika, ki bi prevzel to
vlogo. Obenem pa so se animacijske tehnike razvijale na
zelo različne načine. Kot primer lahko omenimo filmarja
francoza Georgesa Mélièsa, ki je leta 1902 predstavil film z
naslovom Potovanje na luno (orig. Le voyage dans la lune).
V filmu je uporabil posebne učinke in različne trike kot na
primer prekrivanje slik, dvojna ekspozicija filma, obledelost
in mehanske poškodbe filma. Glede na nekatere vire je bil
prav on začetnik stop-motion animacije.
Anglež J. Stuart Blackton je bil po mnogih drugih virih
pravi pionir iste vrste animacij in človek, ki je prvi omenil možnost ustvarjanja iluzije gibanja s predstavitvijo
določenega števila slik filma na časovno enoto. Njegov film
z naslovom Humorne faze smešnih obrazov (orig. Humorous Phases of Funny Faces), pri katerem je za risanje poteka
zgodbe med dvema osebama uporabil kredo, je velikokrat
citiran kot prva risanka. Na tem mestu je potrebno omeniti
še Emilea Cohla in Maxa Fleischerja. Emile Cohl je v filmu
Fantazmagorija (orig. Fantasmagorie) leta 1908 prikazal
kombinacijo ročno narisanih elementov ter posnetkov žive
akcije. Max Fleischer pa je patentiral tehniko rotoskopiranja, ki je omogočala prikazovanje bolj gladkih prehodov med
zaporedjem slik ter je bil obenem “oče” znanih karakterjev
kot Betty Boop, Popeye in Superman.
V prvi polovici 20. stoletja so bile animacijske tehnike usmerjene predvsem v klasično risano animacijo (ang. celanimation, traditional, hand drawn animation), kjer je animator za vsak premik narisal novo sliko. Pomembno leto za
to tehniko je bilo 1910, ko je Earl Hurd (John Bray studio)
uvedel tehniko risanja posameznih slik na prosojne pole
celuloida, kar je skrajšalo čas prerisovanja ozadja slik. Uporaba celuloida je botrovala tudi imenu te animacijske tehnike (ang. cel-animation), ki se še vedno uporablja. Risana
animacija pomeni še danes klasično tehniko ustvarjanja
animiranih filmov. Postopek vključuje:
1. risanje ali slikanje posameznih (minimalnih) premikov
likov animacije v različnih slikarskih ali risarskih tehnikah
(svinčnik, oglje, tempera barve) na bolj ali manj prosojne
papirnate materiale ali folije,
2. sestavljanje zaporedja slik v zgodbo animacije ter
3. predvajanje zaporedja slik z različnimi postopki.
V prvi polovici 20. stoletja se je istočasno pričela razvijati
tudi tako imenovana stop-motion animacijska tehnika,
ki kljub pogosti uporabi v slovenskem prostoru še nima
primernega prevoda. Stop-motion animacija vključuje ve-
Slika 09.04. Izris motiva na antični bronasti posodi najverjetneje izdelani v 4. ali 5. stoletju našega štetja v Aleksandriji ali
Bližnjem Vzhodu, najdeni na prostoru Emone (lastnik in kraj hranjenja: Muzej in galerije mesta Ljubljana)
158
3D
liko tehnik, ki se imenujejo glede na material, iz katerega
so objekti, pa tudi postopek izdelave. Dogajanje v animaciji
dosežemo s snemanjem sprememb gibanja in premikov, ki
jih nato sestavljamo v zaporedje zgodbe. Najpogosteje se
uporabljajo:
• dejanski tridimenzionalni objekti (lutke, različni predmeti, glinene figure in figure iz plastelina),
• dvodimenzionalni ploskovni objekti (papir, kolaž) in
• animiranje človeškega telesa.
Sledilo je obdobje začetkov in razvoja studiev, ki so
omogočali nadaljnji razcvet klasične risane animacije. Studia kot sta Warner Bros Animation, ki je od leta 1933 deloval
v sklopu krovnega studia Warner Brothers, in Walt Disney
Animation Studios, ki je v okviru The Walt Disney Company leta 1934 začel s produkcijo, sta bila ustvarjalca znanih
risanih karakterjev, ki so preko medijev širili priljubljenost
te animacijske tehnike. Med njima gotovo bolj izstopa Walt
Disney Animation Studios, ki je v industrijo animacij tekom
20. stoletja vpeljal mnogo tehničnih in oblikovnih novosti.
Najpomembnejše novosti, katerih uporaba je danes že
privzeta v animacijskih tehnikah, so: realistične animacije s posebnimi učinki in človeškimi karakterji; uporaba
računalniške tehnologije za animiranje posameznih karakterjev; računalniško generiranje slik celotne animacije;
uporaba popolnoma digitalnih metod za celoten postopek
izdelave animacije ter uporaba zvočnih rešitev stereofonije
(predvajanje zvoka, ki omogoča prostorsko dojemanje) in
Dolby Digital (standardna zvočna aplikacija digitalne televizije).
Animatorji Disneyevih studiev so v 30. letih 20. stoletja tudi
objavili dvanajst principov animacije, ki so lahko koristno
vodilo pri ustvarjanju animiranih filmov tako ljubiteljem te
zvrsti kot tudi profesionalcem. Principi vodijo ustvarjalce
animacij v strukturiranje zgodbe in karakterjev, v tehnično
dovršenost objektov in scene animacij, v primerno pred-
Slika 09.05. Risana animacija (izsek iz animacije Socializacija bika, Zvonko Čoh, Milan Erič, 1998)
159
stavitev fizikalnih lastnosti, ki doprinesejo k realističnosti
animiranih scen, ter v primerno časovno konstrukcijo
posameznih akcij ter celotne zgodbe. V slovenskem jeziku
zaradi pomanjkanja virov na to temo nimamo primernih
prevodov Disneyevih principov animacije, zato bodo slednji
poleg angleškega izraza predvsem opisno predstavljeni.
Disneyevi principi animacije
Prvi princip je “stisniti in raztegniti” (ang. squash and stretch)
in določa deformacije objektov, likov in njihovih delov
(lahko tudi pri mehanskih interakcijah z drugimi objekti). V
določenih primerih lahko poudarjeno prikazana sprememba oblike (lastnosti) objektov doprinese h komičnosti likov,
lahko pa celo izpostavi spremembo stanja (telesa, oblike).
Drugi princip je “pričakovanje” (ang. anticipation), ki ga
dosežemo z upočasnjevanjem določenih kadrov. Uporabimo ga pri kadrih, ki jih želimo izpostaviti oziroma pri katerih
želimo pritegniti večjo pozornost opazovalca ali morda ustvariti določeno napetost/dramatičnost dogajanja.
Tretji princip je “postavitev” (ang. staging) in določa odnose
med vsemi elementi, ki so vključeni v neko sceno animacije.
Postavitev ne vključuje le objektov, odnosov med objekti
v sceni ter okolice, ampak posega tudi na nivo atmosfere
določene scene, dogajanja ter časovnega poteka.
Četrti princip posega v napredovanje dogajanja v animaciji
z dvema tipoma akcij: “neposredno napredujoča akcija in
akcija iz poze v pozo” (ang. straight ahead action and pose
to pose). Neposredno napredujoča akcija se uporablja v
sodobnih animacijah, ki so najpogosteje narejene s 3D
računalniško grafiko. Ta akcija vodi lik skozi napredujočo
akcijo z zaporedjem slik, ki upoštevajo zaporedne korake
akcije. Druga vrsta akcije iz poze v pozo se uporablja v 2D
animacijah in poudarja ključne poze lika, ki se lahko tekom
dogajanja ponavljajo.
Slika 09.06. Stop-motion animacija (izsek iz animacije Far
East Film Festival Trailer, Špela Čadež, 2009)
160
Peti princip nudi rešitve poteka akcije v smislu “spremljati
skozi akcijo ter prekrivajoče se akcije” (ang. follow through
3D
and overlapping action). To pomeni, da lahko pri prvem
načinu dogajanje v zvezi z likom prikažemo kot zaporedje,
nakar definiramo, kaj se bo z likom zgodilo po akciji. Pri
drugem načinu gibanje lika opremimo z dodatnim gibanjem in dogajanjem v sceni, ki bolj ali manj vpliva na osrednjo akcijo lika.
Šesti princip ­­­­– “pospeševati in upočasniti” (ang. slow in and
slow out) posega v dinamiko same animacije. Zaradi želenih
učinkov na gledalca lahko ustvarimo nelinearen potek
dogajanja skozi celotno animacijo. Tako lahko posamezne
dele animacije zavlačujemo z namenom prikazovanja podrobnosti dogajanja, ali pa za razumevanje zgodbe nepomembno dogajanje izpustimo, ne glede na to, da bi se
v realnem časovnem zaporedju moralo zgoditi. Ta princip
se lahko interpretira tudi v smislu gibanja samih likov, ki
zaradi fizikalnih zakonov ne poteka s konstantno hitrostjo
od začetka do konca, temveč je pri vsakem gibanju vedno
prisotno pospeševanje in pojemanje hitrosti.
Sedmi princip ­­­­– “loki” (ang. arcs) opozarja na fizikalno dejstvo, da gibanje živih bitij ne poteka premočrtno temveč po
določeni krivulji. To lahko predstavimo z enostavnim gibanjem človeka. Spremljanje ključnih točk telesa, ki sodelujejo pri gibanju (to so sklepi: komolci, kolena, medenični del),
pokaže, da se te točke gibajo po loku, ki bi mu matematično
lahko določili radij in kot. V primeru nenaravnih oblik gibanja, kot je recimo strojno in mehansko gibanje, tega principa seveda ne moremo vedno uporabiti.
potekom vplivamo na vzdušje zgodbe v animaciji.
Deseti princip “pretiravanja” (ang. exaggeration) je lahko
v animacijo vključen na zelo različne načine. Njegov cilj je
poudarjanje, izpostavljanje in karikiranje določenih elementov animacije, kot na primer oblike in karakteristik lika,
izpostavljanje dogajanja in določenih gibov. Učinek pretiravanja v širšem pomenu lahko dosežemo z modeliranjem,
lastnostmi luči in nastavitvami kamere.
Enajsti princip izpostavlja pomen “dovršenosti modeliranja in načrtovanja animacije” (ang. solid modeling), kar
posledično omogoča dodelano animacijo tako v oblikovnem kot tehničnem smislu. Zato je potrebno poznati in
upoštevati temelje anatomije živih in geometrije neživih teles, kompozicije, zakone gravitacije in delovanje ravnovesja,
svetlobne učinke in lastnosti senc.
Dvanajsti princip je namenjen predvsem vlogi režiserja in
vključuje “karakter lika” (ang. appeal), vendar ne le v smislu
njegovega značaja, temveč tudi v smislu lastnosti kot zunanji videz, način gibanja ipd.
Osmi princip pojasnjuje, da lahko s “sekundarno akcijo”
(ang. secondary action), ki jo dodamo osnovnemu gibanju,
dogajanje v animaciji postavimo v širši kontekst. Tako doprinesemo k realističnosti poteka dogodkov, ki se tudi v realnosti običajno ne dogajajo osamljeno.
Deveti princip vključuje “časovni potek” (ang. timing). Konstrukcija animacije mora vključevati načrtovane časovne
poteke bodisi v fizikalnem smislu, kjer upoštevamo dogajanje ter časovno razmerje med različnimi dogajanji v realnem svetu, bodisi v teatralnem smislu, tako da s časovnim
161
Slika 09.07. Primeri Disneyevih principov animacije 1, 2, 5, 6 in 10 (Igor Šinkovec, Bugbrain, zadnji primer je nastal po
stripovski predlogi Tomaža Lavriča)
162
3D
Računalniška
animacija
Definicija računalniške animacije
Računalniška animacija (ang. computer animation) ali s
kratico tudi CGI (Computer-generated imagery, Computergenerated imaging) pomeni ustvarjanje gibajočih slik s
pomočjo računalniške programske in strojne opreme, pri
tem pa iluzijo gibanja dosežemo s prikazovanjem zaporedja
slik na prikazovalniku tako, da predhodno sliko ponavljajoče
zamenja nova slika, ki je podobna prvi vendar z rahlo spremembo gibanja. Enako kot velja za vse animacijske tehnike
in standarde, mora prikazovanje računalniške animacije
upoštevati človeško percepcijo gibanja, torej prikazovanje
več kot 24 slik na sekundo. Glede na orodja in tehnike, ki
jih uporabljamo za izdelavo računalniške animacije, delimo
računalniške animacije na dvodimenzionalne (2D) in tridimenzionalne (3D).
2D računalniške animacije
Pri dvodimenzionalnih animacijah je na ploskem mediju
iluzija tretje – prostorske dimenzije ustvarjena s pomočjo
uporabe likovnih prostorskih ključev kot so senčenje in
uporaba perspektive.
2D bitne in vektorske animacije neposredno izhajajo iz
klasične in risane animacije, le da pri oblikovanju uporabljamo računalniško opremo. Iluzijo gibanja lahko dosežemo z
različnimi postopki, ki med ključnima slikama (začetno in
končno) ustvarjajo vmesne slike in posledično gladke – neopazne prehode. Ti postopki so lahko “postopek vmes” (ang.
tweening, inbetweening), morf (ang. morphing) in čebulna
lupina (ang. onion skinning).
Slika 09.08. 2D računalniška animacija (izseka iz animacije
Ignatz, Igor Šinkovec, Bugbrain, 2009)
računalniških vhodnih enot in uporabo programske opreme
za dvodimenzionalno grafiko. Iluzija gibanja likov je nato
omogočana s predvajanjem zaporedja slik.
2D vektorska računalniška animacija temelji na izključno
računalniško generirani iluziji gibanja tako, da zadostuje
računalniško podprto risanje začetne in končne pozicije
lika, na podlagi katerih računalniška programska oprema z
interpolacijo izdela vmesne slike.
Tehnika za 2D bitno računalniško animacijo je neposredna naslednica klasične risane animacije. Ročno risanje
posameznih slik gibanja likov animacije z različnim orodjem
na papir ali folijo je pri tem zamenjano z risanjem preko
163
3D računalniške animacije
Pri tridimenzionalnih animacijah z uporabo tridimenzionalnega koordinatnega sistema in njegovih matematičnih zakonitosti izdelujemo objekte v virtualnem 3D prostoru, kjer
namestimo objekte, luči in virtualno kamero.
Začetki računalniške animacije
in zgodovinski pregled
Napredki v digitalni tehnologiji so od 60-ih let naprej močno
vplivali na nadaljnje delo tako neodvisnih kot tudi komercialnih animatorjev. To obdobje je zarisalo novo animacijsko tehniko, tako imenovano računalniško animacijo, katere oblikovni in tehnični dosežki danes presegajo rezultate,
ki so jih slutili pionirji tega področja. Seveda je bilo za to
potrebno kar nekaj desetletij nenehnega lansiranja novosti
strojne in programske opreme.
Ko govorimo o začetkih računalniške animacije, ne moremo mimo treh imen: John Whitney, Stan Vanderbeek in
Ken Knowlton. John Whitney je bil v 60-ih letih 20. stoletja
raziskovalec zvoka in slik. Na osnovi vojaške opreme je sestavil mehanični analogni računalnik, ki je lahko pretvarjal
slike in znake. Stan Vanderbeek je s pomočjo televizije,
filma in računalnikov eksperimentiral z dinamičnimi slikami ter v filmih, v katerih je kombiniral klasične in digitalne
procese, uporabljal animirane kolaže, risane animacije, žive
akcije, video in računalniško grafiko. Klen Knowlton je leta
1963 razvil Beflix, programski jezik za produkcijo rasterske
animacije. Bil je tudi raziskovalec na področju percepcije in
prepoznavanja vzorcev (ang. pattern perception) in razvojnik algoritma, ki je digitaliziral, fragmentiral in rekonstruiral
sliko z uporabo točk.
Slika 09.09. 3D računalniška animacija (izseka iz animacije
Čikorja an’ kafe, Dušan Kastelic, Bugbrain, 2008)
164
Minilo je več kot 20 let razvoja in izboljšav, ko se je leta 1986
Disney še enkrat zapisal v zgodovino animacije z uporabo
računalniške grafike v filmu Mišji detektiv Basil (orig. The
Great Mouse Detective). Prva kombinacija računalniške
animacije z živo akcijo, ki je nastala pod vodstvom podjetja
Industrial Light & Magic (ILM), je bila predvajana leta 1989
v znanstveno-fantastičnem filmu Brezno (orig. The Abyss).
Ključni napredki računalniške animacije, ki so bili pomembni za nadaljnji razvoj, so bili prikazani tudi v filmih Terminator 2: Sodni dan (orig. Terminator 2: Judgment Day), ki
je bil predvajan leta 1991 in je vključeval obilico digitalnih
efektov in digitalno reprezentacijo človeškega telesa, ter v
fantazijskem filmu Jurski park (orig. Jurassic Park), ki je z
3D
realističnostjo računalniško oblikovanih podob dinozavrov
dokončno dokazal prednost uporabe računalniške grafike
pred uporabo klasične animacije.
Plodno sodelovanje studiev Disney in Pixar je leta 1995
omogočilo ogled prvega v celoti računalniško animiranega
filma Svet igrač (orig. Toy Story). Studio Disney je nato leto
za letom nizal uspešne animirane filme izdelane tako v 2D
kot v 3D tehnikah, katerih že sam seznam bi obsegal nekaj
strani. Ne glede na to, je vsako leto konkretno zaslovel le en
film, med katere v zadnjih letih spadajo: Reševanje malega
Nema (orig. Finding Nemo, 2003), Neverjetni (orig. The Incredibles, 2004), Avtomobili (orig. Cars, 2006), Ratatouille
(2007) in Wall-E (2008).
Disney studio je resda imel veliko desetletij monopol na
področju animacije in animiranih filmov, vendar pa so v
zadnjem desetletju 20. stoletja večjo veljavo začeli pridobivati tudi drugi studii: Warner Bros, Twentieth Century
Fox in DreamWorks. Studiu Warner Bros je pri tem uspel le
film Space Jam (1996), kjer se 2D animacija prepleta z živo
akcijo. Veliko priljubljenost tega dela je omogočila tudi prisotnost znanega ameriškega košarkarja Michaela Jordana.
Vsekakor pa sta odmevnejša studia Twentieth Century Fox
in DreamWorks, katerima je uspeh omogočilo sodelovanje
z različnimi specializiranimi studii za računalniško generirane animacije.
Twentieth Century Fox se je tako po prvem uspehu filma
v 2D tehniki, Anastazija (orig. Anastasia) leta 1997, publiki
najbolj priljubil s filmom Ledena doba (orig. Ice Age, 2002).
Z nadaljevanjem prigod bitij iz ledene dobe je potrdil svoje
veščine 3D računalniške animacije v drugem in tretjem delu
filma z naslovoma Ledena doba 2: Otoplitev (orig. Ice Age
2: The Meltdown, 2006) in Ledena doba 3: Zora dinozavrov (orig. Ice Age 3: Dawn on the Dinosaurs, 2009). Uspeh
trilogije filmov o ledeni dobi je sicer omogočil studio Blue
Sky Studios, ki je poskrbel za stilizirano oblikovanje likov v
3D tehniki in s tem utrl novo pot predstavitve animiranih
karakterjev poleg dobro uveljavljenega Pixarjevega realizma.
Nekoliko več referenc lahko omenimo za studio DreamWorks, in sicer 3D prvenec Mravljinec Z (orig. Antz, 1998)
o nevrotični mravlji, ki se upre tiraniji svoje kolonije, v 2D in
3D tehniki animirani film Egipčanski princ (orig. The Prince of
Egypt, 1998) in Pot v El Dorado (orig. The Road to El Dorado,
2000) ter najuspešnejši film tega studia v 3D tehniki Shrek
(2001). Sledil je niz uspešnih filmov kot Kraljestvo morskega psa (orig. Shark Tale, 2004), dva dela animiranega filma
Madagaskar (orig. Madagascar, 2005 in 2008), Čebelji film
(orig. Bee Movie, 2007) in Kung Fu Panda (2008).
Slika 09.10. Izsek iz filma Toy Story (Disney/Pixar, 1995)
165
3D animacije
Tako kot v klasični tehniki risanih animiranih filmov, je tudi
v 3D grafiki princip animiranja zaporedje slik. Kljub temu,
da vsaka od njih zahteva svojo upodobitev, lahko programi
dopolnijo ali avtomatizirajo veliko slik in s tem prihranijo
animatorjem rutinska dela.
Animacije v 3D-ju bi lahko razdelili na predupodobljene in
tiste, ki se izvajajo v realnem času. Predupodobljene animacije upodobimo po doslej opisanih tehnikah modeliranja, postavljanja v sceno, upodabljanja in po potrebi post
procesiranja in nelinearne montaže. Na ta način so narejeni
animirani filmi, videi, filmski posebni učinki in podobno. Ta
način je neodvisen od časa upodobitve ene slike animacije,
ki lahko traja od nekaj sekund do več minut. Zato, ker nismo omejeni s časom upodobitve, so lahko scene tehnično
kompleksnejše.
Nasprotne temu so animacije, ki se izvajajo v realnem
času. Ena slika teh animacij se mora upodobiti v največ
1/25 sekunde (v kolikor uporabljamo sistem s 25 slikami na
sekundo). Ta tip animacij zahteva tako optimizacijo scene
z različni prijemi, kot so redukcija poligonov, nekompleksni
vizualni učinki in materiali. Za svoje predvajanje potrebujejo tudi dovolj zmogljivo strojno opremo. Animacije, ki se
izvajajo v realnem času, se uporabljajo tam, kjer obstaja
potreba po interakciji med uporabnikom in strojno opremo
(simulacije, video igre in tako dalje). V ta tip animacij spada tudi machinima, zvrst animiranih filmov, ki se prav tako
izračunavajo pred našimi očmi.
V televizijskem svetu se vedno več uporablja kombinacija
navideznih prostorov, ki se mešajo skupaj z nasnetim materialom, kot je na primer napovedovalec. Animacije, ki jih
primešamo, so lahko obeh zgoraj omenjenih tipov.
166
Slika 09.11. Razvrstitev 3D animacij
3D animacije po izgledu
Klasične, na roko risane risanke, ponujajo široko paleto
stilov in pristopov, odvisno od zgodbe, namena, avtorjev,
trendov in tako dalje. Prav tako nam računalniške animacije
dajo na voljo veliko manevrskega prostora in se jih estetsko
lotimo, kakor nas je volja.
Stil 3D animacij po izgledu delimo na:
• fotorealizem,
• nefotorealizem,
• stiliziran fotorealizem in
• simulacijo klasične animacije.
Fotorealizem (ang. photorealism) se poskuša vizualno
čim bolj približati opisu realnega sveta, kredibilnosti fotografije. Izgled, učinki in način premikanja elementov
težijo k opisovanju tistih, ki smo jih navajeni iz filma ali videa. Fotorealistične animacije so v večini primerov uporabljene kot dodatek že predhodno posnetim filmom, obstajajo pa tudi primeri samostojnih animiranih filmov s tega
področja.
3D
Nefotorealizem (ang. non-photorealism) je uporaba 3Dja neozirajoč se na to, kako bo izdelek spominjal na realni
svet. Tukaj so pomembni samo plastična forma, vključno s
senčenjem, in materiali, tako da animacija kljub približkom
in interpretaciji avtorjev deluje prostorsko. Tudi za like in
okolico ni potrebe, da se po izgledu ali proporcih ozirajo na
naravo.
Stiliziran fotorealizem je vmesni člen obeh predhodno
omenjenih stilov 3D animacij po izgledu. Iz fotorealizma
uporablja materiale, senčenje in gibe, medtem ko imajo liki
in okolica več kreativne svobode.
Slika 09.12. Fotorealizem v 3D računalniški grafiki (izseka iz
animacije Undo, Platige Image / Marcin Waśko)
Slika 09.14. Stiliziran fotorealizem v 3D računalniški grafiki
(izseka iz animacije Thumbelina, Kolektivni Kartoni)
Slika 09.13. Nefotorealizem v 3D računalniški grafiki
167
S 3D računalniško grafiko lahko simuliramo tudi klasično
animacijo. Medtem ko je za 3D grafiko značilno senčenje,
tega pri klasični, risani animaciji ni. Ploskve so enakomerne
in sence so ostro, tudi ploskovno nakazane. S posebnimi
filtri v nastavitvah materialov lahko senčenje približamo
tistemu iz klasičnih animacij. Lahko ga pa tudi popolnoma
izničimo. Tako bo 3D objekt deloval plosko. S tem načinom
dodamo učinek ploskovnega senčenja vsakemu materialu
posebej in s tem lahko takšne, ploske like kombiniramo s
klasičnim, senčenim 3D ozadjem, ali obratno.
Osnovni principi
izdelave
3D animacije
Ko imamo postavljeno sceno v programu za 3D računalniško
grafiko, lahko marsikaj zanimiramo: fizične premike gradnikov (objekti, kamere, luči), njihove parametre, že obstoječo
geometrijo in dodatne posebne učinke.
Načini operiranja pri izdelavi animacije so:
• definicija začetnega in končnega stanja v časovnem
odseku,
• parametrično operiranje,
• zajem premika in
• posebni učinki.
Slika 09.15. Simulacija klasične animacije v 3D računalniški
grafiki (izsek iz animacije Tales of the Sunrise Tree, Kolektivni
Kartoni)
V večini primerov v izdelavi animacije se bomo posluževali
prvega načina operiranja – definicije začetnega in končnega
stanja v časovnem odseku. Recimo, da želimo premakniti
objekt iz točke A v točko B v določenem časovnem odseku.
V času nič bo objekt na svojem začetnem položaju. Objekt
premaknemo na točko B in v programu določimo, koliko
časa naj ta objekt do tja potuje. Program bo sam izračunal
vse vmesne pozicije premika. To je tudi najpreprostejša operacija v animiranju. V večini primerov se nam zgodi, da imamo na desestine takšnih premikov naenkrat, še posebej,
kadar animiramo zelo kompleksne scene, v katerih nastopa
veliko objektov.
Neko časovno odvisno enačbo lahko uporabimo kot osnovo
parametričnemu animiranju. Sinusno krivuljo lahko na
primer uporabimo kot vir nekega enakomernega gibanja.
Če bi takšno gibanje želeli animirati po prej omenjenem
načinu, z definicijo začetnega in končnega stanja, bi nam
to vzelo obilico časa, saj bi morali položaj zibajočega se
predmeta nastavljati vsako četrtinko periode posebej.
Oba načina lahko tudi kombiniramo med seboj. V naravi
se redkokaj premika linearno in enakomerno, zato lahko
parametrični sistem animiranja uporabljamo kot dodatek
168
3D
za različne motnje. Če animiramo kamero z začetnim in
končnim položajem, dosežemo njen čist in linearen premik.
Ob dodatku parametričnih motenj se bo kamera poleg
premikanja tudi tresla, s čimer bomo dosegli učinek, kot da
bi navidezen operater držal kamero v roki.
Zajem premika je tehnika, ki se izvede v fizičnem svetu in se
v glavnem uporablja za animiranje ljudi in antropomorfnih
likov. Igralec v studiu si obleče podatkovno obleko, ki ima
elektronski senzor na vsakemu izmed sklepov. Ob gibanju
igralca ti senzorji pošiljajo računalniku informacijo o svoji
poziciji. Računalnik zbira sekvenco premikov za vsak člen
posebej. Ti zajeti premiki se kasneje aplicirajo na 3D lik, ki
ga želimo animirati v navideznem prostoru. S tem dosežemo
presenetljivo naravnost premikov lika kljub temu, da je ta
računalniško generiran.
Slika 09.17. Primer posebnega učinka
Parametri na voljo pri animiranju v
3D-ju
Osnovne deformacije
Osnovne deformacije, takšne, kot smo že opisali v modeliranju, torej sprememba velikosti, premika in nagiba, so
tudi najosnovnejši akterji v animiranju objektov. Za primer
vzemimo kocko, ki ima na začetku animacije določeno lego
v prostoru (Slika 09.18., skrajno levo). Določimo ji še končno
stanje, prikazano na peti sliki, kjer ji bomo spremenili velikost in nagib. Program bo sam izračunal stanje kocke na
drugi, tretji in četrti sliki. V našem primeru je ta animacija
sestavljena iz petih slik, po želji pa je lahko ta odsek poljubno dolg.
Slika 09.16. Zajem premika
Med posebne učinke lahko štejemo posebne operatorje,
ki jih ne moremo kategorizirati z do sedaj opisanimi prijemi. Sicer lahko v to kategorijo spravimo marsikaj oziroma
karkoli. Velja opozoriti na animiranje gruče točk ali partiklov,
katere smo že omenili v poglavju o proceduralnih objektih, bolj podrobno pa so predstavljeni v poglavju Posebni
učinki.
169
Slika 09.18. Animiranje kocke z definicijo začetnega in končnega stanja v časovnem odseku
Hierarhija
Objekt je lahko sestavljen iz večih podobjektov ali plasti.
Kadar operiramo nanje, lahko animiramo vsakega posebej
neodvisno enega od drugega. Če želimo določenim podobjektom dodati neko prioriteto, moramo uporabiti hierarhijo. Objekt, ki bo imel najvišjo pozicijo v hierarhiji, bo
nadvladal vsem svojim podobjektom. Kadar operiramo na
njega, se ista vrednost operacije prenese tudi na vse ostale
podobjekte, ki so niže v hierarhiji. Operacije na takšnem
podobjektu, ki je hierarhično višje, ne vplivajo. Podobjekt,
ki je najnižje v hierarhiji, ne vpliva na noben drugi podobjekt, le sam nase.
Praktični primer
Na voljo imamo preprost kopač, ki je sestavljen iz štirih kosov: telo, roka v dveh delih (nadlaht in podlaht) ter lopata.
Definirajmo mu hierarhijo podobjektov tako, da bo telo
imelo najvišjo prioriteto. Takoj za njim del roke, ki se drži
telesa, za njo drugi del roke – podlaht, kot najnižji del v
hierarhični lestvici pa bo lopata. V našem primeru bomo na
te dele operirali samo z nagibom.
3
2
4
1
Slika 09.19. Hierarhija podobjektov na kopaču: 1 – najvišja,
4 – najnižja
V prvem delu zarotiramo telo kopača za kot približno trideset stopinj. Ker ima telo najvišjo vrednost v hierarhiji, bo ta
operand vplival tudi na vse ostale podobjekte.
Slika 09.20. Rotacija najvišje prioritetnega podobjekta
170
3D
V drugem delu vplivamo na ostale tri podobjekte v hierarhiji: oba dela roke in lopato. Nadlaht premakne poleg sebe
še ostala dva podobjekta. Ko drugi del roke privzdignemo,
vidimo, da mu lopata sledi, saj je še edini podobjekt, ki je
hierarhično nižji. Lopato v istem zamahu nagnemo navzdol.
Vidimo, da ta operacija ni vplivala na nič drugega, kot nanjo
samo.
Slika 09.22. Osnovni objekt s svojim okostjem (skrajno levo)
in različne deformacije geometrije
Kosti pričnemo graditi od spodaj navzgor. Začnemo na dnu
kvadra, s čimer mu hkrati določimo tudi težišče. Kosti z nižjo
prioriteto gradimo eno nad drugo enake velikosti, dokler
jih ne dodelimo skupno štiri. Kosti imajo tako tudi definirano hierarhijo: spodnja z najvišjo prioriteto in zgornja z
najnižjo.
Slika 09.21. Rotacija drugega, tretjega in zadnjega člena v
hierarhiji
Okostje
Okostje je informacija o načinu deformacije geometrije
nekega objekta. Okostje samo, tako kot gruče točk, ni vidno.
Je samo baza podatkov, ki jo apliciramo na že obstoječi objekt. Tudi kosti so razdeljene po hierarhiji in sledijo istemu
obnašanju, kot se to dogaja v hierarhiji podobjektov. Objekti, na katere apliciramo okostje, so glede deformacije svoje
geometrije odvisni od števila poligonov, iz katerih so sestavljeni. Iz več poligonov ko so sestavljeni, lepše in mehkejše se
bo geometrija objekta deformirala.
Praktični primer
Za ogled principa delovanja kosti si bomo ogledali po vertikali razdelan kvader, na katerega nanesemo okostje.
Pokončen kvader bo imel tudi okostje pokončno, saj se
mora to vedno čim bolje prilagajati objektu, zaradi čim
boljšega nadzora nad deformacijo geometrije.
Slika 09.23. Primer modela preprostega človeka in njegovega okostja (poenostavljena verzija)
Ena najkompleksnejših nalog animatorjev je delo z modeli
ljudi ali živali. Tem moramo zelo natančno definirati okostja, tako da se ujemajo z njihovo realno anatomijo. Na sliki
09.23. je prikazan poenostavljen model človeka z njegovim
okostjem. Tu so opisani samo glavni zglobi, brez detajlov kot
so prsti, dlani, stopala in tako dalje. V kolikor želimo imeti
popoln nadzor nad objektom človeka, bo moralo njegovo
okostje biti veliko bolj dodelano in premišljeno. Tudi zaradi
avtomatizacije določenih gibov in omejitev. Z omejitvami
določimo kostem, do katere meje se bodo gibale: ramenski
zglob, na primer, se ne bo mogel premikati veliko več kot
180° v vsaki izmed smeri. To bo omejitev te kosti. Ostalim
kostem pa omejitve določimo glede na njihovo obnašanje
v strukturi okostja.
171
Morf
Operacijo spreminjanja oblike iz ene v drugo imenujemo
morf (ang. morph). Objekt se lahko v določenem časovnem
odseku spremeni iz ene oblike v drugo. Omejitev primarne
in končne oblike je v tem, da morata obe imeti enako število
verteksov, ki so med seboj enako povezani pri obeh objektih. Najbolje je, da se končni objekt naredi iz primarnega.
Tako smo gotovi, da bo ta pogoj izpolnjen. Lahko imamo
nabor večih končnih objektov, ki jih uporabljamo kot destinacijo prehoda. To nam pride prav v primeru, ko animiramo
obrazno mimiko nekega lika. Brezizrazen obraz vzamemo za
primarno situacijo, naknadno pa naredimo nabor izrazov, ki
jih bomo po želji časovno vklapljali v animaciji.
Mehansko-fizikalna dinamika
Čeprav se s predhodno opisanimi tehnikami da opisati veliko mehanskih pojavov v fiziki, lahko postane ročno animiranje teh zamudno in večkrat neprepričljivo. Programi za 3D
računalniško grafiko imajo tako nabor osnovnih mehanskih
dogodkov, katere lahko med seboj kombiniramo.
S kolizijo dodamo predmetu trdnost. Če tega ne naredimo,
bo objekt sicer viden v sceni, vendar bo ob interakciji z drugim objektom deloval kot “duh” – ta bo šel skozenj, kot da
ga ni tam. V kolikor ima predmet kolizijo definirano, se bo
drugi (ki ima nastavljeno upoštevanje fizikalnih parametrov)
obenj zadel. Kako se bo obnašal dalje, je odvisno od na-
daljnih nastavitev: se bo nanj sprijel, se od njega odbil ali pa
se bo odbil stran objekt, v katerega je zadel.
Skupini objektov ali vsakemu posebej lahko določimo vpliv
gravitacije. Tudi ta ima kar nekaj dodatnih nastavitev: intenziteto (v m/s2), smer in moč. Gravitacija sicer deluje na
vse elemente enako. Če v vakuumu spustimo ptičje pero in
tono težko vozilo z iste višine, bosta v enakem času dosegla tla, v ambientu z atmosfero pa se spuščata z različno
hitrostjo: pero ima manjšo težo in veliko površino in bo zato
zaradi zračnega upora potrebovalo več časa, da doseže tla
v primerjavi s težjim predmetom. Torej, kljub temu, da je
gravitacija konstantna, s tem teoretično ne moremo simulirati teže. Da to dosežemo, moramo objektom določiti, kako
močno bo gravitacija vplivala nanje. S tem smo jim določili
težo v atmosferi.
Podobno kot ima gravitacija vpliv na objekte, kjer jim definira vektor premika v prostoru, tako imamo še en dodaten učinek – veter. Veter lahko kombiniramo z gravitacijo.
Določimo mu smer (lahko tudi krivuljo) in moč. Tudi tukaj
bo veter različno deloval na različne objekte, odvisno od
tega, kakšno težo smo jim določili.
Kadar naj bi bili objekti sestavljeni iz trdnih materialov, jim
lahko to tudi določimo. Tak predmet se bo fizikalno pravilno
obnašal do predmetov, katerim je bila določena kolizija. Ob
trku z njimi se bodo od njih odbili ali prilepili nanje, ne da bi
se geometrijsko deformirali. Nasprotno velja za mehke ma-
Slika 09.24. Morf iz primarnega (skrajno leva slika) do končnega (skrajno desna slika) stanja; vmesne tri faze program
izračuna sam
172
3D
teriale. Tudi ti se ob trku s kolizijskimi predmeti lahko prilepijo ali odbijejo, vendar se hkrati tudi deformirajo. Koliko
in kako, pa je spet odvisno od tega, kakšne mehanske lastnosti materiala smo jim določili: naj simulira gumo, spužvo
ali nekaj samosvojega po naših nastavitvah. Deformacija ni
permanentna. Objekt se pri odmiku od kolizijske površine
geometrijsko vzpostavi v prvotno stanje.
Varianta mehkih materialov, a s popolnoma drugačnega
vidika, so tkanine. Ta učinek je primeren za objekte s
površinsko geometrijo in nam simulira njihovo deformacijo v stilu tkanin, pletenin, najlonov, papirja in podobnega.
Za uspešen učinek tkanin se mora objekt s to lastnostjo
dotakniti kolizijskega objekta. Tukaj so pomembne mehanske lastnosti materiala, kot so njegova gostota, teža in
prožnost.
Slika 09.25. Razpad objekta iz trdega materiala glede na gravitacijo
Slika 09.26. Trk objekta iz mehkega materiala na kolizijski objekt – tla
173
1.
2.
3.
4.
5.
6.
7.
8.
9.
Slika 09.27. Potek padanja objekta tkanine (z definirano gravitacijo) na kolizijski objekt – kocko
174
3D
Posebni učinki
Posebni učinki
Kombinacija zajete slike in 3D-ja
Frontalno mapiranje
Fiksno frontalno mapiranje
Ukrivljeno ozadje
Zelena zavesa
Partikli
Delovanje mehanske fizike na partikle
Gneča
Vlakna
Namen posebnih učinkov je prikazovati neke fiktivne ali
posebne situacije, vzporedno s fotografijo. V filmski industriji so se posebni učinki pojavili že zelo zgodaj, praktično
vzporedno s kinematografijo samo. Te učinke so takrat delili na optične in mehanske. Pri optičnih se je kombiniralo
različne fotografije oziroma uporabljalo kamero kot orodje
za te učinke. Primer: avto, ki je bil lociran v studiu, za njim
pa se je projicirala premikajoča se okolica. Mehanski učinki
so vsebovali makete, pirotehniko in masko.
V drugem delu se bomo ukvarjali z že omenjenimi partikli
oziroma gručami točk. Te lahko poljubno vodimo z nekaterimi mehansko-fizikalnimi zakonitostmi, kot so gravitacija, katapultiranje, odboj, veter in tako dalje.
V zadnjih dvajsetih letih so se tem načinom prišteli še
posebni učinki, dodani z digitalno post produkcijo in 3D
računalniško grafiko. Ta je izdelovalcem filmov in videov
dodala nove možnosti, večkrat bolj prepričljive, z večjim
nadzorom in včasih tudi mnogo cenejše.
Kadar se snema film ali video, pri katerem bomo kasneje
uporabljali posebne učinke, moramo to upoštevati že takoj
na začetku, pri samem snemanju. Tako si lahko zapisujemo
razdalje objektov, uporabljeno opremo (tip filma, objektive,
zaslonke, ...) in upoštevamo prostor, kamor bodo dodani
objekti v post produkciji.
Posebni učinki (ang. special effects ali special FX) v animaciji
so lahko mišljeni kot dodatni triki, ki ne sodijo med njene
osnovne principe, ali pa so njihova kompleksna kombinacija. To poglavje samo bi lahko zahtevalo celotno knjigo,
namenjeno prav tej temi, saj je pristopov za posamezne situacije nešteto. Prav toliko je tudi rešitev oziroma pristopov
za reševanje teh.
Ogledali si bomo samo tri primere kombinacije zajete
slike, torej fotografije, videa ali filma, s 3D-jem, da dobimo
občutek, kako se v filmski, televizijski in igričarski industriji
lotevajo posebnih učinkov na tej skali. Možna je obojna
kombinacija: posneta okolica in računalniško generirani
objekti na njej ali obratno, posnetek realnega objekta pred
zeleno zaveso in dodajanje navideznega okolja.
177
Kombinacija zajete
slike in 3D-ja
Frontalno mapiranje
Za namen kombinacije 3D-ja s fotografijo oziroma videom
ali filmom lahko uporabimo slednje za ozadje, preko katerega upodabljamo objekt ali sceno. Ta način smo si že
ogledali pri nastavitvah upodabljanja. Fotografija se izrisuje
v ozadju, le-to pa lahko objekt uporabi tudi za informacijo
o okolici, kadar uporablja material z odsevnostjo višjo od
nič. Kakorkoli, ta metoda je pri kombiniranju fotografije in
3D-ja zelo omejena. Nima namreč informacije o geometriji
objektov, ki se nahajajo na fotografiji.
Ta pristop lahko nadgradimo z metodo frontalnega mapiranja (ang. frontal mapping), včasih imenovanega tudi
mapiranje kamere (ang. camera mapping). Potrebno je
zmodelirati okolico, ki je na fotografiji: tla, zidovje, odprtine,
skratka vse, kar je na tej sliki relevantno kot informacija o
prostoru. Tem objektom nato dodelimo teksturo okolice
z metodo frontalnega mapiranja. Ti objekti sicer ne bodo
posebno vidni, vendar se bo fotografija pravilno obnašala
po svetlobnih zakonitostih do objekta, ki ga upodabljamo
na njej.
Primer na tej strani obravnava najpreprostejšo možno va-
Slika 10.01. Prikaz žičnega modela postavitve scene na
fotografijo
rianto uporabe frontalnega mapiranja, in sicer s samo eno
ploskvijo, ki predstavlja tla, predstavljena na fotografiji. Na
primerih je vidno, da upodobljeni objekt, v našem primeru
leteči krožnik, pravilno meče senco na tla in tudi odsev na
njem se lepo ujema z okolico.
V kolikor bi se takšna scena dogajala v zaprtem prostoru,
bi bilo potrebno zmodelirati celoten prostor in seveda
upoštevati način in smer osvetlitve.
Kadar delamo z videom, se bodo morali tudi frontalno mapirani objekti premikati tako, da sledijo fotogramom.
Slika 10.02. Kombinacija objekta in fotografije okolice s principom frontalnega mapiranja
178
3D
Fiksno frontalno mapiranje
Varianta frontalnega mapiranja je fiksno frontalno mapiranje. Tekstura je podobno mapirana na objekte, le da tukaj
sledi geometriji predmetov na fotografiji. Ta tekstura bo fiksirana na objekte in bo neodvisna od okolice.
Za lažje razumevanje si oglejmo primer fotografije s posnetkom notranjega prostora. Objekt za simulacijo takšnega
interierja bo zelo preprost, saj načeloma rabimo samo tri,
med sabo pravokotne, ravne plošče. Potrebno je dobiti
pravilno lego kamere, njene nastavitve in velikost objektov, da se čim lepše priležejo sliki. Priporočljivo je vedeti,
s kakšnim objektivom je bila scena poslikana, saj nam bo
ta podatek izredno olajšal proces ujemanja fotografije na
sceno. Objekt frontalno zmapiramo in dodelimo opcijo fiksne teksture, ki bo zaobjela objekt. Če kamero ali objekt
samo malenkostno premikamo, bo ta tekstura pravilno prilepljena nanj in dobili bomo občutek, da se kamera resnično
giblje po fotografiji, kot je vidno na fotogramih.
Slika 10.03. Prikaz postavitve žičnega modela (modre linije)
na fotografijo
Tej tehniki se včasih reče tudi 2.5D, ker deluje vmes med
ploskovnim in prostorskim doživljanjem slike. Velja pa tudi
vedeti, da se takšne predmete (ali kamero, ki jih opazuje)
lahko samo malo premika, saj bi se sicer tekstura preveč
iznakazila in naš trik ne bi uspel.
Slika 10.04. Priprava slike za mapiranje na levi in desni
objekt
Slika 10.05. Kombinacija objekta in fotografije okolice s principom fiksnega frontalnega mapiranja
179
Ukrivljeno ozadje
V studijski fotografiji se veliko uporablja ozadje, ki ima
rob prehoda med vertikalnim in horizontalnim delom zelo
omehčan. Tako ta rob ni videti moteč, kot bi se sicer pojavil
pri ostrem prehodu, recimo, če bi predmet slikali na tleh
sobe pred steno. Fotografija, posneta na ukrivljenem ozadju, ima zatorej mehko in enakomerno ozadje, to pa poudari
predmet, ki je glavni akter na sliki.
To tehniko uporabimo v situaciji, kjer se navidezna kamera
veliko premika po prostoru in hkrati želi biti neodvisna od
naših predhodnih posnetkov. Potrebujemo fotografijo tal,
neba in vmesnega ozadja ter jih mehko zlepimo skupaj. Pri
delu teksture tal je priporočljivo upoštevati tudi perspektivo
in zato teksturo pri zadnjem delu bolj skrčimo kot pri prednjem. Na 3D objekt, ki bo predstavljal to ozadje, mapiramo
predhodno primerno obdelane in pripravljene fotografije,
nanj pa položimo predmete, ki se bodo nahajali na njem.
Slika 10.06. Prikaz postavitve scene pri ukrivljenem ozadju
Iz fotogramov je razvidno, da se kljub premiku kamere celotna scena pravilno obnaša. S tem načinom smo zelo fleksibilni, kar se tiče premikov kamere in objektov po sceni,
nenehoma pa moramo paziti, da je ozadje vedno v vidnem
kotu kamere.
Slika 10.07. Tekstura, uporabljena
na ukrivljenem ozadju
Slika 10.08. Kamera, postavljena na različne lokacije na vodoravnem delu ukrivljenega ozadja
180
3D
Zelena zavesa
Zelena zavesa (ang. chroma key) je način ločevanja z videom ali filmom zajetih predmetov oziroma ljudi, katere
postavimo na ukrivljeno ozadje enakomerne barve, v večini
primerov zeleno ali modro. Ti dve barvi sta bili izbrani zato,
ker sta najmanj podobni barvi človeške kože. V post produkciji nato določimo naj se zelena barva obnaša kot transparenca. Na ta način pridobimo alfa kanal iz posnete slike, kateri dodamo ozadje po želji – lahko je posnetek neke okolice, ali pa je ta računalniško generirana.
Ker bo zelena barva v tem primeru predstavljala transparenco, predmet ali oseba, ki jo snemamo, ne sme imeti te barve
na sebi (oblačila, dodatki, detajli), saj bo v tem primeru tudi
tisti del prozoren. Če je to neobhodno, se lahko za zeleno
zaveso uporabi drugo barvo. Tipsko je to modra, v redkih
primerih pa se lahko uporabi tudi barve fuksija.
Včasih, ko se je še snemalo na film, je bila preferenca na
modri barvi, ker je ta na filmu predstavljala barvno komponento, ki ima najmanj šuma. Kasneje, z razvojem digitalne
fotografije, pa se je ta preferenca premaknila na zeleno, ker
je to barvna komponenta, ki ima največjo svetlobno vrednost. Tako je lahko zelena barva kot ozadje efektivna že pri
nižjih osvetlitvah.
Slika 10.09. Uporaba zelene zavese v studiu
Slika 10.10. Igralec, posnet pred zeleno zaveso (levo) in z
dodanim računalniško generiranim ozadjem (desno)
V kolikor ne potrebujemo celotne figure oziroma samo
njen zgornji del, je dovoljšnje manjše in plosko ozadje. Pri
zelo velikih zelenih zavesah so nanjo v enakomernih razmakih narisani križi ali pike, ravno tako zelene barve, le v
drugačnih odtenkih. Ti so nam pri post produkciji pomagalo
za definicijo velikosti in perspektive posnetega materiala.
181
Partikli
Delovanje mehanske fizike na partikle
Pri partiklih večinoma operiramo z mehanskimi lastnostmi
kot vodili njihovega obnašanja. Partikle si lahko zamislimo
kot infinitezimalno droben prah, same po sebi nevidne. Na
njihovo pozicijo naknadno apliciramo dodatne objekte.
V pričujočem primeru partikle generiramo tako, da jih
rdeča škatla na slikah bljuva v zrak, ti pa nato padajo na tla.
V prvem prikazu nanje apliciramo proceduralne objekte, ki
se aditivno obnašajo eden do drugega, spajajo se v blobom
podobne strukture in na tak način dajejo vtis goste, živemu
srebru podobne, tekočine. V drugem prikazu na isto gručo
partiklov apliciramo zmodelirane objekte, v tem primeru
modre kocke, ki se naključno rotirajo med izmetom. Oba
primera sta sicer zelo preprosta, a kljub temu nazorno
kažeta njihovo dinamičnost uporabe.
Poglejmo si potek definicije parametrov partiklov, od osnovnega generatorja pa do fizikalnih učinkov nanj.
10.13.
Generator (ang. particle generator, emiter) je navidezen
objekt, kateremu inicialno določimo velikost in obliko.
Ta lahko sledi primitivu ali že predhodno zmodeliranemu
objektu. Partikle generira po časovnih parametrih našega
izbora (število enot na sekundo) in času trajanja vsakega
izmed njih. Generirani delci ostanejo znotraj območja generatorja.
10.14.
Generatorju določimo, da poleg samega kreiranja delcev
uporabi tudi izmet v vertikalni smeri. Ta izmet sicer deluje
kot usmerjen curek, ki ni širši od zgornje površine generatorja, torej se delci premikajo izključno v smeri normale na
zgornjo površino. Da bodo delci leteli tudi v širši smeri od te
površine, jim določimo tudi eksplozivnost. S tem jim spre-
1.
2.
1.
2.
Slika 10.11. Partikli uporabljeni kot
osnova proceduralnim objektom
Slika 10.12. Partikli uporabljeni kot
osnova zmodeliranim objektom
182
3D
menimo kot izpuha glede na normalo, v našem primeru
okoli 30°.
10.15.
V tem koraku dodamo še gravitacijo. Tudi ta je vertikalna,
vendar njena smer kaže nasproti vektorju izpuha, torej
navzdol. Tako partikli pričnejo na neki višini izgubljati inicialno energijo in svojo smer obračati navzdol. Kolikšna je
ta višina, je odvisno od hitrosti izmeta, teže delcev in vrednosti gravitacije.
partiklov z vidika njihove generacije in smeri ozirona krivulje potovanja. V vseh primerih vidimo, da jih gravitacija
sili v nižino. Tlom zato definiramo kolizijo in jim s tem izdelamo trdnost. Vidimo, da se partikli odbijejo od tal pri trku z
njimi. Kolikšen je ta odboj, če sploh, določimo v nastavitvah
kolizijskega objekta. Ta jih lahko tudi zlepi nase, tako da se
od njega ne odbijejo.
10.16.
Zgornjima učinkoma dodamo še tretjega – veter. Ta bo pihal
z leve proti desni, kar se vidi tudi na obnašanju delcev. S
hitrostjo vetra določimo, kako bo ta močan in posledično
njegov vpliv na delce.
10.17.
V zgornjih štirih korakih smo tako določili način obnašanja
3.
4.
5.
3.
4.
5.
183
1.
2.
1.
2.
1.
2.
1.
2.
1.
2.
Slika 10.13. Generator partiklov
Slika 10.14. Generator partiklov z vklopljenim vertikalnim izpuhom
Slika 10.15. Generator partiklov z vklopljenim vertikalnim izpuhom in gravitacijo
Slika 10.16. Generator partiklov z vklopljenim vertikalnim izpuhom, gravitacijo in vetrom
Slika 10.17. Generator partiklov z vklopljenim vertikalnim izpuhom, gravitacijo in vetrom ter tla kot kolizijski objekt
184
3D
3.
4.
5.
3.
4.
5.
3.
4.
5.
3.
4.
5.
3.
4.
5.
185
Gneča
Kadar imamo primer animiranja več enakih ali podobnih
objektov, lahko partikle uporabimo kot osnovo obnašanju
gneče. Partikli bodo predstavljali lokacijo animiranih objektov, sledili pa bodo našim navodilom premikanja.
V posebnih primerih se pri simuliranju gneče lahko uporabi
zelo kompleksna orodja, med katere spada tudi umetna inteligenca. Pri tem imajo animirani objekti ne samo informacijo o svojem premikanju, ampak tudi o medsebojnem
obnašanju: naj se izogibajo stiku, naj trčijo eden ob drugega, se izogibajo oviram in tako dalje.
Naš primer bo prikazal izredno enostavno situacijo na to
temo, in sicer premik vozil po neenakomernem terenu. Kot
generator partiklov določimo skrajno levi del terena, ki bo
generiral toliko delcev, kolikor vozil želimo poslati na teren.
Ti se bodo premikali z leve proti desni. Gravitacijo imamo
minimalno, saj nam je v glavnem pomemben premik po
horizontali. Terenu določimo kolizijo tako, da delcev ne bo
odbijal, ampak držal zlepljene nase. Partikli tako potujejo
oprijemajoč se oblike terena.
Ostane nam samo še to, da po terenu premikajočim se partiklom dodamo objekte, v našem primeru vozila.
Ta trik se lahko uspešno uporablja za generiranje gneče oziroma množice premikajočih se istih ali podobnih objektov.
V kolikor mora biti njihovo obnašanje znotraj množice bolj
kompleksno, pa bomo morali nastavitve malo bolj dodelati ali celo uporabiti specifično programsko opremo, ki je
namenjena prav tehniki operiranja mnogih objektov naenkrat.
Slika 10.18. Potek učinka gneče
186
3D
1.
2.
3.
4.
5.
187
Vlakna
Vlakna so ključnega pomena za kredibilno opisovanje
določenih naravnih volumenskih površin, kot so trava,
dlaka, lasje in podobno. Glede na to, da imamo pri takšnih
površinah visoko število vlaken (človek ima na primer
okoli 150.000 las na glavi), morajo biti tudi pristopi temu
primerni. Klasične modelirne in upodobljevalne metode v
takšnih primerih odpadejo, saj bi bila takšna masa objektov prekomplicirana za manipulacijo in upodabljanje. Pri
simuliranju vlaknin se ne srečujemo samo s problemom
statičnega orisa – animacije zahtevajo poleg tega tudi
pravilno mehansko obnašanje le-teh: vpliv gravitacije in
pospeškov nanje, interakcija s kolizijskimi predmeti ter
medsebojna interakcija. Glede na uporabo vlaknin, tako
različna programska orodja, kot programerji v namenskih
aplikacijah, uporabljajo različne pristope.
Kjer je zahteva po hitrih upodobitvah, kot na primer 3D v realnem času, je zelo pogosta uporaba teksturiranja ploskev.
Tem se dodajajo teksture transparence, barve, reflektivnosti in reliefnosti (po potrebi lahko tudi druge lastnosti materiala). Upodobitev je hitrejša, vendar imamo pri tem načinu
oteženo dinamično animiranje vlaken.
Boljši sistem je uporaba vokslov (ang. voxel). Izraz izvira iz
sestavljanke besedne zveze volumetrični piksel (ang. volumetric pixel). Voksli so sestavni del in hkrati najmanjši gradnik proceduralnih objektov. Voksel definira situacijo piksla
na določeni poziciji v prostoru: njegovo barvo in transparenco. Kako se ti dve komponenti pojavljata, je odvisno od
algoritma, ki ga uporabljamo za generiranje proceduralnih elementov. Tudi voksli, tako kot modelirani objekti,
lahko vplivajo na zunanje objekte ali sami nase, kar se
tiče prepuščanja svetlobe oziroma oddajanja senc. Mapo
senčenja znotraj proceduralnega objekta imenujemo tudi
globoka mapa senčenja (ang. deep shadow map).
1.
3.
2.
4.
Slika 10.20. Ilustracija proceduralnega objekta dimenzij
4 × 5 × 5 vokslov (levo) in njegove štiri plasti (desno)
Za najbolj realno simulacijo vlaken je izračun vsakega
posameznega vlakna posebej sicer idealna rešitev, a kot
predhodno omenjeno, iluzorna, upoštevajoč standardni
upodobljevalni pogon. Takšna tehnika tako zahteva
specifičen upodobljevalni pogon znotraj programa, kateri izračuna vlakna in njihovo obnašanje v fazi pre- ali
post procesiranja. Kadar je temu tako, bomo opazili, da v
takšnem primeru vlaken ne vidimo v odsevnih površinah,
saj je bil ta del upodobljen ločeno. Dobra lastnost tega
prijema je izreden nadzor nad optičnim in mehanskim
obnašanjem vlaken.
Slika 10.19. Simulacija vlaken s teksturiranjem
188
Ti trije primeri niso edini način simuliranja vlaken, saj se
pristopi razlikujejo od namena uporabe. Ravno tako so
možne kombinacije med njimi.
3D
Slika 10.21. Vlakna, uporabljena za lase z različnimi nastavitvami
Slika 10.22. Trava, narejena z uporabo vlaken
189
Slika 10.23. Shema dinamične definicije vlakna. Modra pika
je koren.
Če opazujemo vlakna z dinamičnega vidika, torej njegovih
fizikalnih lastnosti, ga lahko primerjamo z logiko kosti. Koren
je fiksen, ostale kontrolne točke pa se hierarhično obnašajo
od korena (najvišja) pa do konice (najnižja). Pri animiranju
vlaken moramo upoštevati interakcijo z ostalimi predmeti v
sceni in tudi z ostalimi vlakni. Ker imamo mnogokrat opravka z več deset tisoč vlakni naenkrat, je lahko ta način animiranja izredno obremenjujoč za računalnik. Nekateri sistemi si določijo ključna vlakna, ki jih je znatno manj, kot vseh
v sceni, okoliška vlakna pa sledijo njihovemu obnašanju.
Za princip grafičnega prikazovanja in upodabljanja vlaken
si jih na grobo lahko zamislimo kot skupino zvitih cevk.
Material te cevke ustreza optičnim lastnostim las: imajo
neko osnovno barvo ter dokaj visoko reflektivnost. Kadar
jih vzporedno zložimo več skupaj (slika 10.24.), dobimo
približek obnašanja vlaken v naravi – svetle in temne pasove ter območja primarne barve (slika 10.25.).
Slika 10.24. Ilustracija principa upodobitve enega in skupine
vlaken
1
3
2
Slika 10.25. Izgled vlaken (v tem primeru človeških las)
v naravi: svetel predel (1), temen predel (2) in območje
primarne barve (3)
190
3D
3D v realnem času
3D v realnem času
Optimizacija scene
Upodobljevalni pogon
Strojna oprema
Dodatna strojna oprema
Uporaba 3D-ja v realnem času
Računalniške igre
Simulacije
Znanstvene aplikacije
Navidezni svetovi
Povečana resničnost, povečana navideznost in mešana resničnost
VRML
Machinima
Demo scena
Umetniška praksa
V poglavju o animacijah smo na grobo razložili razliko med
predupodobljenimi animacijami in tistimi, ki se izvajajo v
realnem času. O 3D-ju v realnem času namreč govorimo
takrat, kadar se nam postavljena scena upodablja sproti,
pred našimi očmi. Za tekoče predvajanje animacije v realnem času se mora torej ena slika upodobiti v največ 1/25
sekunde.
in reliefnost, na primer) kot barve in določene materialne
lastnosti. Tako kot za objekte, velja isto pravilo tudi za teksture – morajo biti primerne velikosti tako glede hitrosti
upodabljanja kot razpoznavnosti.
Da se bo scena lahko upodobila v tako kratkem časovnem
odseku, moramo imeti:
• optimizirano sceno,
• za to prirejeno programsko opremo in
• dovolj zmogljivo strojno opremo.
3D-ja v realnem času se poslužujemo takrat, kadar morata
uporabnik in računalnik predstavljati zaključeno zanko: uporabnik da informacijo računalniku preko vhodne enote, ta
pa jo vrne z novimi podatki, na katere uporabnik ponovno
reagira (princip akcije/reakcije) in svoje ukaze ponovno
pošlje računalniku.
Ker je 3D v realnem času samo izpis, torej grafični vmesnik,
pomeni, da to ni celotni del aplikacije. Te aplikacije se morajo poleg grafičnega dela ukvarjati tudi s procesiranjem podatkov, ki jih dovajamo sproti. Ti lahko simulirajo fizikalne
pojave, umetno inteligenco, krmilijo zunanje naprave in
tako naprej.
Optimizacija scene
Glede na to, da je pri predupodobljenih animacijah scena
teoretično poljubne kompleksnosti geometrije, materialov in ostalih nastavitev, je pri operiranju v realnem času
potrebno določene lastnosti emulirati. Eden največjih
dejavnikov v optimiziranju scene je redukcija poligonov.
Potreben je primeren kompromis med njihovim čim nižjim
številom (zaradi hitrosti izračuna) in dovolj velikim številom,
da je razpoznavnost objektov zadovoljiva.
Druga pomembna enota so teksture. Z njimi simuliramo
tako kompleksnejšo geometrijo (teksture za transparenco
Slika 11.01. Primer modela z nizkim številom poligonov
(ang. low poly) in isti model s teksturo
Upodobljevalni pogon
Upodobljevalni pogon za izračun v realnem času (ang. real
time render engine) je programska oprema, ki je posebej
realizirana in optimizirana za upodabljanje v ta namen. Vsi
algoritmi so prirejeni za čim hitrejši izračun, naj si bo to
upodobitev slike ali obdelave podatkov (fizikalnih učinkov,
vhodnih podatkov, ...). Upodobljevalni pogoni so s svojimi
ukazi večinoma direktno povezani s specifično strojno opremo, ki je prirejena posebej za delo s 3D grafiko.
Ta programska oprema najprej razgradi 3D sceno na
posamezne poligone. Nato jim določi barvo ali del teksture,
ki je vezan nanje, in te enote postavi na točno določen del
zaslona (piksel v matriki). Poleg razgraditve osnovne scene
ti pogoni simulirajo tudi druge posebne učinke, kot so megljenje premika, volumetrične sence (ali svetloba), partikli
in tako dalje.
193
Strojna oprema
Tretji dejavnik za uspešno predvajanje 3D-ja v realnem času
je strojna oprema. Poleg standardnih računalniških komponent, kot je zmogljiva centralna procesna enota in obilica
pomnilnika, so v 3D-ju uporabljene še namenske komponente imenovane grafično procesne enote (ang. graphics
processing unit) ali krajše GPE. Medtem ko GPE-ji za ploskovno (2D) grafiko vsebujejo nabor integriranih vezij za obdelovanje ploskih primitivnih objektov (kvadrat, trikotnik,
krog, ...) in rasteriziranje, tisti za 3D zahtevajo veliko več od
svojega čipovja. GPE-ji za 3D vsebujejo nabor integriranih
vezij, ki direktno operirajo na pogostih operacijah, ki se
uporabljajo v upodabljanju prostora. Med te sodijo delo s
poligoni, transformacije enot iz enega koordinatnega sistema v drugega, teksturiranje, simulacija določenih fizikalnih
in vizualnih učinkov, mehčanje robov in še marsikaj. Zaradi
takšnega operiranja mora ta strojna oprema znati uporabljati izračune s plavajočo vejico (ang. floating point), ki so
namenjeni obdelovanju realnih števil.
GPE-ji so v glavnem integrirani na grafični kartici, saj imajo
tam obdelani podatki takojšen dostop do video izhoda.
Prav tako imajo GPE-ji lasten pomnilnik, saj imajo tudi v tem
primeru hitrejši dostop do njega tako zaradi fizične dolžine
vodil, kot tudi njihove organizacije. Ta pomnilnik je namenjen shranjevanju tekstur ter ostalih podatkov, ki jih mora
procesni del GPE-ja čim hitreje brati in zapisovati.
Poleg GPE-jev za 2D in 3D grafiko velja omeniti še video
procesne enote (VPE). Te so prirejene za delo z videom,
pri katerem je zelo pomembna hitrost prikaza zaporedja
že predupodobljenih slik (animacije, snemani video), zajem video signala iz zunanjih enot in direktno kodiranje in
dekodiranje v določenih kompresijskih formatih, kot je na
primer MPEG.
GPE-ji so po obliki razdeljeni na:
• namenske grafične kartice,
• integrirane grafične kartice in
• hibride.
Za namenske grafične kartice je značilno, da imajo poleg
specifičnega, že prej omenjenega čipovja (GPE), tudi lasten
pomnilnik. Te kartice z ostalo strojno opremo računalnika
komunicirajo preko standardiziranih vodil, kot so PCI (Peripheral Component Interconnect), PCIe (PCI Express) ali
AGP (Accelerated Graphics Port). To, da ta tip grafičnih
kartic uporablja standardizirana vodila, še ne pomeni,
da morajo biti nujno fizično samostojne in povezane na
matično ploščo preko konektorjev. Lahko so fizično del
matične plošče, a kljub temu delujejo preko prej omenjenih
vodil. Takšno rešitev večinoma srečamo na zmogljivejših
prenosnih in kompaktnih računalnikih.
Slika 11.02. Shematska razgraditev tipskega namiznega
računalnika po vgradnih komponentah
194
3D
Razvijalci programske opreme so v GPE-jih videli več kot
čipovje, namenjeno izračunu 3D grafike v realnem času.
Programsko lahko te procesne enote izrabljajo za vzporedno procesiranje, ki ni nujno povezano z grafiko. Operacije
razdelijo tako, da del teh pošljejo v izračun GPE-ju in tako s
tem razbremenijo centralno procesno enoto (CPE). Ta pristop je znan kot izračun na GPE-jih za splošno uporabo (ang.
General-Purpose Computing on Graphics Processing Unit,
krajše GPGPU).
Slika 11.03. Namenska grafična kartica
Integrirane grafične kartice se nahajajo na matični plošči.
Za razliko od namenskih te nimajo svojega pomnilnika,
ampak uporabljajo sistemskega. Druga razlika je v tem,
da ne vsebujejo strojnega dela za namenske izračune. Te
kartice imajo zelo omejeno zmogljivost, a vseeno dovoljšnjo
za uporabnika, ki ne opravlja zahtevnih grafičnih operacij
(urejevanje teksta, internetne komunikacije, terminali, ...).
Njihova prednost je cena, saj so veliko bolj ekonomične od
namenskih. To je tudi glavni razlog, da so vgrajene v 90 %
računalniških sistemov.
Vsak GPE komunicira s programsko opremo preko aplikacijskega programskega vmesnika (ang. Application Programming Interface, krajše API). To je nabor rutin, struktur
podatkov, programske izdelave objektov in protokolov, v
glavnem v obliki knjižnic. Ločimo jih na odvisne in neodvisne od programskega jezika. Odvisni so direktno vezani
na programski jezik, v katerem se izdeluje neka aplikacija
– vsak programski jezik ima drugačen nabor ukazov. Neodvisni so tisti, ki imajo fiksen nabor ukazov, ne glede na to,
preko katerega programskega jezika dostopamo do aplikacijskega programskega vmesnika. Dva najbolj znana APV-ja
sta Open GL (Open Graphics Library), katerega je pričel razvijati SGI (Silicon Graphics Inc.) leta 1992, in Direct 3D,
izum podjetja Microsoft.
Dodatna strojna oprema
Aplikacije za 3D v realnem času včasih zaradi svoje namembnosti potrebujejo tudi specifične vhodno-izhodne enote,
naj bo to zaradi določenosti uporabe sistema ali pa samo
zaradi lažje in bolj intuitivne interakcije z njim.
Slika 11.04. Integrirana grafična kartica
Nadgradnja računalniškega monitorja je v preprostejšem
primeru uporaba 3D očal z metodo mrka, ki je že opisana
v poglavju o stereogramih. Pri tem načinu sliko na zaslonu
dojemamo globinsko. Boljša alternativa temu je čelada za
navidezno resničnost ali krajše VR čelada (ang. virtual reality
helmet, krajše VR helmet). Ta vhodno-izhodna naprava ima
vgrajena dva prikazovalnika, vsakega za svoje oko in v principu deluje kot stereograf (glej poglavje o stereogramih).
VR čelade imajo dodatno vgrajen še detektor pozicije glave.
195
Ta računalniku sporoča, kako je glava obrnjena glede na
referenčno točko, ki predstavlja mirovno lego glave. Navadno ta senzor detektira premik glave levo-desno, gor-dol ter
nagib. Glede na pozicijo glave se primerno obnaša tudi slika
navideznega okolja, ki ga doživlja uporabnik. VR čelade sicer
niso ravno najnovejša pogruntavščina, vendar njihova uporaba ni bila zelo razširjena med domačimi uporabniki, saj je
bila cena dokaj visoka, potreben pa je bil tudi zelo zmogljiv
računalniški sistem, da je lahko upodabljal dve različni sliki
naenkrat. Dobra lastnost teh čelad je popolno zlitje uporabnika z navideznim prostorom in je zato nepogrešljiva pri
mnogih simulacijah. Prav zaradi te lastnosti pa so se včasih
pri uporabnikih pojavljala slaba počutja in utrujenost. VR
čelade se v zadnjih časih zopet počasi vračajo na tržišče, saj
so računalniki že dovolj primerni za njihovo uporabo. Tudi
cena preprostejših modelov teh čelad se je znižala že na
ceno povprečnega monitorja.
Z VR čeladami se lahko izvrstno kombinira vhodne enote,
katere uporabnik lahko zelo intuitivno manipulira. Ena izmed takšnih je VR rokavica. Ta ima na členkih prstov senzorje, ki zaznajo, kako se ti premikajo. Poleg tega zazna tudi
premik cele roke. Kombinacijo obeh podatkov VR rokavica
pošlje v računalnik, ki ustrezno obdela pomen pozicije roke
in prstov v namen komunikacije s celotnim sistemom.
Slika 11.06. VR rokavica CyberGlove II podjetja CyberGlove
Systems LLC
Manj intuitivna, a cenovno bolj dostopna vhodna enota,
je 3D miška. Za razliko od navadne, ki prepoznava spremembo svoje pozicije samo površinsko (naprej, nazaj, levo,
desno), 3D miška podpira še dodatne nagibe in premike, ki
so prirejeni prav za delo s prostorskimi podatki. Z raznoliko
kombinacijo gibov in funkcijskih tipk lahko z računalnikom
prostorsko komuniciramo.
Nekateri predhodni modeli so temeljili na sistemu zglobov,
ki so računalniku sporočali pozicijo držala za roko, katerega
je uporabnik premikal v z zglobi omejenem prostoru. Takšne
vhodne enote se je lahko uporabilo tudi kot preprost 3D
skener za orisovanje manjših objektov.
Slika 11.05. VR čelada Visette45 podjetja Cybermind
Interactive Nederland
196
3D miške so poleg navigacije in krmiljenja različnih 3D aplikacij tudi dobrodošlo orodje v arhitekturnem in strojnem
načrtovanju ter modeliranju.
3D
Uporaba 3D-ja
v realnem času
Aplikacije 3D-ja v realnem času so izredno široke in fleksibilne, uporabljamo pa jih tam, kjer mora računalnik poleg
izrisa 3D slike večinoma poskrbeti še za obdelavo podatkov,
ki mu jih dovajamo sproti. Te aplikacije lahko razdelimo na:
• računalniške igre,
• simulacije,
• znanstvene aplikacije,
• navidezne svetove,
• povečano resničnost in povečano navideznost,
• VRML,
• machinimo,
• demo sceno in
• umetniško prakso.
Računalniške igre
Slika 11.07. 3D miška SpacePilot PRO podjetja 3Dconnexion
(zgoraj) in nabor nje možnih premikov (spodaj)
Računalniške igre so najbolj razširjen in populariziran zgled
uporabe 3D-ja v realnem času. Igre, včasih v določenih krogih
zloglasnega slovesa, so vsekakor eden izmed pomembnih
dejavnikov za pospešen razvoj računalniške opreme, tako
strojne kot programske. O njih je bilo napisanega marsikaj
kritičnega kot tudi vzpodbudnega, saj so ob primerni zasnovi lahko uporabno vzgojno-izobraževalno ali terapevtsko orodje.
Ena izmed prvih 3D iger je bila 3D Monster Maze, ki se
je pojavila že leta 1981. Napisana je bila za takratni hišni
računalnik Sinclair ZX81, potrebovala pa je razširitev
delovnega spomina, iz osnovnega enega, na 16 kB. Tedanja tehnologija je bila še zelo groba in pretežko programljiva, da bi se lahko uspešno uporabljala za ta tip iger, zato
so takrat bile veliko bolj razširjene arkade ploskovnega izgleda. Šele kasneje, ko je osebni računalnik (PC) postal bolj
razširjen in dostopen, se je leta 1992 pojavila igra Wolfenstein 3D, ki je definirala osnove vsem za njo prihajajočim
prostorskim igram.
197
Novejše igre imajo na razpolago vedno močnejšo strojno
opremo in to jim daje pogoje za razvoj njihove kompleksnosti. Danes te, poleg zmogljivega grafičnega prikaza, uporabljajo tudi kompleksne fizikalne učinke ter možnost uporabe različnih vhodnih in izhodnih enot.
Slika 11.09. Simulator za potrebe vojaškega učenja
Znanstvene aplikacije
3D v realnem času je v okviru znanstvenih aplikacij uporabljen za grafični prikaz določenih dogodkov ali procesov. Ti
so lahko pretvorba vnešenih podatkov v grafično obliko (na
primer tako kot osciloskop grafično prikaže nihanja) ali opisovanje procesov, ki so lahko premajhni ali nedostopni za
naš vid (na primer prikazi v medicini, astronomiji, fiziki, ...).
Slika 11.08. Računalniška igra TimeO podjetja ZootFly
Simulacije
Simulacije so opisovanje realnega sveta na tak način, da zajamejo čim več tipskih lastnosti obnašanja procesov, ki jih
opisujejo. Največkrat se nanašajo na simuliranje določenih
strojev ali vozil, katerih upravljanje je sicer zelo zahtevno ali
drago. Takšni so na primer simulatorji letal, helikopterjev,
tankov, podmornic in podobnega. Tisti, za profesionalno
rabo, imajo grafični prikazovalnik vgrajen v kabino, v kateri
je lociran uporabnik. Inštrumenti v simulatorjevi kabini so
lahko ločeni od zaslona ali nameščeni direktno nanj, sama
pa je navezana na hidravlične sisteme, ki simulirajo njene
fizične premike.
198
Slika 11.10. Primer aplikacije za vizualizacijo v medicini:
Endeavor Project univerze Sains Malaysia
3D
Google Earth je primer popularizacije znanstvene 3D aplikacije v realnem času, bolj natančno tiste s področja
topografije. Ta program je lociran na lokalnem računalniku,
iz oddaljenega pa pobira knjižnice topografskih podatkov
Zemlje.
Socialne mreže se osredotočajo na grupiranje in druženje
uporabnikov s podobnimi interesi ali samo predstavitev
uporabnikov samih, ki objavijo na spletu svoje podatke in
interese do mere, ki jo sami določijo. Navidezni svetovi so
ena izmed možnih komunikacij v stilu socialnih mrež, kjer
avatarji, ki predstavljajo uporabnike, v nekem okolju lahko
komunicirajo med seboj.
Slika 11.11. Program Google Earth
Navidezni svetovi
Navidezni svetovi so računalniška reprezentacija nekega okolja. Uporabniki se v tem prostoru predstavljajo z
grafičnim zastopnikom svoje pojave – avatarjem. Ti svetovi
lahko ponujajo tako simulacijo realnih fizikalnih omejitev
uporabnika v prostoru kot tistih, ki v navadnem svetu niso
možne (letenje, teleportacija). Navidezni svetovi lahko dovoljujejo dostop več uporabnikom naenkrat ter komunikacijo in interakcijo med njimi v realnem času. Določene izmed njih lahko uporabniki modificirajo in nadgrajujejo po
svojih željah, nekateri pa so fiksno postavljeni.
Slika 11.12. Navidezni svet po principu socialnih mrež:
Second Life (Linden Research, Inc.)
Varianta socialnih mrež so množične večuporabniške spletne igre (ang. massively multiplayer online games), ki podpirajo dostop več sto ali tisoč igralcev naenkrat v navideznem svetu. Uporabniki lahko komunicirajo in se grupirajo med seboj, medtem ko rešujejo misije, ki jih zadaja igra.
Z medmrežno komunikacijsko tehnologijo lahko uporabniki
dostopajo do navideznih svetov v obliki socialnih mrež ali
spletnih iger.
199
Povečana resničnost, povečana
navideznost in mešana resničnost
Povečana resničnost (ang. augmented reality), včasih tudi
označena z izrazoma nadgrajena ali obogatena resničnost,
je kombinacija fizičnega sveta in računalniških grafičnih
vložkov. Okolico zajemamo z digitalno kamero, ki je vezana
na računalnik, na zaslonu pa se nam preko zajete slike izpisujejo ali izrisujejo še dodatne informacije, ki se direktno
tičejo te okolice. Povečana resničnost ne vsebuje nujno 3D
grafike (lahko so samo tekstovne informacije), je pa v tej
tehnologiji zelo pogosto prisotna.
V drugem primeru, pri uporabi grafičnih simbolov, računalnik prepozna njihovo obliko, lokacijo v prostoru in
nagib. Te nato vzame za referenco izrisovanja podatkov, ki
so v tridimenzionalni obliki in se v realnem času odzivajo
na postavitev teh simbolov v prostoru. To tehnologijo lahko
vključimo v različne veje uporabne prakse (arhitektura, zgodovinske znamenitosti, muzeji, izobraževanje, ...) kot tudi v
namene zabave.
Računalnik pri zajemanju slike prepoznava okolico. To so
lahko v njej prisotni predmeti ali različni simboli, kjer vsak
pomeni določeno lokacijo in način izpisa podatkov.
Primer praktične uporabe povečane resničnosti so aplikacije na dlančnikih (ang. personal digital assistant, krajše
PDA), ki preko satelitskega signala dojamejo svojo lokacijo,
ta pa jim da nadaljne koordinate za prepoznavanje okolice,
v kateri se nahajajo. Tako lahko dlančnik v realnem času
izpisuje podatke direktno na zajeti sliki okolice, v kateri se
trenutno nahajamo.
Slika 11.14. Reprezentacija povečane resničnosti s kombinacijo 3D-ja v realnem času
Nasprotna veja kombinacije digitalnega in realnega sveta
je povečana navideznost (ang. augmented virtuality). V
tem primeru se posneti objekti ali osebe vkomponirajo v
navidezni svet, s katerim lahko interagirajo v realnem času.
Povečano navideznost najbolj pogosto zasledimo v uporabi
navideznih televizijskih studiev, kjer je napovedovalec zajet
pred zeleno zaveso in vkomponiran v računalniško generirano okolico.
Slika 11.13. Primer povečane resničnosti na dlančniku s
programom Wikitude World Browser podjetja Mobilizy
200
3D
Slika 11.15. Primer povečane navideznosti
Obe veji, torej povečano resničnost in povečano navideznost, imenujemo s skupnim imenom mešana resničnost
– kombinacija realnega in navideznega sveta, ki interagirata
med seboj v realnem času.
VRML
VRML (ang. kratica za Virtual Reality Modeling Language,
predhodno tudi Virtual Reality Markup Language) je programski jezik za modeliranje 3D objektov ali svetov za
spletno uporabo. VRML je vtič spletnih brskalnikov in lahko
prostorsko predstavlja to, kar so spletne strani v ploskovnem načinu: lahko se sprehajamo po nekem navideznem
prostoru, ki nam poleg svoje okolice dodaja še dodatne informacije in povezave na druge lokacije, tako podatkovne
kot prostorske.
VRML sicer ni omejen samo na uporabo prostorov, ampak
tudi za spletno prikazovanje različnih tridimenzionalnih objektov.
Programi za 3D računalniško grafiko imajo navadno tudi
možnost izvoza objektov za VRML, tako da jih lahko v njih
zmodeliramo in jih kasneje primerno vkomponiramo v celotno VRML sceno.
Slika 11.16. Predstavitev mesta Toronto v VRML-ju, izdelek
podjetja Wizard Solutions Inc.
Machinima
Izraz izhaja iz besed Machine Cinema (strojni film) in je ena
izmed vej 3D grafike v realnem času, ki ne zahteva interakcije z gledalcem. Za svojo programsko osnovo uporablja upodobljevalni pogon 3D računalniških iger. Machinimisti oziroma machinimatorji, izdelovalci tega tipa animacij, imajo
torej na voljo upodobljevalne pogone komercialnih iger, ti
pa imajo za ta žanr določene prednosti in slabosti. Prednost
je vsekakor nizek strošek izdelave animiranega 3D filma in
preprostost uporabe, medtem ko je omejitev v tem, koliko
lahko ta pogon nudi. Ima namreč večinoma fiksna okolja in
like igralcev ter omejen nabor fizikalnih in vizualnih učinkov,
tipskih za igro, za katero je bil prirejen. Kljub vsemu je machinima postala priljubljeno orodje tako izdelovalcev serij
in krajših filmov, kot tudi tistih, ki delajo na področju reklam
in glasbenih videospotov.
201
Demo scena
Demo scena (ang. demo scene) je subkultura računalniške
umetnosti in se osredotoča na produkcijo neinteraktivnih
audio-vizualnih demonstracij (demo), ki se izvajajo na
računalniku v realnem času. Združuje veščine programiranja, vizualij in zvoka. Demo izhaja iz besede demonstracija,
saj je tako v svojih začetkih kot tudi danes demonstriral
spektakularnost programiranja vizualnih učinkov, ki se izvajajo v realnem času tako, da čim bolj izkoristijo strojno
opremo, ki jo imajo na voljo, s čim krajšo programsko kodo.
Za izdelovalce demov (ang. demosceners) je značilno povezovanje v demo skupine (ang. demogroups). Ti se občasno
srečujejo na demo zabavah (ang. demoparties), kjer se
pomerijo v svojih veščinah programiranja z vključevanjem
računalniške estetike. Tem tekmovanjem pravijo tudi compo (ang. krajše za competition).
Slika 11.17. Slika z demo zabave Assembly 2009, ki je
potekal na Finskem
Intro je še en izraz, ki ga zasledimo v demo sceni. Včasih so
demoscenerji razbili programe ali igre in vstavili svoj animirani vložek, ki se je izvedel takoj na začetku zagnanega
(v glavnem komercialnega) programa. Tukaj so lahko izkazali svoje spretnosti tako programiranja demov kot tudi
zmožnosti razbijanja zaščit programov.
Umetniška praksa
Nekatere zgoraj omenjene zvrsti so same po sebi mišljene
kot umetniško delo (machinima, demo), ostale pa so z
modifikacijami lahko vkomponirane v karkoli na izraznem
področju. Kot vsa tehnologija na razpolago je tudi 3D v
realnem času postalo uporabno orodje umetnikom, ki
delujejo na področju prostorskih in tehnoloških inštalacij
ter performansov. Obiskovalci razstave ali performerji imajo
tako možnost interakcije s postavljeno umetnino.
202
Slika 11.18. Demo Chaos Theory
3D
Slika 11.19. Interaktivni navidezni prostor Poglej še enkrat,
ni ga več tam / If you look back, it won’t be there anymore
(Koncept in dizajn: Narvika Bovcon, Barak Reiser, Aleš
Vaupotič. Programiranje: Igor Lautar.)
203
Izdelava 3D slike
v praksi
Izdelava 3D slike v praksi
LightWave 9.6
3ds Max 9.0
Maya 2009
Blender 2.49
Praktično si bomo ogledali, kako poteka izdelava slike v
nekaterih razširjenih programih za 3D računalniško grafiko:
LightWave 3D, Maya, 3ds Max in Blender. Izdelali bomo preprosto hiško in na njo aplicirali dve teksturi: eno za streho
in eno za zidovje. Teksturi sta izdelani tako, da se lahko ponavljata v vse smeri, ne da bi pri tem bil prehod viden (ang.
seamless texture). Hiša bo upodobljena na belih tleh in belem ozadju, pri čemer ne bo vidnega prehoda med njima.
Slika 12.01. Ponavljajoči teksturi za streho in zid
Slika 12.02. Slika upodobljene hiše na belem ozadju –
končnega izdelka
207
Izdelava slike s programom
LightWave 3D 9.6
LightWave 3D podjetja NewTek je orodje, katerega začetki
razvoja segajo v leto 1988. Dve leti kasneje je bil ta program
dodatek Video Toasterju, sistemu za kombiniranje videa in
računalniške grafike, ki je deloval na platformi Commodore
Amiga. Od leta 1994 dalje je LightWave 3D dobavljiv kot samostojno orodje. Trenutne verzije delujejo tako na Macintosh kot Windows platformi.
Za ta program je značilno, da je razdeljen na dva dela: modelirnik Modeler in upodobljevalnik Layout. V slednjem
se postavlja celotna scena na osnovi že zmodeliranih objektov. Oba dela programa sta med seboj sinhronizirana,
tako da lahko hkrati postavljamo sceno in popravljamo objekte v modelirniku. Za grafični vmesnik LightWavea 3D je
značilno, da ne vsebuje ikon, ampak gumbe z napisi ukazov.
Pri NewTeku za ta sistem pravijo: “Če znate brati in govoriti
angleško, potem boste znali tudi uporabljati naš program”.
Slika 12.03-a. Potek praktičnega primera izdelave 3D slike v
programu LightWave 3D
1.
208
3D
1.
Začnemo v modelirniku. Z ukazom Box v levem meniju, v
skupini Create (zgornji meni) izdelamo kvader velikosti
5x5 m tlorisne širine in višine 2 m. Da bomo lažje operirali z
merami, si lahko pomagamo z oknom za numerično modeliranje Numeric, ki leži v spodnjem meniju. Stranski ploskvi
sta lahko sestavljeni iz enega poligona, medtem ko ostale
razdelimo vsako na dva poligona oziroma kvadriseta.
2.
V meniju Modify/Drag premaknemo zgornji sredinski točki
za dodatna dva metra više. Tako imamo najvišji del hiše na
višini 4 m in nam predstavlja sleme. Stranska robova hiše
ostaneta na višini 2 m.
2.
3.
3.
V spodnjem meniju kliknemo Surface. Pojavi se nam okno
za označbo materiala. Poimenujemo ga Hiša. V tem oknu
samo označimo oziroma poimenujemo material, njegove
fine nastavitve pa bomo urejali kasneje.
4.
V zgornjem desnem kotu modelirnika imamo deset modrih
kvadratov, diagonalno razdeljenih v dve polovici. Te ikone
predstavljajo plasti. Ob kliku na zgornjo polovico ikone
plasti imamo to plast aktivno, medtem ko imamo ob kliku
spodnje polovice iste ikone samo vpogled v to plast, ki je v
takšni situaciji v ozadju.
4.
Osnovo hiše, ki smo jo zmodelirali v prejšnjih korakih,
postavimo v ozadje. Na aktivni plasti dorišemo tanjši kvader, ki se s svojim spodnjim desnim delom dotika slemena,
ostale stranice pa naj bodo malo daljše, kar bo v končanem
modelu delovalo kot napušč.
Slika 12.03-b. Potek praktičnega primera izdelave 3D slike v
programu LightWave 3D
209
5.
V spodnjem delu menija aktiviramo Points. Izberemo vse
štiri točke na levi strani kvadra (s klikom nanje ob držanju
tipke Shift) in ju potegnemo niže tako, da sta zgornja in
spodnja stran kvadra vzporedni naklonu strehe.
5.
6.
Z Multiply/Mirror prezrcalimo kvader preko slemena in dobimo objekt strehe. S Create/Box dorišemo še tri kvadre:
enega za vrata, druga dva pa za okno.
6.
7.
8.
Slika 12.03-c. Potek praktičnega primera izdelave 3D slike v
programu LightWave 3D
210
3D
7.
Celotni plasti določimo material, ki ga poimenujemo Beton.
Nastavimo mu temnejšo sivo barvo.
9.
8.
V tretji plasti izdelamo podobno obliko, kot jo ima hiša, le
da je manjša. Prvi dve plasti imamo vidni v ozadju tako, da
se lahko glede nanje orientiramo za velikost in lokacijo trenutno modeliranega objekta. Ta objekt bomo potrebovali
za luknjanje obstoječih in s tem naredili hišo votlo, a vseeno
z določeno debelino zidovja.
9.
Plasti označimo obratno: prvi dve bosta aktivni, tretja pa
bo v ozadju. Izberemo Construct/Boolean in pojavi se nam
okno za operiranje z Booleovimi funkcijami. Uporabimo
Substract.
10.
Pri operiranju z Booleovimi funkcijami množici definiramo s
plastmi, ki jih delimo na dve skupini: aktivne in tiste v ozadju.
10.
Hišo smo sicer izvotlili, vendar nam manjkajo še odprtine za
okni in vrata. Kreiramo tri kvadre, ki so po širini manjši od
že obstoječih oblik, namenjenih oknom in vratom, vendar
morajo biti daljši, zato da lahko izrežemo luknjo, ponovno z
Booleovim operatorjem odštevanja.
11.
V spodnjem meniju aktiviramo Polygons in izberemo zgornji dve ploskvi strehe. Definiramo jima nov material in ga
poimenujemo Streha.
11.
Slika 12.03-d. Potek praktičnega primera izdelave 3D slike v
programu LightWave 3D
211
12.
Pod hišo naredimo večji disk (Create/Disc) in mu določimo
material Tla, temu pa definiramo belo barvo.
in jo mapiramo kubično. S tem tipom mapiranja dosežemo,
da se bo tekstura ploskovno projecirala po vseh treh koordinatnih oseh. Tudi tej teksturi določimo velikost 1,5 m.
13.
Hiša je zmodelirana in tudi materiali so določeni. Preostane
nam samo še teksturiranje strehe in zidovja.
S Copy skopiramo vse parametre nastavitve teksture in gremo v urejevalnik tekstur za reliefnost. Dosežemo ga preko
ikone T poleg nastavitve vrednosti reliefnosti (Bump). Skopiramo enake parametre definicije teksture, kot jih ima
tista za barvo.
V levem meniju izberemo Surface Editor, v katerem nastavljamo vse lastnosti materiala. V našem primeru bomo
pustili vse parametre nedotaknjene, razen teksture barve.
Do nje dostopamo v ikoni T poleg nastavitev barve (Color).
Odpre se nam novo okno Texture Editor. S Projection/Planar si določimo ploskovni način mapiranja. Pod Image si
izberemo datoteko s teksturo strehe (slika 12.01. levo), ta
pa naj se ponavlja tako po širini kot po višini (Width (Height)
Tile/Repeat). Teksturo bomo projecirali po x osi, torej po
tisti, ki bi navidezno šla skozi obe okni na hiši. Velikost teksture je 1,5 m.
12.
14.
Podobno naredimo z materialom za zidovje. Za barvno teksturo si izberemo datoteko s sliko zidu (slika 12.01. desno)
13.
Slika 12.03-e. Potek praktičnega primera izdelave 3D slike v programu LightWave 3D
212
3D
14.
Slika 12.03-f. Potek praktičnega primera izdelave 3D slike v
programu LightWave 3D
213
15.
Model hiše s tlemi je končan tako z modelirne strani kot s
strani definicije materialov in tekstur. Lotimo se postavitve
scene, zatorej se odpravimo v drugi del programa – Layout.
Na prvi pogled je izgled vmesnika podoben modelirniku,
vendar je ta del programa specializiran za postavitev scene
(objekti, luči, kamere), nastavitev parametrov za upodabljanje, animiranje, vključevanje posebnih učinkov in tako
dalje.
Naložimo pravkar zmodeliran model hiše in premaknemo
kamero tako, da hišo vidimo dovolj nazorno.
Slika 12.03-g. Potek praktičnega primera izdelave 3D slike v
programu LightWave 3D
15.
214
3D
16.
Osnovni izvor svetlobe je nastavljen na oddaljeno luč.
Kliknemo nanjo ter v spodnjem delu menija izberemo
Properties. Pojavi se nam okno Light Properties, v njem pa
oddaljeno luč zamenjamo s površinskim izvorom svetlobe
(Light type/Area). Z uporabo tega tipa luči bomo dosegli
mehkejšo senco. Kakšna bo njena mehkoba, je odvisno od
tega, koliko bo površinska luč velika in koliko bo oddaljena
od predmeta, ki ga osvetljujemo.
17.
V levem meniju si izberemo Windows/Backdrop Options,
da se nam pojavi okno z nastavitvami barve ozadja. Izberemo belo (Backdrop Color).
16.
17.
18.
Da zakrijemo oster rob diska, ki ga uporabljamo za podlago,
sceni dodamo meglo, katere ekstrem ne bo segal preko diska. V levem meniju si izberemo Windows/Volumetrics and
Fog Options. Na voljo imamo več tipov megle (Fog Type).
Izberemo Nonlinear 1. Minimalni radij megle naj bo 20 m,
maksimalni pa 30. Vsi objekti, ki so do 20 m oddaljeni od
kamere, ne bodo v megli, tisti, ki grejo čez ta radij, pa bodo
pod njenim vplivom. Predmeti, ki so oddaljeni preko 30 m
od kamere, ne bodo vidni.
Slika 12.03-h. Potek praktičnega primera izdelave 3D slike
v programu LightWave 3D
18.
215
19.
V oknu Render/Render Globals gremo v zavihek Render.
Vklopimo samo sence (Raytrace Shadows). Ostale nastavitve
so v našem primeru irelevantne.
19.
20.
Pred upodabljanjem moramo nastaviti še velikost slike in
mehčanje robov. V spodnjem meniju si najprej izberemo
kamero (gumb Cameras) , nato pa še Properties, da se nam
pokažejo njene nastavitve.
Tip kamer izberemo Perspective Camera, širino in višino
upodobljene slike pa 1200 x 800 pikslov. Mehčanje robov
(Antialiasing) nastavimo na 4. Ker se nam pri površinskih
lučeh pojavlja šum, bo potrebno nastaviti kar visoko mero
vzorčenja. Vklopimo Adaptive Sampling, občutljivost (Treshold) 0,01 (manjša kot je vrednost, večja je občutljivost),
učinek vzorčenja (Oversample) pa 0,2 (večja kot je vrednost, večji je učinek).
S tem korakom je celotna scena postavljena in pripravljena
na upodabljanje, ki ga zaženemo z Render/Render Frame.
20.
Slika 12.03-i. Potek praktičnega primera izdelave 3D slike v
programu LightWave 3D
216
3D
Izdelava slike s programom
3ds Max 9.0
3ds Max je programsko orodje podjetja Autodesk, pod
okriljem katerega redno izhajajo tudi široko aplikativni
programi kot AutoCAD, Autodesk Inventor in Maya. Za
širšo javnost je postal dostopen leta 1990, potem ko so
bili na tržišču že precej uveljavljeni na različnih platformah
delujoči programi kot LightWave 3D, Sculpt-Animate 4D,
Imagine, Softimage|3D, Alias PowerAnimator in podobni.
Na začetku se je zdela poteza aplikacije multimedijskih
vsebin v PC okolje drzna in neperspektivna. Vendar je 3ds
Max, ta izum samo štirih razvojnikov, zaradi vsestranske
uporabnosti in možnosti širjenja s pomočjo arhitekture
vtičev prerasel v enega najbolj uprabljenih programov za
3D računalniško grafiko. To je programsko orodje za rešitve
na področju 3D modeliranja, animacij in upodabljanja, ki
se velikokrat uporablja tudi za zelo zahtevne aplikacije v
računalniških igricah, animiranih filmih in v kombinaciji z
video produkcijo.
1.
Modelirati bomo začeli s preprostimi oglatimi primitivi. V
paleti za kreiranje Create izberemo ikono za geometrijo
Geometry in standardne primitive (Standard Primitives)
ter oglati primitiv kocke (Box). Modeliranja se bomo lotili
brez pomoči Booleovih operatorjev in modelirali štiri stene
Slika 12.04-a. Potek praktičnega primera izdelave 3D slike v
programu 3ds Max
1.
217
2-a.
2-b.
Slika 12.04-b. Potek praktičnega primera izdelave 3D slike
v programu 3ds Max
tako, da bomo dobili odprtino za vhod. To storimo z desnim
klikom na objekt ter ukazom za razrez (Quickslice).
hiške ter jih sestavili. Levi in desni zid hiške numerično
modeliramo v paleti za kreiranje tako, da nastavimo 5 m
dolžine (Length), 2 m višine (Height) in 0,3 m širine oziroma
debeline stene (Width). Zid oblikujemo iz dveh segmentov
po dolžini (Length segs) in višini (Height segs).
2.
Z desnim klikom na zid hiške ter ukazom za spremembe
objekta in urejevalni način spremenimo steno v poligone
(Convert to Edible Poly). V paleti za urejanje (Modify) poleg
palete za kreiranje določimo urejevalni način za vertekse
(Selection – Vertex), označimo zgornja sredinska verteksa na
steni ter ju premaknemo za 2 m više. Z ukazom kloniranja
(Ctrl+V ali Edit Clone) kloniramo steno, vendar jo označimo
kot kopijo (Copy) in ne kot popolni klon (Instance), saj steni ne bosta enako modelirani v nadaljevanju. Oba zidova
oddaljimo na razdaljo 5 m. Zid, kjer bodo vrata, dodelamo
218
3.
Ostala dva zidova modeliramo numerično, tako da nastavimo dolžino 5 m, višino 2 m in širino 0,3 m. Ker smo
zidova klonirali z načinom Instance, lahko razrez za okna
določimo le na enemu, saj bomo ukaz avtomatično dosegli
tudi pri drugem objektu. Zidovje sestavimo v ogrodje hiše.
V paleti Modify označimo urejevalni način za vertekse ter
popravimo vse notranje vertekse sten, tako da se zidovi ne
prekrivajo, temveč se stikajo pod kotom 45°. Zidovoma, na
katerih bosta okni, korigiramo notranje vertekse tako, da jih
prilagodimo naklonu ostalih dveh zidov. Celotnemu ogrodju hiše nastavimo material s klikom na urejevelnik materiala (Material Editor ali tipka M). Material poimenujemo
hiša.
4.
V glavni orodni vrstici poiščemo ikono za plasti, ki ima slikovno oznako treh vzporednih belih površin. Ogrodje hiše
postavimo v 1. plast ter pričnemo z modeliranjem strehe v
2. plasti. Streho oblikujemo iz oglatega primitiva Box tako,
da nastavimo velikosti dolžine in širine nekoliko večje kot
osnovne velikosti hiše, debelina strehe pa naj bo 0,4 m.
3D
3-a.
3-b.
4-a.
4-b.
Slika 12.04-c. Potek praktičnega primera izdelave 3D slike v
programu 3ds Max
219
5.
5.
Del strehe spremenimo v urejevalni način (desni klik na
objekt, Convert to Edible Poly) ter označimo štiri vertekse,
ki jih nato potegnemo navzdol ter oblikujemo po naklonu
ogrodja.
6.
S funkcijo zrcaljenja (Mirror), ki se nahaja v orodjih (Tools) v
glavni ukazni vrstici, prezrcalimo polovico strehe čez os z.
6.
7.
Odprtino za vrata naredimo tako, da v načinu za urejanje poligonov (Modify, Polygon) označimo in izbrišemo poligone,
ki smo jih predhodno določili za vrata z razrezom zidu.
8.
Odprtino za okna dosežemo tako, da v načinu za urejanje
poligonov (Modify, Polygon) označimo in izbrišemo poligone, ki smo jih predhodno določili za okna z razrezom
zidu.
7.
Slika 12.04-d. Potek praktičnega primera izdelave 3D slike v programu 3ds Max
220
3D
8.
9-a.
Slika 12.04-e. Potek praktičnega primera izdelave 3D slike v
programu 3ds Max
9-b.
9.
Za modeliranje odebeljenega dela vhoda in oken izberemo
v paleti za kreiranje razširjena primitiva C in L (Extended
primitive, C-Ext, L-Ext) ter glede na odprtine v hiši oblikujemo betonski del vrat in oken.
221
10.
10.
Streho in nove dele hiše označimo ter jim določimo nov
material Beton ter v difuzni komponenti (Basic Parameters,
Diffuse) zaenkrat določimo le nekoliko temnejšo sivo barvo.
11.
Ker bo imela streha posebno teksturo v urejevalnem načinu
za poligone (Modify, Polygon), označimo zgornja dva poligona obeh polovic strehe ter jima določimo nov material
imenovan Streha, ki mu v difuzni komponenti (Basic Parameters, Diffuse) določimo rjavo-oranžno barvo.
11.
12.
12.
S pomočjo palete za kreiranje primitivov (Create, Shapes,
Circle) oblikujemo pod hišo plosko obliko v obliki kroga, ki
naj bo precej večja kot hiša ter ji dodamo belo barvo.
13.
Po modeliranju objekta in določanju materialov nastavimo
lastnosti tekstur zidovja in strehe hiše. Izberemo urejevalnik materialov (Material Editor, M) ter za material strehe
določimo difuzno komponento teksture (Diffuse Color) v
zavihku mape (Map), tako da naložimo 2D teksturo v obliki
bitmap slike za streho. Določimo trikratno ponavljanje teksture (Tilling). Za boljše prileganje obliki strehe bomo za to
teksturo uporabili še prilagajanje s pomočjo funkcije UVW
Mapping v izboru Modify List. V razdelku Parameters uporabimo planarni način (Planar), velikost teksture (Lenght,
Width) pa prilagodimo velikosti strehe.
Slika 12.04-f. Potek praktičnega primera izdelave 3D slike v
programu 3ds Max
222
3D
13.
14.
Teksturo za zidove projiciramo na podoben način, le da
uporabimo ploskovno projiciranje (Texture, Planar from Object XYZ) in ponavljanje prilagodimo dimenzijam zidov na
vseh straneh. Tako v primeru strehe kot tudi zidov v reliefni
komponenti (Bump) uporabimo enake nastavitve, kot smo
jih uporabili v difuzni komponenti teksture. To naredimo
tako, da v zavihku Maps prenesemo nastavitve iz Diffuse
v Bump. Če je potrebno pri slednjem popravimo vrednost
vpliva na 100 %. Za vizualiziranje teksture v predogledu
modelirnika kliknemo na ikono v urejevalniku materialov
Show Standard Map in Viewport.
14.
Slika 12.04-g. Potek praktičnega primera izdelave 3D slike v
programu 3ds Max
223
15.
Po končanem modeliranju ter definiciji materialov in tekstur
postavimo sceno. Ciljno kamero (Target Camera) določimo
tako, da bomo hišo videli iz želenega zornega kota. Nastavitev kamere ne spreminjamo, le po potrebi vidno polje
torej lastnosti leč (Stock Lenses).
16.
Hišo osvetlimo z izvorom svetlobe Omni in v razdelku Shadows nastavimo Area Shadows. Luč namestimo dovolj oddaljeno od objekta ter v urejevalniku nastavitev luči prilagodimo intenziteto svetlobe (Intensity/Color/Attenuation) na
vrednost Multiplier 1,5. V zavihku Area shadows določimo
pravokotno obliko luči (Basic Option, Rectangle light). Pod
Antialiasing options določimo lastnosti sence Shadow Integrity 2 in Shadow Quality 10. Mehke sence bomo dosegli
s površino osvetljevanja luči – Area Light Dimensions, ki naj
bo večja od dimenzij hiše (6 m širine in 6 m dolžine).
17.
Barvo ozadja izberemo s funkcijo v glavni ukazni vrstici za
upodabljanje (Rendering) in funkcijo za okolje (Environment). V razdelku Common Parameters in Background
določimo belo barvo ozadja.
Slika 12.04-h. Potek praktičnega primera izdelave 3D slike
v programu 3ds Max
15.
224
3D
16.
18.
Oster rob diska pod hišo je precej viden, zato ga bomo
prekrili s posebnim trikom. Podlagi bomo določili nov material. V lastnostih materiala bomo bomo ta material imenovali Podlaga ter mu določili način senčenja (Shader Basic
Parameters) z imenom Translucent. V zavihku Maps nato
določimo v opacitetni komponenti (Opacity) 2D mapo Gradient ter vklopimo tudi translucentno komponento (Translucent Color). Pod Gradient Parameters določimo prvo in
drugo barvo črno, tretjo pa belo ter vrednost Color 2, Position 0,1 ter radialno razporeditev (Radial).
18.
17.
Slika 12.04-i. Potek praktičnega primera izdelave 3D slike v
programu 3ds Max
225
19.
Na tej točki dela je potrebno nastaviti parametre upodabljanja. To storimo z izborom funkcije v glavni ukazni vrstici
Rendering – nastavitve upodabljanja (Render Setup). V
razdelku Renderer označimo le opciji upodabljanja senc
(Shadows) in mapiranja (Mapping), medtem ko refleksijo, lom in zrcalnosti (Reflect, Refrect, Mirror) izklopimo.
Mehčanje robov nastavimo v razdelku Antialiasing filter
tipa Area z vrednostjo 1,0 (Filter Size). Na področju Global
SuperSampling omogočimo Enable Global SuperSampling
19.
ter uporabimo način Adaptive Uniform z vrednostjo Supersample Maps kvalitete 1 in načina Adaptive s pragom 0,01
(Treshold).
20.
Velikost slike določimo v zavihku nastavitev za upodabljanje
Common, in sicer v razdelku Output Size 1200×800 pikslov.
Končno upodabljanje omogočimo s pritiskom na ukaz
Render.
20.
Slika 12.04-j. Potek praktičnega primera izdelave 3D slike v
programu 3ds Max
226
3D
Izdelava slike s programom
Maya 2009
Maya (“iluzija” v sanskritskem jeziku) se je začela razvijati
leta 1993 iz treh platform podjetij Alias, TDI in Wavefront
(ki je kasneje kupil TDI). Leta 1995 je Silicon Graphics Inc.
(SGI) kupil obe podjetji ter razvijal opremo v okviru podjetja Alias|Wavefront. Na osnovi predhodnih programskih
paketov obeh podjetij je bilo konec devetdesetih let, v
sodelovanju z animatorji Disnejevih studiev, razvito novo
programsko orodje. Leta 2003 se je podjetje preimenovalo v Alias, tega pa je tri leta kasneje kupil Autodesk, ki še
naprej razvija to orodje.
1.
V meniju izberemo Create/Polygon Primitives/Cube ter
mu določimo dimenzije 5x2x5 m (širina, višina in globina).
V oknu na desni strani zaslona pod Create Settings/Width
divisions nastavimo 2, kar nam po vertikali razdeli štiri stranice, vsako na dva poligona.
Slika 12.05-a. Potek praktičnega primera izdelave 3D slike v
programu Maya
1.
227
2.
S klikom desnega gumba miške na delovno površino aktiviramo hitri meni, iz katerega izberemo Vertex. S tem vklopimo možnost manipuliranja verteksov. Izberemo srednja
dva na zgornjem delu kvadra ter ju premaknemo za dva
metra više.
3.
3.
V meniju zopet izberemo Create/Polygon Primitives/Cube
in izdelamo tanjši kvader, po površini nekoliko večji od
polovičnega tlorisa hiše. Ta nam bo predstavljal levi del
strehe.
4.
Z desnim klikom miške ponovno izberemo Vertex iz hitrega
menija, označimo vse štiri leve vertekse na novo kreiranem
pravokotniku in jih povlečemo dol tako, da bosta zgornja
in spodnja ploskev tega pravokotnika vzporedna s streho.
Z izborom ukaza Mesh/Mirror Geometry ta pravokotnik
podvojimo in prezrcalimo na desno stran hiše. Streha je
nared.
4.
2.
Slika 12.05-b. Potek praktičnega primera izdelave 3D slike
v programu Maya
228
3D
5.
Obliko hiše skopiramo in pomanjšamo. Spodnjo ploskev
pomanjšane hiše pomaknemo navzdol tako, da bo nižja
od spodnje ploskve večje oblike hiše. Označili bomo obe
obliki: najprej večjo (objekt, ki ga bomo luknjali), nato pa
manjšo (objekt, s katerim bomo luknjali). V meniju izberemo Mesh/Boolean/Difference. S tem izdolbemo telo hiše
oziroma dodelimo debelino stenam, brez dna.
6.
S Create/Polygon Primitives/Cube dorišemo tri pravokotnike: enega za vrata in dva za okni. Izberemo izdolbeno telo
hiše in nato enega izmed pravokotnikov, ki smo jih namenili
za luknjanje vrat in oken. Ta dva objekta zopet odštejemo
z ukazom iz menija Mesh/Boolean/Difference. Še dvakrat
ponovimo isto operacijo, tokrat z ostalima dvema pravokotnikoma.
5.
6.
7.
S podobnim modelirnim procesom naredimo še okvir oken
in vrat. Najprej dodamo kvader, ki bo malce večji od velikosti
okna po vseh oseh. Podvojimo ga ter dvojniku spremenimo
velikost tako, da je po širini in višini manjši od predhodnika,
po globini pa večji. Z Booleovim operatorjem ga odštejemo
od prejšnjega kvadra in tako dobimo okvir okna.
7.
Slika 12.05-c. Potek praktičnega primera izdelave 3D slike v
programu Maya
229
9-a.
8.
Slika 12.05-d. Potek praktičnega primera izdelave 3D slike
v programu Maya
9-b.
9-c.
9-d.
230
3D
8.
Prejšnji okvir podvojimo še za nasprotno stran hiše. Istega
bomo uporabili tudi za okvir vrat. Podvojimo ga, namestimo
na odprtino za vrata ter ga z le-to ulovimo s premikanjem
verteksev. Ker je okvir vrat spodaj odprt, izdelujemo ga pa
iz okenskega okvirja, bomo ta, spodnji del, odrezali stran.
Izdelamo kvader, katerega zgornja stranica se bo dotikala
spodnjega dela hiše, po širini in globini pa mora biti večji od
okvirja vrat. Zopet uporabimo Booleovo odštevanje.
10.
Zadnji del procesa modeliranja so tla. Dorišemo jih z ukazom iz menija Create/Polygon Primitives/Plane. Velikost
nastavimo veliko večjo od površine tlorisa hiše.
9.
Model je končan in na vrsti je dodeljevanje in nastavljanje
parametrov materialov. Da Mayin vmesnik pripravimo na ta
poseg, najprej v meniju v skrajno levem kotu orodne vrstice
izberemo Rendering.
Začnemo z dodeljevanjem materiala za zid. Izberemo telo
hiše, nato pa dodelimo Lambert material v meniju Lighting/Shading/Assign New Material/Lambert, ki je eden
najosnovnejših materialov. Poimenujemo ga stene. Za dodeljevanje barvne teksture kliknemo na ikono desno od
drsnika poleg parametra Color. Pojavi se novo okno z nastavitvami za mapiranje, to pa nastavimo na kubično s Proj
Type/ TriPlanar. Teksturo dodamo tako, da kliknemo na ikono desno od drsnika za parameter Image. Na desni strani
zaslona Maye se pojavijo nastavitve slike, ki bo uporabljena
za teksturo. Pod Image Name z diska izberemo sliko kamene
stene. V kolikor želimo sliko pomanjšati in ji definirati ponavljanje, to uredimo v zavihku Place2dTexture.
Slika 12.05-e. Potek praktičnega primera izdelave 3D slike v
programu Maya
10.
Tlom ravno tako dodelimo Lambert material, ki pa ne bo
potreboval teksture. Barvo nastavimo na belo, da bo ta dovolj svetla, ampak vseeno ne tako, da bo presvetlila sence.
Moramo dobiti pravo razmerje med parametroma Ambient
Color in Diffuse. V našem primeru je slednji na 1, ambientalno barvo pa smo nastavili malo pod polovično vrednost.
231
11.
Ker bomo določili material samo zgornjima ploskvama strehe, ju označimo tako, da izberemo samo ta dva poligona.
Z desnim klikom miške v hitrem meniju izberemo Face in
nato še poligona. Ponovno izberemo Lambert material in
postopamo podobno kot pri dodeljevanju materiala za zid.
Razlika je le v tem, da si za projekcijo izberemo ploskovno, torej v oknu za barvo, Projection Attributes/Proj Type/
Planar. Projekcijo teksture lahko interaktivno nastavimo z
gumbom Interactive Placement.
12.
Postavimo še kamero in luč, obe na isto mesto in enako
usmerjeni, torej tako, da bosta obrnjeni proti sprednjemu,
desnemu in zgornjemu delu hiše. Kamero kreiramo v meniju pod Create/Cameras/Camera, luč pa pod Create/Lights/
Directional Light.
12.
13.
13.
V nastavitvah za kamero pod Environment nastavimo belo
barvo. To je barva ozadja.
11.
Slika 12.05-f. Potek praktičnega primera izdelave 3D slike v
programu Maya
232
3D
14.
V nastavitvah za luč, pod Directional Light Attributes, tej
nastavimo belo barvo, intenziteto 1.8 in barvo sence črno
(Shadows). Pod Raytrace Shadows Attributes nastavimo kot
razpršenosti svetlobe (Light Angle) na 15°. Kvaliteto sence
izberemo s Shadow Rays: večja kot je vrednost, boljša je
kvaliteta, hkrati pa tudi veliko daljši čas upodabljanja. S
poiskusi dobimo optimalno vrednost. V našem primeru je
zadostovalo 24.
Slika 12.05-f. Potek praktičnega primera izdelave 3D slike v
programu Maya
14.
15.
Zadnji korak so nastavitve za upodabljanje. Te dobimo v
meniju pod Window/Rendering Editors/Render Settings.
Pod File Output si izberemo pot in tip izhodne slike, pod
Image Size pa njeno velikost. V zavihku Maya Software
nastavimo še kvaliteto izhodne slike, za optimizacijo katere
moramo narediti nekaj poskusov, da pridemo do pravilnega razmerja med kvaliteto in časom upodabljanja. V tem
primeru smo nastavili mehčanje robov (Anti-aliasing Quality) na Quality/Production quality in Edge anti-aliasing/
Highest quality. Za nezrnat izris sence moramo v Raytracing
Quality povečati kvaliteto senc na maksimalno (Shadows =
10). Upodabljanje zaženemo v meniju Render/Render Current Frame.
15-a.
15-b.
233
Izdelava slike s programom
Blender 2.49
Začetki programa Blender segajo v leto 1995. Njegov oče
je Ton Roosedaal, ustanovitelj studia NeoGeo. Ker prodaja
ni dosegla pričakovanih rezultatov, je leta 2002 ustanovil
neprofitno organizacijo Blender Foundation. Ta je skrbela
za razvoj programa, ki se je zato preoblikoval v program
odprte kode. Blender je danes dostopen v vseh treh glavnih
operacijskih sistemih (Windows, Mac OS in Linux).
3.
Ta kvader nato v načinu urejanja Edit (Tab) z bližnjico
CTRL+R prerežemo po navpični osi. Prerežejo se sprednja,
zadnja, zgornja in spodnja ploskev. Sredinski rob zgornje
ploskve dvignemo za 2 enoti, kar pomeni, da je sedaj sleme
dvignjeno za 2 m v primerjavi z višino stranskih sten.
1.
V prostor z ukazom Add/Mesh/Cube postavimo kocko. To
kocko velikostno spremenimo v kvader dimenzij 5 enot v x,
5 enot v y in 2 enoti v z osi.
2.
Pri tem si pomagamo s paleto Transform, ki je dostopna z
bližnjico N ali pa kar z bližnjico S in ročnim vnašanjem vrednosti velikosti za posamezne koordinate.
2.
Slika 12.05-a. Potek praktičnega primera izdelave 3D slike v
programu Blender
1.
234
3.
3D
4.
Zaredi lažjega dela z objekti uporabimo žični pogled (tipka
Z). Naredimo kopijo tega objekta (SHIFT+D) in ga malce
pomanjšamo.
5.
5.
Z uporabo Booleovih operatorjev (tipka W) odštejemo en
objekt od drugega (Difference). Tako dobimo objekt hiše, ki
je predstavljen samo s stenami. Pri uporabi teh operatorjev
moramo biti pozorni na vrstni red označevanja objektov.
Najprej označimo objekt, od katerega bomo odštevali, za
njim pa objekt, s katerim bomo odštevali.
6.
Za vrata in okno uporabimo isti postopek Booleovih operatorjev, pri čemer za vrata uporabimo kvader, za okna pa
kocko.
7.
Tako imamo v tem trenutku izdelane vse stene hiše s
potrebnimi odprtinami.
6.
Slika 12.05-b. Potek praktičnega primera izdelave 3D slike
v programu Blender
4.
7.
235
8.
Okvirje okna in vrat izdelamo iz kvadrov – uporabimo kocke,
jih velikostno ustrezno spremenimo in postavimo na željena
mesta.
Slika 12.05-c. Potek praktičnega primera izdelave 3D slike v
programu Blender
8.
9.
Za lažje delo v nadaljnih postopkih elemente vratnega in
okenskega okvirja združimo (Ctrl+J).
10.
Streho naredimo tako, da v načinu urejanja objekta Edit
(Tab) označimo poševno ploskev strehe in jo ločimo od ostalih elementov objekta. To storimo z bližnjico P in izbiro
Selected. Nato to ločeno ploskev z Extrude (tipka E) v načinu
Edit izvlečemo v navpični osi in dobimo objekt, ki nam predstavlja polovico strehe.
11.
Ker streha sega malce čez stene hiše, objekt ustrezno
povečamo in postavimo na pravo mesto. Isti postopek uporabimo tudi za drugo polovico strehe. Modeliranje hiše je s
tem končano.
9.
236
10.
3D
11.
V zadnjem koraku modeliranja dodamo še ploskev z Add/
Mesh/Plane, ki predstavlja tla, na katera se bo projicirala
senca. Tla ustrezno povečamo (tipka S) in postavimo na
pravo mesto.
12.
Za dodajanje materialov (barve, teksture in slikovni vzorci)
moramo le-te najprej pripraviti. V področju Shading (tipka
F5) dodamo nov materjal v paleti Links and Pipeline. Materiale je zaradi organizacije in možne večkratne uporabe
smiselno poimenovati (zid, streha, kamnita stena, tla).
12.
13.
Strehi moramo dodati slikovno teksturo. To storimo v paleti
dodajanja tekstur (tipka F6), kjer sliko izberemo in naložimo
z diska preko ukaza Image/Load. Podobno storimo za slikovni vzorec kamna, ki je namenjen stenam hiše. Za zid lahko
uporabimo samo nastavitev sive barve.
Slika 12.05-d. Potek praktičnega primera izdelave 3D slike
v programu Blender
13.
237
Slika 12.05-e. Potek praktičnega primera izdelave 3D slike v
programu Blender
14.
15.
16.
238
3D
14.
V načinu urejanja Edit (Tab) določimo materiale posameznim ploskvam objekta. Streha, na primer, bo imela
vzorec strešnikov samo na zgornjih ploskvah, stranske pa
imajo material, ki ustreza betonu. Posameznim ploskvam
določimo materiale tako, da označimo ploskev. V seznamu
izberemo material in ga pripnemo z gumbom Assign. Lahko
pa pripnemo pripravljen material tudi celotnemu objektu v
objektnem načinu.
15.
Ker se slika pripne preko celotnega objekta ali ploskve, je
potrebno ponastaviti njeno velikost po naših potrebah.
Sliko v paleti Map Input geometrijsko spremenimo tako, da
jo po x in y koordinati stisnemo (SizeX in SizeY).
16.
Zadnji korak je nastavitev svetlobnih virov. Dostopni so
pod ikono žarnice. Za enakomeren svetlobni vir uporabimo Hemi, za ustvarjanje sence pa svetlobni vir Spot, kjer
mu nastavimo samo ustvarjenje senc (Only Shadow), brez
osvetljevanja. S malce preiskušanja dobimo ustrezne nastavitve moči in smeri svetlobnega vira ter sence.
18.
Končni rezultat viden v Blenderju.
Slika 12.05-e. Potek praktičnega primera izdelave 3D slike v
programu Blender
18.
17.
Nastavite upodabljanja dobimo v oknu z gumbi pod bližnjico
F10, tu pa določimo dimenzije upodobljene slike (SizeX in
SizeY) in format datoteke (na primer JPEG).
17.
239
Galerija
Slika 13.01.
Soenke Maeter
Reaching Out
243
Maxim Goudin
Abandoned Station
244
Slika 13.02.
3D
Daniel Lovas
Thegg Mining Outpost
Slika 13.03.
245
Marco Bauriedel
Cityscape
Slika 13.04.
Ricardo Meixueiro
Formicidae
Slika 13.05.
Denis Tolkishevsky
Prototype
248
Slika 13.06.
3D
Michael Grote
Steampunk Camera
Slika 13.07.
249
Slika 13.08.
Aleksander Kuskov
Shoker
Eugenio Garcia Villarreal
Monterrey 1910
Slika 13.09.
Liyidong
Relic
252
Slika 13.10.
3D
Slika 13.11.
Igor Catto
Sailor Girl
253
Slika 13.12.
Jian Xu
Guan Guan
Ivan Ozyumov
Old Woman
Slika 13.13.
Nick Govacko
Petrol Head
Slika 13.14.
Slika 13.15.
Teoh Wei Liat
King Kittan the Great
Slika 13.16.
Sven Juhlin
Hammerhead
258
3D
Neil Maccormac
Green Man
Slika 13.17.
259
Roger Vilà Castañé
Classic Living Room
Slika 13.18.
Chen Qingfeng
Elapsing
Slika 13.19.
Slika 13.20. Zajem zaslona projekta slike Reaching Out
(Slika 13.01.). Programska oprema: Blender
Slika 13.22. Zajem zaslona projekta slike Thegg Mining
Outpost (Slika 13.03.). Programska oprema: Cinema 4D
Slika 13.21. Zajem zaslona projekta slike Abandoned
Station (Slika 13.02.). Programska oprema: 3ds Max
Slika 13.23. Zajem zaslona projekta slike Cityscape
(Slika 13.04.). Programska oprema: Maya
262
3D
Slika 13.24. Zajem zaslona projekta slike Formicidae
(Slika 13.05.). Programska oprema: Maya, CyGen
Slika 13.26. Zajem zaslona projekta slike Steampunk
Camera (Slika 13.07.). Programska oprema: 3ds Max
Slika 13.25. Zajem zaslona projekta slike Prototype
(Slika 13.06.). Programska oprema: 3ds Max, V-Ray
Slika 13.27. Zajem zaslona projekta slike Shoker
(Slika 13.08.). Programska oprema:
263
Slika 13.28. Zajem zaslona projekta slike Monterrey 1910
(Slika 13.09.). Programska oprema: LightWave 3D
Slika 13.30. Zajem zaslona projekta slike Sailor Girl
(Slika 13.11.). Programska oprema: XSI, ZBrush
Slika 13.29. Zajem zaslona projekta slike Relic
(Slika 13.10.). Programska oprema: Maya
Slika 13.31. Zajem zaslona projekta slike Guan Guan
(Slika 13.12.). Programska oprema: 3ds Max, ZBrush
264
3D
Slika 13.32. Zajem zaslona projekta slike Old Woman
(Slika 13.13.). Programska oprema: 3ds Max, ZBrush
Slika 13.34. Zajem zaslona projekta slike King Kittan the
Great (Slika 13.15.). Programska oprema: Maya
Slika 13.33. Zajem zaslona projekta slike Petrol Head
(Slika 13.14.). Programska oprema: Maya, ZBrush
Slika 13.35. Zajem zaslona projekta slike Hammerhead
(Slika 13.16.). Programska oprema: Maya, ZBrush
265
Slika 13.36. Zajem zaslona projekta slike Green Man
(Slika 13.17.). Programska oprema: LightWave 3D
Slika 13.38. Zajem zaslona projekta slike Elapsing
(Slika 13.19.). Programska oprema: 3ds Max
Slika 13.37. Zajem zaslona projekta slike Classic Living
Room (Slika 13.18.). Programska oprema: 3ds Max, V-Ray
266
3D
Devetnajst mednarodno izbranih avtorjev je prijazno dovolilo uporabo svojih grafičnih izdelkov, katerih glavno orodje
so programi za 3D modeliranje in upodabljanje. Za vsako
sliko posebej je dodan še zajem zaslona programskega
orodja in pričujočega projekta, kar nam omogoča vpogled
v njegovo ozadje ter primer razmerja med uporabo modeliranja in teksturiranja.
Nabor slik v galeriji nakazuje na izredno vsestranskost 3Dja kot ilustrativne forme, v tem primeru v statični obliki.
Prvih pet slik opisuje fantazijske svetove, katerih kompleksnost detajlov je nezanemarljiva. Naslednje štiri slike se
stilsko oklepajo retrofuturizma, steam punka in zgodovinske reprezentacije ter se konceptualno lepo umestijo v nadaljevanje s slikama Relic in Sailor Girl. Čeprav sta si slednji
dve sliki med seboj tako različni glede pristopa, ju družita
atmosfera in estetika časa druge svetovne vojne.
Organske forme so največji izziv 3D ustvarjalcem. S tem sta
se zelo uspešno spoprijela Jian Xu in Ivan Ozyumov ter nakazala zmožnost fotorealizma v 3D-ju, tudi kar se tiče tako
zahtevnega subjekta, kot je človek.
Čisto nasprotje temu sta naslednji dve sliki, saj njun stil meji
na klasično ilustracijo. Hammerhead in Green Man prikazujeta, kako se je intenziteta učinka znanstvene fantastike v
filmski industriji s 3D-jem razvila na popolnoma nov nivo.
Zadnji dve sliki sta primera boljše arhitekturne vizualizacije, ena za interier, druga pa za zunanjost. Čeprav sta obe
z modelirnega vidika najmanj zahtevni od vseh primerov v
tej galeriji, vsako od njiju odlikuje uporaba ostalih tehnik:
Classic Living Room ima zelo premišljeno osvetlitev, tako da
čim bolje opisuje razmere, ki se bodo s tega vidika pojavile
v realni situaciji, Elapsing pa je dokaz, da lahko relativno
preprost model zelo dobro poudarimo z uporabo tekstur.
267
Slikovno gradivo
Blaž Erzetič
01.02., 02.01, 02.02., 02.04. - 02.12., 03.01 - 03.15., 05.01. - 05.05., 05.07. - 05.11.,
05.13. - 05.29., 05.31. - 05.42., 06.01., 06.03. - 06.07., 06.10. - 06.12., 06.14. 06.42., 07.04., 07.17. - 07.48., 08.04., 08.09., 08.11. - 08.30., 09.11., 09.13., 09.18.
- 09.27., 10.01. - 10.08., 10.11. - 10.24., 11.02., 12.01. - 12.03.
Helena Gabrijelčič
04.01., 04.02., 04.04. - 04.15., 04.17., 04.18.,
07.01. - 07.03., 07.09., 07.12. - 07.14., 08.01. - 08.03.,
08.05. - 08.07., 09.01., 09.03., 12.04.
Helena Gabrijelčič in Blaž Erzetič
04.03., 04.16., 08.08.
Janja Pirc
05.06., 05.30., 12.05.
Janja Pirc in Blaž Erzetič
08.31.
Blaž Erzetič in iStock Photo
06.13., 10.10.
Helena Gabrijelčič in iStock Photo
07.05. - 07.08., 07.10., 07.11., 09.02.
Andrej Iskra
12.06.
iStock Photo
05.12., 07.15., 07.16., 08.10., 09.17., 10.09., 11.03., 11.04., 11.14., 11.15.
Shutterstock
10.25.
Slike z licenco Creative Commons Attribution Share Alike 3.0 (www.
creativecommons.org/licenses/by-sa/3.0/)
02.03, 06.02, 06.08, 06.09
William Fetter, Boeing Laboratories
(vir: sophia.javeriana.edu.co/~ochavarr/computer_graphics_history/historia/)
01.01.
Disney Studios (vir: hollywoodjesus.com/tron.htm)
01.03.
Warner Bros
(vir: rhyminstealin.com/2009/04/12/top-10-animatedmusic-videos-of-all-time/)
01.04.
Muzej in galerije mesta Ljubljana
09.04.
Zvonko Čoh, Milan Erič
09.05.
Špela Čadež (www.spelacadez.com)
09.06.
Igor Šinkovec (www.bugbrain.com/igor)
09.07., 09.08.
Dušan Kastelic (www.bugbrain.com/dusan)
09.09.
Disney/Pixar (vir: movie-poster.ws/movies/cartoons/Toy_Story.htm)
09.10.
Marcin Waśko / Platige Image (www.platige.com)
09.12.
Kolektivni Kartoni (www.qollectivecartoons.com)
09.14., 09.15.
Kirk, A. G., O’Brien, J. F., Forsyth, D. A., “Skeletal Parameter Estimation from Optical
Motion Capture Data.” InProceedings of the IEEE Conf. on Computer Vision and
Pattern Recognition (CVPR) 2005, pages 782-788, San Diego, California, June 2005.
09.16.
ZootFly (www.zootfly.com)
11.01., 11.08.
268
3D
Cybermind Interactive Nederland (www.cybermindnl.com)
11.05.
CyberGlove Systems LLC (www.cyberglovesystems.com)
11.06.
3Dconnexion (www.3dconnexion.com)
11.07.
021202-N-5862D-015 Naval Air Station (NAS) Oceana, Va. (Dec. 2, 2002). Navy photo
by Chief Photographer’s Mate Chris Desmond. (vir: http://commons.wikimedia.org/
wiki/File:Flugsimulator.jpg)
11.09.
Endeavor Project (cvrg.cs.usm.my/dvtrs/)
11.10.
Google Earth (earth.google.com)
11.11.
Linden Reasearch Inc. (www.secondlife.com)
11.12.
Mobilizy (www.mobilizy.com)
11.13.
Wizard Solutions Inc. (www.intoronto.com)
11.16.
Assembly Organizing / Tuomas Siitonen (www.assembly.com)
11.17.
Conspiracy demogroup (www.conspiracy.hu)
11.18.
Narvika Bovcon, Barak Reiser, Aleš Vaupotič (black.fri.uni-lj.si)
11.19.
Soenke Maeter (www.visual-noise.org),
Maxim Goudin (melcahim.daportfolio.com),
Daniel Lovas (dlovas.wordpress.com),
Marco Bauriedel (www.marcobauriedel.com),
Ricardo Meixueiro (www.inetgrafx.com),
Denis Tolkishevsky (www.to3d.ru),
Michael Grote (www.mgrote.com),
Aleksandr Kuskov,
Eugenio Garcia Villarreal,
Liyidong,
Igor Catto (igorcatto.blogspot.com),
Jian Xu,
Ivan Ozyumov,
Nick Govacko,
Teoh Wei Liat (www.twlart.blogspot.com),
Sven Juhlin (www.daybreakcg.com),
Neil Maccormack (www.bearfootfilms.com),
Roger Vilà Castañé (rogervilac.wordpress.com),
Chen Qingfeng (www.chen3d.com)
13.01. - 13.38.
Dodatno tekstovno gradivo
Andrej Iskra
str. 234-239
269
Literaturni viri
Al-Azzawi, A. (2007). Light and optics : principles and practices. Boca Raton : CRC :
Taylor & Francis.
Arnold, M. Delavnica za animacije. Monitor, marec 2005. Dostopno na: http://www.
monitor.si/clanek/delavnica-za-animacije/.
Ang, T. (2005). Photography. London : Dorling Kindersley.
Beck, J.; Friedwald, W. (1997). Animation art : the characters : the creators. New
York : Warner Bros.
Beck, J. (2004). Animation art : from pencil to pixel, the history of cartoon, anime &
CGI. London : Flame Tree.
Bertoline, G. R. (2006). Introduction to graphics communications for Engineers (3.
izd.). Boston : McGraw-Hill Higher Education.
Birn, J. (2006). [Digital] lighting & rendering (2. izd.). Berkeley, CA : New Riders.
Danaher, S. (2004). Digital 3D design. Boston, MA : Thomson/Course Technology.
Dancyger, K. (2002). The technique of film and video editing : history, theory, and
practice. (3. izd.). Amsterdam : Focal Press.
Jeler, S.; Kumar, M. (2001). Interdisciplinarnost barve. Maribor : Društvo koloristov
Slovenije.
Jovanović, J.; Milovanovič Jarh, S.; Milovanovič Jarh, P. (2008). Uvod v filmsko
mišljenje. Ljubljana : Umco.
Kerlow, I. V. (2009). The art of 3D : computer animation and Effects (4. izd.).
Hoboken, NY : John Wiley.
Kladnik, R. (1989). Visokošolska fizika - 3 del, Valovni pojavi. Ljubljana : Državna
založba Slovenije.
Krasner, J. S. (2004). Motion graphic design & fine art animation : principles and
practice. Amsterdam: Elsevier : Focal Press.
Lee, H. C. (2005). Introduction to color imaging science. Cambridge : Cambridge
University Press.
Lewandowsky, P.; Zeischegg, F. (2003). A practical guide to digital design. Cransprès-Céligny : AVA.
Lezano, D.; Kos, A. (2002). Kompaktni in digitalni fotoaparat : priročnik za uspešno
fotografiranje z novo generacijo fotoaparatov. Ljubljana : Mladinska knjiga.
Lord, P.; Sibley, B. (2004). Cracking animation. London : Thames & Hudson.
Demers, O.; Urszenyi, C. (2002). Digital texturing & painting. Indianapolis, Ind. :
New Riders.
Lynch, D. K.; Livingstone, W. (2001). Color and light in nature (2. izd.). Cambridge,
New York : Cambridge University Press.
Divjak, S.; Marolt, M.; Privošnik, M.; Kavčič, A. (2000). Računalniška grafika.
Ljubljana : Fakulteta za računalništvo in informatiko.
MacDonald, L. W.; Ronnier L., M. (1999). Colour imaging : vision and technology.
Chichester: Wiley.
Eberly, D. H. (2001). 3D game engine design : a practical approach to real-time
computer graphics. San Francisco : Morgan Kaufmann.
Magiera, R.; Zimmermann, L. (2006). 3D tools for photographers, illustrators &
graphic designers. San Rafael : Autodesk.
Galardo, A. (2001). 3D lightening, history, concepts and techniques. Rockland, MA :
Charles Rivers Media Inc.
Martin, S.; Grosenick, U. (2006). Video art. Köln : Taschen.
Green, P. (1999). Understanding digital color (2. izd.). Pittsburgh : GATF, Surrey :
PIRA International.
Green, P.; MacDonald, L. (2002). Colour engineering : achieving device independent
colour. Chichester : Wiley.
Guid, N. (2001). Računalniška grafika. Maribor : Fakulteta za elektrotehniko,
računalništvo in informatiko.
Marušić, J. (2004). Alkemija animiranog filma : povijest estetika tehnologija. Zagreb
: Meander.
Mc Donald, R. (1997). Colour Physic for Industry (2. izd.). Bradford, England: Society
of Dyers and Colourists.
McWhinnie, A. (2001). Complete photography manual. London : Carlton.
Nassau, K. (1998). Color for science, art and technology. Amsterdam: Elsevier.
Hardeberg, J. Y. (2001). Acquisition and Reproduction of Color Images: Colorimetric
and Multispectral Approaches. Universal-Publishers.
Nassau, K. (2001). The physics and chemistry of color : the
fifteen causes of color (2. izd.). New York : Wiley.
Hess, R. (2008). The essential Blender : guide to 3D creation with the open source
suite Blender. Amsterdam : T. Roosendaal, Blender Foundation.
Oliver, D. (1992). Fractal vision: put fractals to work for you
Carmel : Sams Publishing.
Hunt, R. W. G. (2004). The reproduction of colour (6. izd.). Chichester, West Sussex,
England : John Wiley & Sons.
Paul, C. (2003). Digital art. London : Thames and Hudson.
Intihar, M. (2007). Digitalna fotografija : priročnik : osnove digitalne tehnike in
praktične izkušnje v fotografiji. Maribor : Comtron.
270
Pečenko, N. (2006). Fotografirajmo digitalno : o digitalnih fotoaparatih,
fotografiranju in obdelavi digitalnih fotografij. Ljubljana : Pasadena.
Pečenko, N.; Marko, A. (2006). Digitalne videokamere. Ljubljana : Pasadena.
3D
Rački, T. (2002). Z videokamero v roki : priročnik za ljubiteljske snemalce. Ljubljana
: Irida.
Robinson, J. (2006). Essential 3ds Max 8. Plano : Wordware Publishing.
Rosenhahn, B. (2008). Human motion : understanding, modeling, capture and
animation. Dordrecht : Springer.
Slatinšek, P. (2007). Animirani film in otoški program Slon 2007. Pedagoško gradivo
za učitelje in straše II. Dostopno na: http://www.animatekafestival.org/.
Dimri, V. P. (2005). Fractal Behaviour of the Earth System. Berlin, Heidelberg :
Springer.
Steinmetz, R.; Nahrstedt, K. (2004). Multimedia applications. Berlin, Heidelberg,
New York : Springer.
Tilley, R. J. D. (2000). Colour and optical properties of materials : an exploration
of the relationship between light, the optical properties of materials and colour.
Chichester : J. Wiley & Sons.
Valberg, A. (2005). Light, vision, color. Chichester : J. Wiley & Sons.
Watt, A. H. (2000). 3D computer graphics (3. izd.). Harlow : Addison-Wesley.
Watt, A. H.; Policarpo, F. (2003). 3D games. Vol. 2, Animation and advanced realtime rendering (1. izd.). Harlow : Addison-Wesley.
Webb, R. H. (2005). Elementary wave optics. Mineola : Dover Publications.
Webster, C. (2005). Animation : the mechanics of motion. Oxford, Burlington, MA :
Elsevier Focal Press.
Wells, L. (2004). Photography : a critical introduction (3. izd.). London, New York :
Routledge.
Wiedemann, J.; Ono, C.; Aiche, K.; Combes, M. (2001). Digital beauties : 2D & 3D
computer generated digital models, virtual idols and characters. Köln : Taschen.
Wiedemann, J. (2007). Animation now! Köln : Taschen.
Woolman, M. (2004). Motion design : moving graphics for television, music video,
cinema, and digital interfaces. Hove : RotoVision.
Zeegen, L. (2005). Digital illustration : a master class in creative image-making.
Mies, Hove : RotoVision.
271
Stvarno kazalo
absorpcija
aditivno barvno mešanje
AGP
alfa kanal
algoritem
ambientalna svetloba
amplituda
anaglif
animacija
animacije v realnem času
animacijska tehnika
animacijska zvrst
animirani film
animiranje
API
atmosfera
avatar
AVI
barva
barvna temperatura
barvni kanal
barvni model
barvni obseg
barvno teksturiranje z reliefnostjo
beta fenomen
Bezierjeva krivulja
Blender
BMP
Booleove operacije
Cantorjev nabor
CCD
CGI
CIE barvni model
cilindrični koordinatni sistem
cilindrično mapiranje
Cinema 4D
CMOS
CMY barvni model
CPE
daljica
deformacija
DEM
demo scena
difrakcija
difuzija
difuznost
digitalen
digitalna kamera
272
38, 98, 101, 102
39, 40, 44
194
48, 146, 147, 152, 181
8, 12, 13, 14, 17, 36, 82, 83, 84, 94, 98,
110, 117, 118, 145, 164, 188, 193
110, 111, 113, 116, 120, 123, 125, 127,
128, 129
82, 98, 105
18, 19, 150
10, 52, 62, 91, 117, 142, 146, 147, 148,
153-169, 172, 177, 188, 193-194, 201,
217
166
157-159, 163, 164
157-159, 166
138, 157, 158, 165, 166, 210, 217
17, 27, 159, 166, 168-170, 172, 186, 188,
190, 214
195
103, 109, 112, 116, 120, 126, 127-129,
160, 172, 267
199
147
18, 36-44, 47, 51, 64, 84, 85, 101, 102,
110, 116, 118, 128-130, 181, 232
107
47, 93, 147
33-47
36, 37, 39, 41, 46
13
156, 157
53
32, 206, 234-239, 262
147
56, 58, 66, 74, 211, 217, 229, 231, 235
80
134
163
39, 45-47
25, 26, 39, 46
89-93
262
134
39, 44
195
25, 27-29, 45, 80
52, 55, 70, 87, 89, 107, 117, 160, 169,
171, 173
52-54, 83, 87
197, 202
98, 104
98
85, 86
13, 44, 46, 53, 56, 134, 139-142, 144,
147, 159, 164, 177, 181, 200
46, 133, 200
digitalni signal
digitalna slika
Direct 3D
Disney
Disneyevi principi animacije
disperzija
dodatni učinki
DreamWorks
DVD
ekskluzivnost luči glede na objekt
elektromagnetno valovanje
elipsoid
Fresnelova enačba
fi fenomen
fiksno mapiranje
fiksno frontalno mapiranje
film
filmski
fokus, fokusirati
fotoaparat
fotografija
fotorealizem
fraktal, fraktalni
frekvenca
frontalno mapiranje
f-stop
galerija
generator
gibajoče slike
gibanje
gledišče
globina polja
globina rekurzije
globinska mapa
gneča
gorišče
goriščna razdalja
Gouraudovo senčenje
GPE
grafična kartica
grafični medpomnilnik
grafični, uporabniški vmesnik
gravitacija
GUI
hierarhija
histogram
hologram
HSL barvni model
HSV barvni model
indirektno osvetljevanje
informacija o globini
iniciator
134, 139
141
195
14, 164, 165
159, 160, 162
19, 98, 105
140, 148
14, 165
147
110, 111, 120
35, 37, 38, 40, 45, 97, 98
30, 56, 58
86, 99, 118
156
179
179
14, 18, 19, 21, 22, 112, 117, 133, 134,
138, 139, 157-160, 164-166, 177, 178,
181, 201
10, 13, 14, 134, 138, 139, 156, 166, 177
20, 22, 28, 39, 136-138, 142
133, 134, 140
8, 17, 18, 21, 74, 97, 133, 148, 149, 156,
166, 177-181
166, 167
12, 54, 79-83, 94
21,48, 82, 97, 98, 100, 104, 144
178, 179
134, 138
158, 241, 267
17, 82, 83, 182, 184, 186
133, 135, 138, 155, 163
12, 35, 107, 133, 135, 138, 139, 142,
155-159, 161, 163, 168, 169
8, 20, 51, 63, 140, 143, 146
133, 136, 137, 142
144-146
117
186
133, 135, 136
133-138, 140,
84
194, 195
19, 194, 195
13
8, 12, 25, 35, 62, 63, 144, 193, 195, 208,
214, 231
55, 161, 172-174, 177, 183, 184, 186,
188
12
62, 171
47, 48
21, 22
39, 41-43, 46
39, 41-43, 47
111, 113, 116, 118, 125, 127, 128
12, 20, 146-148, 150, 152
80
3D
intenziteta luči, osvetlitve, svetlobe
interferenca
iteracija
plavajoča vejica
izrinjanje
JPEG
Juliajev nabor
kamera
kartezični koordinatni sistem
kavstika
kinematografija
klasična animacija
klasična kamera
Kochova snežinka, krivulja
kolizija
kombinacija luči
kompresija
koordinatni sistem, os
krivulja
krogelno mapiranje
krogla
kubično mapiranje
Lambert-Beerov zakon
leča
lečne slike
Liapunovov fraktal
LightWave
linearna luč
ločljivost
lom
lomni količnik
Lorenzov atraktor
luči
machinima
Mandelbrotov fraktal
mapirana senca
mapiranje
mapiranje prestavitev
materiali
materija
matična plošča
Maya
megla
meglenje premika
13, 51, 85, 86, 99, 101-104, 109, 110112, 116, 118, 123, 124, 224, 233
98, 104
80, 81, 83
194
28, 59-61, 68, 72
147, 239
81
28 29, 46, 51, 62, 117, 119, 133-140,
142-144, 148, 149, 161, 164, 168, 169,
177-180, 200, 214-216, 224, 232
25-27, 39, 44, 46
13, 14, 119
133, 177
158, 159, 163, 165, 166, 168
140, 142
80
172-174, 183, 184, 186, 188
110, 112, 126,
147, 194
25-28, 39, 41, 44, 46, 89, 90, 164, 194,
212
27, 28, 53, 56, 58-60, 62, 68, 79, 80, 82,
84, 110, 111, 148, 161, 168, 171, 183
89-93
29, 30, 39, 56, 58, 70, 92, 99, 117, 142,
148
90, 91
102
21, 38, 117, 133, 135, 136, 150, 224
20, 21
81
207-217, 264, 266
112, 115, 117
12, 21, 40, 47, 52, 119, 134, 141, 144,
156
86, 98, 100, 105
86, 87, 99, 100, 103, 105, 119
79, 80
13, 28, 32, 51, 62, 64, 84, 106, 109-112,
116, 117, 120, 123, 124, 126-128, 130,
144, 148, 150, 161, 164, 168, 214, 215,
224
166, 197, 201, 202
81, 83
110, 119
89-92,178,179
87, 88
8, 32, 36, 51, 55, 60, 64, 74, 84-87, 89,
92, 101, 109, 110, 112, 118, 123, 124,
144, 148, 149, 158, 159, 166-168, 172,
173, 178, 181, 188, 190, 193, 209, 211,
212, 214, 218, 222-225, 231, 232, 237,
239
97, 98, 100-103, 105, 107
194, 195
207, 217, 227-223, 262-265
116, 127, 128, 148, 215
133, 138, 139
mehansko-fizikalna dinamika
mehčanje robov
mehki materiali
metoda mrka
množenje poligonov
množenje več krivulj
moč sevanja
modeliranje
modeliranje z množenjem
morf
motnja
MPEG
nagib
navidezna okolica
navidezni svetovi
negativna luč
nefotorealizem
neprepleteno obnavljanje slike
Newellow čajnik
normala
NTSC
NURBS
objektiv
odsev v leči
odsevnost
okolica
okostje
opazovalec
opazovalni sistem
Open GL
opisne krogle
optična iluzija
optično središče
ortografska kamera
osvetlitev
osvetljevanje z objektom
Quicktime
ozadje
PAL
palec
parametrično operiranje
partikli
PCI
PCIe
PDA
percepcija gibanja
Perlinov šum
perspektiva
Phongovo senčenje
172, 177
61, 144, 145, 194, 216, 226, 233
172, 173
19
61
60
106
17, 27, 28, 30, 31, 51, 52, 55, 56, 58, 60,
62, 63, 66, 68, 70, 72, 74, 87, 92, 148,
161, 166, 169, 196, 210, 209, 217, 218,
212, 222, 224, 231, 236, 237, 267
58, 60
163, 172
27, 61, 80, 98, 169
147, 194
27, 56, 57, 66, 70, 89, 91, 169, 170, 96,
200
149
199
116
166, 167
138, 139
32
12, 59, 60, 84, 87, 89, 90, 99.101, 105,
112, 182, 183
43, 138-140, 142, 156
52, 53, 56, 62, 72
117, 133, 134, 140, 177, 179
117
86, 178
13, 14, 36, 37, 64, 86, 87, 97, 107, 116,
120, 123, 129, 133, 142, 148, 149, 155,
160, 167, 177-179, 181, 200, 201
171
35, 45, 47, 120, 133, 135, 138
133
195
52, 54
155
135
140
8, 87, 120, 126, 127, 135, 267
112
147
20, 48, 66, 68, 74, 109, 120, 123, 128,
129, 146, 148, 149, 155, 157, 158, 168,
178, 180, 181, 207, 209, 211, 215, 224,
232
43, 138-142, 156
141
168
169, 177, 182-184, 186, 193
194
194
200
155, 156, 163
82
17, 36, 62, 140, 163, 180, 181, 217
84
273
piksel
piramida
Pixar
plast
platonska telesa
plazma
ploskev
plosko senčenje
ploskovna telesa
ploskovni oris prostora
ploskovno mapiranje
polarizacija
polarni koordinatni sistem
poligon
polmer
polni model brez tekstur
polni model s teksturami
polsenca
posebni učinki
post procesiranje
povečana resničnost
površinska luč
predmetna razdalja
predupodobljene animacije
premica
prepleteno obnavljanje slike
prikaz z objemajočim kvadrom
prikaz z verteksi
primitivni objekti
prizma
prisekani stožec
proceduralne teksture
proceduralni objekti
procesiranje
programsko orodje, oprema, paket
prostorsko pojemanje
prozornost
psihologija percepcije
računalniška animacija
računalniška grafika
računalniška igra
raster-sko
rastrske animacije
razmerje točk
redukcija šuma
refleksija
reflektivnost
reflektor
rekruzija
relief, reliefnost
resolucija
rez
RGB barvni model
risana animacija
rotacija
274
145, 188, 193
29, 30, 39, 41
14, 165
62, 66, 74, 155, 170, 188, 209, 211, 218
29, 30
40, 82, 83
12, 30, 53, 58, 60, 61, 63, 74, 90, 188
12, 84, 168
29
17
89, 92
19, 98, 105
25
12, 29, 52, 53, 56-58, 60-66, 70, 72, 84,
87, 91, 140, 166, 171, 193, 194, 209,
218, 220, 222, 227, 232
54, 55, 110, 112
65
64, 65
107-109, 111, 112
10, 159, 166, 168, 169, 177, 214
51, 117, 143, 147, 150, 152, 166, 188
200
112, 205
136
166, 193, 194
25, 27, 28
138, 139
63, 64
64
29, 31, 32, 56, 58-60
20, 105
29, 31
64, 94
51, 55
51, 117, 118, 143, 144, 147, 150, 152,
166, 188, 193, 195
217, 227, 262-267
110
51, 86, 87, 92, 118
156
158, 163, 164
12, 17, 35, 44, 97, 98, 133
8, 10, 52, 166, 197, 198, 217
53, 64, 89, 94, 164,
164
140, 141
144, 145
35, 36, 40, 45, 47, 98-100, 105, 226
85, 86, 99, 188, 190
110, 112, 114, 117, 118, 120
144-146
13, 53, 55, 83, 86-89, 92, 93, 99, 188,
193, 212
140
60
36, 39, 40-48
158, 159
27, 30, 31, 58,59, 68, 142, 143, 170, 171
rotacija okoli osi
scena
SECAM
senca
senčenje
sferična rotacija prostora
sferni koordinatni sistem
shranjevanje
Sierpinskijev trikotnik
simulacija
simulacija klasične animacije
simulacija krivulj s poligoni
sipanje
SIRDS
skrivanje nevidnih robov
sledenje žarku
slikovna razdaja
slikovna točka
slikovni kot
slikovno polje
splet
spletne igre
stereograf-ija
stereogram
stiliziran fotorealizem
stop-motion animacija
stožec
strojna oprema
Suzanne
svetloba
svetlobni senzorji
svetlobni vir/izvor
število slik na sekundo
šum
tehnika mapiranja prestavitev
teksture
Teorija kaosa
testni objekti
težišče
TGA
TIFF
58
18, 29, 35, 51, 52, 62-64, 84, 85, 87,
109-112, 115, 116, 119, 120, 122,
125-130, 133, 135, 136, 138, 142, 144,
146, 148, 149, 159-161, 166, 168, 172,
178-180, 190, 193, 197, 201, 202, 208,
214-216, 224
43, 138, 139, 156
32, 36, 41, 106-112, 116, 119, 120, 123125, 127, 129, 161, 168, 178, 188, 193,
205, 116, 224, 226, 231, 233, 237, 239
12, 13, 17, 64, 84, 87, 163, 167, 168,
188, 225
142
25
144, 146, 147
80
8, 13, 35, 52, 53, 62, 106, 109, 123, 126,
129, 133, 156, 166, 168, 179, 188, 194,
196, 197-199
168
62
98, 101, 103, 105
20
12, 13
13, 14
136, 137
12, 36, 37, 40, 48, 134, 138, 140
133, 136, 137
136, 137
147, 199
199, 201
8, 17, 18, 20, 21, 143, 195
8, 18-20, 195
166, 167
158, 160
29, 31, 39, 42, 117
8, 63, 64, 163, 164, 166, 193, 194, 197,
198, 202
32
14 ,19, 21, 22, 35-41, 44, 45-47, 84-87,
97-112, 116-120, 123, 125, 126-130,
133-136, 144, 145, 150, 155, 156, 188,
193, 205, 224, 234
133-135
13, 35, 40, 45, 47,51, 85, 97, 106-110,
112, 119, 126, 129, 145, 156, 239
138
82, 144, 145, 181, 216
87, 88
12, 13, 17, 51, 55, 63-65, 74, 83, 87-93,
119, 140, 148, 149, 155, 178-180, 188,
193, 194, 207, 212, 214, 222-224, 231,
232, 237, 267
79
32
28, 54-56, 89, 171
147
147
3D
tip sence
tip svetlobnega izvora
tkanina
točka
točkast izvor/vir svetlobe
torus
transmisija
trdi materiali
trigonometrične funkcije
Twentieth Century Fox
ukrivljeno mapiranje
ukrivljeno ozadje
umetna inteligenca
umetniška praksa
upodabljanje
upodobljevalni pogon
usmerjena luč
UV mapiranje
valj
valovna dolžina
vektograf
vektor
vektorske animacije
vektorsko
verteks
veter
video
vidni kot
vidno polje
virtualno okolje/prostor
vlakna
voksel
volumetrična svetloba
volumetrična tekstura
volumetrični piksel
volumetričnost
VPE
V-Ray
VR čelada
VR rokavica
VRML
vse prisotna luč
vtič
vztrajnost vida
Weierstrassova funkcija
Weinov zakon
YIQ barvni model
YUV barvni model
zajem premika
110
110
173, 174
12, 20, 25, 28, 29, 31, 37, 39-42, 45, 48,
53, 55, 62, 66, 72, 81, 82, 89, 94, 104,
133, 134, 136, 138, 140-142, 145, 161,
164, 168, 169, 171, 177, 190, 196, 209,
210, 226
106, 107, 110-112, 114, 117, 124
29, 30, 58, 59
36, 98, 100, 101, 105
172, 173
27, 28
165
181
180
186, 193
197, 202
10, 12, 13, 17, 32, 47, 51, 52, 94, 98,
118, 119, 124, 133, 139, 141, 144-149,
156, 166, 178, 188, 190, 193, 194, 198,
216, 226, 233, 239
17, 188, 193, 201
110, 111, 113, 116, 120
89-91
20, 29, 31, 56, 58, 66, 68, 70, 117, 157
35, 37-39, 44, 45, 86, 97, 98, 100-106,
134
19, 105
12, 28, 39, 98, 99, 105, 111, 172, 183
163
39, 53, 55, 62, 94, 163
28, 52, 56, 57, 62-64, 66, 70, 72, 91, 172,
218, 220, 228, 231
172, 173, 183
52, 138-141, 147, 156, 174, 166, 177,
178, 181, 194, 208, 217
136, 137
136, 137, 224
98, 156, 164
188-190
188
110, 116, 117, 193
55
188
110, 116
194
263, 266
195, 196
196
197, 201
111, 123
147, 150, 201, 217
156
79
106
39, 43
39, 43
168, 169
zaklop
zaokroževanje robov
zaslonka
ZBrush
zelena zavesa
žični model
žični polni model
2D animacija
3D animacija
3D miška
3D v realnem času
3ds Max
133-135, 138, 139
61, 72, 144
117, 133-135, 137, 138, 177
264, 265
181
13, 63, 65
65
160, 165
166-168
196, 197
188, 193, 195, 198, 202
217-226, 262-267
275
Splet
Slike / Video / Zvoki
Novice
Zemljevid
Slovarji
Slovarji
Prevajaj na www.najdi.si/slovarji
Podatke za slovarje na Najdi.si zagotavlja
M
O
ITE
JA
AR
H
RA
ST
AV
L
KT
U
ED
ST
EM
RI
O
JS
RE
KO
RA
DN
OB
EI
N
PR
LIK
OV
A
AV
OČ
NJ
AS
NE
IN
FO
E
O
UG
RM
DN
AC
IJ
T
OS
o
vp
EO
:
I:
d-
o
ra m
g
arn
ro
ŠT pih p uark knjig
O
u
g
IM nak f t in Q knji S ev, i
D
j
h
b
lj
NU A o phiso kupi PLU inar vite
o
a
T
m
M
r
M
a
n
r
e
k
S
IKO PU rel, G ob UPI-2 acij s ki po
N
O o TA in tiz ijs
Č
RO % P be, C US ibris lu ko med
A
N d o 5 Ad o P O x L l a č i m o
u p
s
• jetij 15 % na, L pri kjer
E
,
e
.
T pd
do ad
• Pa s P U S n c , i
PO nfere
• ko
IJI
PR
O
ST
DU
UJ
ED
OB
N
VA
O
LIK
P
JE
RO
JE
IN
ED
M
G
F
RA
O
IČN
OB
N
VA
O
LIK
SR
VI
NO
PO
IL
EV
NE