Kompjuterska grafika

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.

Primjer računalne grafike

Opis uredi

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 uredi

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 podstrek 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 video igra (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, Appel (1968).
  • Prvi slikovni međuspremnik, 3-bitni (8 nijansi, boja), Bell Labs, 1969.

NRPVS (Naravna računalna predodžba vizualne stvarnosti) uredi

Što se misli pod naravnom računalnom predodžbom? Hall i Greenberg[1] kažu slijedeć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 zahtjevalo 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 uredi

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 slijedeć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 slijedeć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 uredi

2D

3D

Primjena uredi

  • 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).
  • video igre (jedan od glavnih elemenata igara je računalska grafika koja se koristi za prikaz virtualnih prostora )

Srodne teme uredi

Izvori uredi

  • Roy Hall and Donald P. Greenberg. A testbed for realistic image synthesis. IEEE Computer Graphics and Applications, 3(8):10{20), 1983.