(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: [email protected] 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
© Copyright 2024