Računalna grafika, skraćeno RG, je polje vizualnog računarstva koje rabi računala za stvaranje slika i/ili uklapanje i mijenjanje slikovnih i prostornih podataka koji su uzeti iz stvarnosti. Sam naziv 'računalna grafika' prvi je u upotrebu uveo William Fetter, Boeing (1960). Prvi veći napredak u računalnoj grafici napravio je Ivan Sutherland 1962. kada je stvorio program Sketchpad s kojim je omogućeno prvo interaktivno stvaranje grafičkog sadržaja.
Opis
Kao jedan od središnjih problema računalne grafike ističe se nastojanje stvaranja fizikalno dosljedne sinteze elektromagnetskog okoliša zapisane u nekom unaprijed dogovorenom formalnom obliku predstave stvarne okoline. Izračun u takvoj mjeri fizikalno dosljednih slika zahtjeva simuliranje svjetlosnog prijenosa, tj. međudjelovanja svjetlosti s materijalnim objektima, odnosno u okvirima računalne grafike - globalnog osvjetljenja. S obzirom na dvojnu valno-čestičnu prirodu svijetlosti i spektar raznovrsnih pojava koje se uz nju vezuju, izravna simulacija njenog prostiranja u mjerilu svagdašnjeg makrosvijeta predstavljala bi iznimno težak i za današnje prilike nepremostiv problem. Srećom, svjetlost s kojom se „svakodnevno susrećemo“ uglavnom je nekoherentna (izvori svjetlosti nemaju stalnu faznu razliku i jednake frekvencije), nepolarizirana i objekti s kojima vrši interakciju značajno su veći od njene valne duljine, te iz tih razloga većina današnjih računalnih rješenja u razmatranje uzima samo geometrijske zakonitosti pravocrtnog prostiranja vala svjetlosti. Ipak, neke pojave poput raspršenja svjetlosti u koloidnim sustavima (magla, nehomogene tekućine) iziskuju uvođenje složenijih i samim time računalno zahtjevnijih algoritamskih rješenja u cilju postizanja oku uvjerljivih rezultata.
S druge strane, učinkovitost sinteze slike ovisi i o mnogo više faktora nego što ih valno-čestična (undulatorno-korpuskularna) teorija svjetlosti može ponuditi, a prvenstveno je riječ o karakteristikama suvremenih prikaznih uređaja poput nelinearnosti i ograničenog dinamičnog opsega, fiziologije oka, pa čak i viših kognitivnih aspekata percepcije.
Dakle, ključan cilj računalne grafike je dati jasan i nedvosmislen odgovor na pitanje kako generirati naravnu računalnu predodžbu vizualne stvarnosti (NRPVS). Da je to u današnjim okolnostima sasvim ostvarivo, osvjedočili su se svi oni koji su imali prilike pogledati neki od recentnijih dugometražnih animiranih filmova poput Final Fantasya, Shreka i inih, ili vidjeti neku od niza vizualnih podvala koje nam svakodnevno serviraju u gotovo svim Hollywoodskim blockbusterima „novijeg“ datuma. Naime, padom cijena računalnog hardvera produkcijskim studijima postaje sve isplativije investirati u za te svrhe specijaliziranu računalnu opremu i angažiranje kvalificiranih računalnih stručnjaka i animacijskih umjetnika, čime uspijevaju značajno uštedjeti izbjegavajući konstrukcije velikih, složenih i prvenstveno basnoslovno skupih filmskih scena, poput masovnih bitaka starog i srednjeg vijeka u kojima sudjeluju na tisuće pripadnika zaraćenih strana, oživljavanja pretpovijesnih abominacija u njihovoj punoj veličini i svireposti, ili animiranja spektakularnih međugalaktičkih svemirskih okršaja nadasve epskih razmjera. Međutim, čak i ako izuzmemo filmove iz perspektive, područje primjene NRPVSa nikako nije osiromašeno: danas je ono uistinu neophodna karika u industrijskom dizajnu i arhitekturi, predstavljanju proizvoda (a.k.a. reklamama), „oživljavanju“ povijesne baštine i računalnim animacija općenito, a vrlo brzo postati će i svakodnevnica računalnih igara. Krajnji cilj i „Sveti Gral“ računalne grafike, svakako je virtualna stvarnost.
Povijest računalne grafike
Temelji računalne grafike mogu se pronaći u povijesnim umjetničkim i matematičkim otkrićima, primjerice:
- Euklid (otprilike 300-250 g.pr.n.e.) čija formulacija osnovnih aksioma geometrije sačinjava osnovu grafičkih pojmova
- Filippo Brunelleschi (1377 - 1446) arhitekt, zlatar i kipar, zapažen po pionirskom korištenju perspektive
- Rene Descartés (1596-1650) koji je razvio analitičku geometriju, i napose koordinatni sustav s čime je omogućeno preciziranje položaja i oblika objekata u sceni
- Gottfried Wilhelm Leibniz (1646 - 1716) i Issac Newton (1642 - 1727) koji su istovremeno postavili temelje diferencijalnom računu s čime je omogućeno strogo opisivanje dinamičkih sustava
- James Joseph Sylvester (1814 - 1897) koji je osmislio matričnu notaciju, veoma korištenu u algoritmima računalne grafike
- I. Schoenberg, koji je otkrio spline krivulje
Jednako značajan za osvit računalne grafike bio je i povijesni razvoj misli o naravi svjetlosti.
Tijekom 60-tih godina 20-tog stoljeća načinjeni su pionirski radovi u području računalne grafike koji su poslužili kao poticaj svim daljnim nastojanjima u istomenom području. Najvažniji od njih su:
- Prvi računalno animirani film "Two-Gyro Gravity-Gradient Attitude Control System", Edward Zajak, Bell Labs) (1961).
- Prvi programski jezik računalne animacije (MACS), Larry Breed, Stanford University (1961).
- Prva videoigra (Spacewar), koju je razvio Steve Russell na MITu (1961).
- Napisan program Sketchpad, od strane Ivana Sutherlanda, sa MITa - prvi interaktivni program za crtanje (1963).
- Načinjen prvi računalni model ljudskog tijela, William Fetter, Boeing, za dizajniranje kokpita zrakoplova (1964).
- Prvi naglavni prikaznik, Ivan Sutherland (1966).
- Implementiran prvi algoritam praćenja zraka svjetlosti, Appel (1968).
- Prvi slikovni međuspremnik, 3-bitni (8 nijansi, boja), Bell Labs, 1969.
NRPVS (Naravna računalna predodžba vizualne stvarnosti)
Što se misli pod naravnom računalnom predodžbom? Hall i Greenberg[1] kažu sljedeće:
- "Naš cilj u realističnom slikotvorstvu je stvaranje slike koja pobuđuje u vizualnom sustavu podražaj koji ne bi bio raspoznatljiv od podražaja pobuđenog stvarnom okolinom."
Ovo je očigledno, veoma neskroman cilj. Stvaranje istovrsnog mentalnog doživljaja posredstvom sintetičke slike zahtijevalo bi priključenje stroj-čovjek sučelja u živčane puteve između oka i mozga, nešto što trenutno još uvijek nije izvedivo. Iz praktičnih razloga, naše želje ipak moraju biti prizemnije od stvaranja neraspoznatljive umjetne percepcije stvarnosti. Ono što se danas može učiniti, je stvaranje 2 dimenzionalne slike ljudskom oku neraspoznatljive od one dobivene fotografskim aparatom. Ipak, ovakve slike su još uvijek očigledno "nestvarne" iz prostog razloga što su dvodimenzionalne. Daljan korak u cilju postvarenja tih slika postignut je stereoskopskim projekcijama koje pomoću efekta polarizacije uspijevaju stvoriti prividnu dubinu u inače 2 dimenzionalnom prikazu na način da se svakom oku prikazuju djelomično različite slike prilagođene odzivu našeg binokularnog vidnog sustava. No, ovaj pristup sa sobom nosi ergonomičnu neugodnost u tome što zahtjeva nošenje posebnih polarizacijskih naočala, koje su nerijetko sklone veoma brzo zamoriti korisnika i tako umanjiti njegov užitak u nestvarnoj okolini. U novije vrijeme počeli su se pojavljivati i prvi komercijalni volumetrijski prikaznici koji osim što impresivno djeluju, obećavaju i još impresivnije mogućnosti u skoroj budućnosti.
Računalni model stvarnosti
Kao što je danas većini poznato, okoliš kakav mi doživljavamo posredstvom osjetila vida, odraz je kvalitete i kvantitete okolnog elektromagnetskog zračenja i refleksije tog zračenja na tvarima prisutnim u prirodi. Da bi njih predstavili na računalnom zaslonu potrebno je iznaći prikladan način modeliranja, odnosno opisivanja kako tvari, tako i svjetlosti. Ukratko, mogu se izdvojiti sljedeće sastavnice takovog modela:
- Svjetlost i boja
- Izvori svjetlosti
- Oblici
- Materijali
- Sučelja (dioptri): Modeli refleksije i teksturiranja
- Mediji: Modeli atmosferskog raspršenja
- Kamere
- Leća i film
Što se simulacije tiče, ona jednostavno predstavlja proces osvjetljavanja tako postavljene scene ravnan algoritmom globalnog osvjetljenja. Srž simulacije osvjetljenja predstavlja jednadžba globalnog osvjetljenja koja se može iskazati u sljedećem obliku: Za zadanu scenu sačinjenu od zbira osnovnih geometrijskih oblika s raznovrsnim materijalnim svojstvima i proizvoljno mnogo izvora svjetlosti, izračunati osvjetljenje za svaku točku svake površine.
Algoritmi računalne grafike
2D
3D
- Stvaranje slike liniju po liniju
- Izračenje (radiosity)
- Praćenje zraka svjetlosti (raytracing)
- Monte Carlo simulacija
Primjena
- korisnička sučelja (većina aplikacija na osobnim računalima i na radnim stanicama imaju grafički sustav prozora putem kojeg komuniciraju s korisnicima. Primjeri takvih aplikacija uključuju obradbu teksta, stolno izdavaštvo, proračunske tablice...);
- interaktivno crtanje (u poslovnim, znanstvenim i tehnološkim primjenama računalna grafika koristi se za prikazivanje funkcija, dijagrama, histograma i sličnih grafičkih prikaza sa svrhom jasnijeg sagledavanja složenih pojava i olakšanja procesa odlučivanja);
- projektiranje pomoću računala (Computer Aided Design - CAD danas se standardno koristi za projektiranje sustava i komponenata u strojarstvu, elektrotehnici, elektronici, telekomunikacijama, računarstvu...);
- simulacija i animacija (računalna grafika koristi se za znanstvenu i inženjersku vizualizaciju i zabavu; područja primjene obuhvaćaju prikaze apstraktnih matematičkih modela vremenski promjenljivih pojava, TV i filmsku tehnologiju...);
- umjetnost (računalna grafika se koristi za kreiranje umjetničkih slika);
- grafičko programiranje (računalna grafika se koristi za automatizaciju procesa programiranja virtualnih sustava npr. u instrumentaciji).
- videoigre (jedan od glavnih elemenata igara je računalska grafika koja se koristi za prikaz virtualnih prostora )
Srodne teme
Izvori
- Roy Hall and Donald P. Greenberg. A testbed for realistic image synthesis. IEEE Computer Graphics and Applications, 3(8):10{20, 1983.