14
USTANOVA: Umjetnička akademija u Splitu ODSJEK: Dizajn vizualnih komunikacija KOLEGIJ: Osnove računalne grafike GODINA / SEMESTAR: I / II PROGRAMIRANJE RAČUNALNE GRAFIKE MENTOR: STUDENT: prof. Ivica Mitrović, mr. sc. Luka Vidoš Split, 31. svibnja 2006.

PROGRAMIRANJE RAČUNALNE GRAFIKE - umas.unist.hrvidos/prva_godina/drugi_semestar/seminarski_radovi/prg_org.pdf · Programski jezici su stilizirane komunikacijske tehnike koje su namijenjene

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PROGRAMIRANJE RAČUNALNE GRAFIKE - umas.unist.hrvidos/prva_godina/drugi_semestar/seminarski_radovi/prg_org.pdf · Programski jezici su stilizirane komunikacijske tehnike koje su namijenjene

USTANOVA: Umjetnička akademija u Splitu ODSJEK: Dizajn vizualnih komunikacija KOLEGIJ: Osnove računalne grafike GODINA / SEMESTAR: I / II

PROGRAMIRANJE RAČUNALNE GRAFIKE

MENTOR: STUDENT: prof. Ivica Mitrović, mr. sc. Luka Vidoš

Split, 31. svibnja 2006.

Page 2: PROGRAMIRANJE RAČUNALNE GRAFIKE - umas.unist.hrvidos/prva_godina/drugi_semestar/seminarski_radovi/prg_org.pdf · Programski jezici su stilizirane komunikacijske tehnike koje su namijenjene

Luka Vidoš _____________________________________________________ Programiranje računalne grafike

Sadržaj 1. Uvod ................................................................................................................................. 3

2. Kratka povijest računalne grafike ................................................................................ 5

3. Grafičko sučelje .............................................................................................................. 8

4. Primjena danas ............................................................................................................... 9

5. Digitalna umjetnost ........................................................................................................ 10

6. Zaključak ........................................................................................................................ 11

7. Literatura ........................................................................................................................ 12

2

Page 3: PROGRAMIRANJE RAČUNALNE GRAFIKE - umas.unist.hrvidos/prva_godina/drugi_semestar/seminarski_radovi/prg_org.pdf · Programski jezici su stilizirane komunikacijske tehnike koje su namijenjene

Luka Vidoš _____________________________________________________ Programiranje računalne grafike

1. Uvod Kada spomenemo riječ grafika (graphics), tada

nas to asocira na vizualnu prezentaciju na nekoj

površini, kao što su zid, platno, papir, kamen ili

drvo koje informira, ilustrira ili zabavlja. Primjeri

toga su fotografije, crteži, grafikoni, geometrijski

dizajn, mape i sl. Grafika obično kombinira tekst,

ilustraciju i boju. Bakropis, stara grafička tehnika

Riječ računalo (computer) označava stroj koji je projektiran za manipulaciju podacima preko

niza instrukcija koje nazivamo programom.

Dakle, računalna grafika (computer graphics ili CG)

obuhvaća stvaranje, pohranu i uporabu objekata putem

računala. Ti objekti računalne grafike potječu iz

različitih područja: prirode, znanosti, inženjerstva,

apstraktnih koncepata, itd. Računalna grafika je ujedno i

polje vizualne umjetnosti gdje korisnik putem računala

generira slike i vizualno ih mijenja te ih kombinira sa

informacijama i materijalima iz stvarnog svijeta.

Računalna grafika se danas koristi u raznim područjima,

od administracije, edukacije, umjetnosti pa sve do

zabave. Neki primjeri primjene računalne grafike

uključuju:

Izmjena postojeće slike na računalu

- 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 obradu 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

3

Page 4: PROGRAMIRANJE RAČUNALNE GRAFIKE - umas.unist.hrvidos/prva_godina/drugi_semestar/seminarski_radovi/prg_org.pdf · Programski jezici su stilizirane komunikacijske tehnike koje su namijenjene

Luka Vidoš _____________________________________________________ Programiranje računalne grafike

- uredska automatizacija i elektroničko izdavaštvo - računalna grafika se široko koristi

za izradu elektroničkih i tiskanih dokumenata

- projektiranje pomoću računala - CAD danas se standardno koristi za projektiranje

sustava i komponenata u strojarstvu, elektrotehnici, elektronici, telekomunikacijama,

računalstvu...

- 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

- trgovina - računalna grafika se koristi za vizualnu animaciju i elektroničku trgovinu

- upravljanje procesima - podaci iz senzora dinamički se prikazuju u prikladnom

grafičkom obliku

- geografski informacijski sustavi - računalna grafika koristi se za točan prikaz

geografski raspodijeljenih i rasprostranjenih sustava i mjernih podataka npr. u

telekomunikacijama i telemetriji

- grafičko programiranje - računalna grafika se koristi za automatizaciju procesa

programiranja virtualnih sustava npr. u instrumentaciji

Računalno programiranje (često

nazivano samo programiranje ili

kodiranje) je postupak implementiranja

međusobno povezanih apstraktnih

algoritama i koncepata koristeći određene

programske jezike za izradu konkretnog

računalnog programa. Programiranje u

sebi sadržava elemente znanosti,

matematike i inženjerstva.

Programski jezik QBasic

Jedini jezik koje računalo razumije je jezik stroja, binarni jezik. Programeri su u početku

morali sami pisati strojni jezik, ali danas oni pišu kodove u programskim jezicima koje

računalo putem kompajlera, interpretera ili asemblera prevodi i tek tada pokreće željenu

naredbu.

4

Page 5: PROGRAMIRANJE RAČUNALNE GRAFIKE - umas.unist.hrvidos/prva_godina/drugi_semestar/seminarski_radovi/prg_org.pdf · Programski jezici su stilizirane komunikacijske tehnike koje su namijenjene

Luka Vidoš _____________________________________________________ Programiranje računalne grafike

Programski jezici su stilizirane komunikacijske tehnike koje su namijenjene upravljanju

računalima. Poput prirodnih jezika koje mi ljudi koristimo, programski jezici imaju svoje

sintaktičke i semantičke zakone koji se koriste za definiciju značenja.

5

Page 6: PROGRAMIRANJE RAČUNALNE GRAFIKE - umas.unist.hrvidos/prva_godina/drugi_semestar/seminarski_radovi/prg_org.pdf · Programski jezici su stilizirane komunikacijske tehnike koje su namijenjene

Luka Vidoš _____________________________________________________ Programiranje računalne grafike

2. Kratka povijest računalne grafike Jedan od značajnijih pothvata u povijesti

računalne grafike bi zasigurno bio Whirlwind I,

koji je prvi put demonstriran 1951, a projekt je

ugašen 1983. To je bilo računalo koje je

generiralo i prikazivalo pozicije aviona na

konzoli. Funkcionirao je po principu vektorske

grafike, i njime se upravljalo putem svjetlosnog

pištolja. Geografske reference, identifikacija i slično, kontrolirala se putem raznih prekidača.

Project Whirlwind I.

1954. je John Backus iz IBM-a predložio izradu FORTRAN jezika, čiji je princip rada bio

izgrađen oko ideje da se numeričke formule u programskom jeziku putem kompajlera

pretvore u strojni jezik koji računalo razumije.

Zatim je John McCarthy sa MIT-a 1960. izdao prijedlog u kojem je predstavio novi

programski jezik nazvan Lisp (List Processing). Jezik je sadržavao jednostavne operatore i

funkcionalne oznake, sve izgrađene oko jednostavne centralne strukture za kod i podatke.

1964. je Thomas E. Kurtz izumio BASIC, jezik koji se koristio u početku na Dartmouth

College. Jezik se jako brzo rasprostranio i imao velik utjecaj na industriju, budući da je bio

besplatan i svima dostupan.

U to vrijeme je digitalna umjetnost postala jako

popularna, došlo je "digitalno doba", te osim

matematičara i računalnih inženjera, programe počinju

koristiti i umjetnici i dizajneri. Ponekad su razlike

između njih bile jako male. Kao primjer možemo uzeti

Bena Laposkya, matematičara i umjetnika iz Iowe.

1950. je kreirao prve grafičke slike koje su bile kreirane

računalnim putem. On je snimao na film kretanje

osciloskopa i te je radove nazvao "oscillonima" i

"elektroničkim apstrakcijama". Slično je radio i Herbert

Franke iz Njemačke.

Ben Laposkyevi "oscilloni"

6

Page 7: PROGRAMIRANJE RAČUNALNE GRAFIKE - umas.unist.hrvidos/prva_godina/drugi_semestar/seminarski_radovi/prg_org.pdf · Programski jezici su stilizirane komunikacijske tehnike koje su namijenjene

Luka Vidoš _____________________________________________________ Programiranje računalne grafike

Williamu Fetteru, grafičkom dizajneru iz Boeing

Aircraft Co., 1960. se pripisuje da je osmislio frazu

"računalna grafika" da opiše što je radio u Boeingu u to

vrijeme.

John Whitney je bio jedan od najutjecajnijih računalnih

animatora svoga vremena, nakon osobnih

eksperimenata je radio na brojnim filmovima, među

kojima je Hitchcockov Vertigo 1961., za kojega je radio

otvaranje. Sa IBM-ovim programerima je radio na

izradi jezika za proširenje računala da kontrolira

grafičke uređaje, što je rezultiralo jednom od njegovih

najpoznatijih animacija, Permutations, 1968. A kasnije, sa svojim sinom, je kreirao

Arabesque, svoje drugo najpoznatije djelo.

John Whitney

Ivan Sutherland radi u Sketchpadu

Razvojem TX-2 digitalnog računala na MIT-u,

Ivan Sutherland, kada je birao svoj diplomski

rad, ciljao na izradu programa kojim bi se

moglo crtati na računalu. Koristio je svjetlosnu

olovku i ekran, te je iz toga rođen Sketchpad,

što je označilo revoluciju u području računalne

grafike, a time i začetak interaktivne računalne

grafike.

Također na MIT-u, 1961. je mladi programer Steve

Russel, vodio tim koji je kreirao prvu računalnu igricu -

Spacewar - za koju je bilo potrebno oko 200 sati na PDP-

1 računalu. To je bilo prvo računalo koje je dozvoljavalo

da više korisnika dijeli računalo istovremeno.

Prva multiplayer igrica - Spacewar

Kroz kraće vrijeme, i polaganim ulaskom u osamdesete,

računalna grafika sve više nailazi na svoju primjenu.

Počinju se otvarati komercijalne kompanije koje rade

računalnu grafiku za oglašavanje i televiziju.

7

Page 8: PROGRAMIRANJE RAČUNALNE GRAFIKE - umas.unist.hrvidos/prva_godina/drugi_semestar/seminarski_radovi/prg_org.pdf · Programski jezici su stilizirane komunikacijske tehnike koje su namijenjene

Luka Vidoš _____________________________________________________ Programiranje računalne grafike

Tvrtka MAGI je osnovana 1966.

je razrađivala softver koji je

trebao procijeniti raspone

nuklearne radijacije. To je bila

prva firma koja je razvila ray-

tracing algoritam za izradu slika,

koja je bila bazirana na konceptu

odbijanja svjetlosti od izvora do

objekta pa na svoju okolinu.

Radili su na filmu Susreti treće

vrste i TRON-u, te još nekim

manje poznatim.

TRON - film s elementima popularne igre

1972. su Gary Demos, John Whitney i Ivan Sutherland osnovali tvrtku Picture/Design Group,

te zajedno radili na brojnim projektima, uključujući Futureworld (za koji kažu da je prvi film

koji je zapravo imao značajne elemente računalne grafike), TRON-u, Star Warsima, Empire

Strikes Back i sl. Kasnije su se raspali, osnovali tvrtku DemoGraFX koje je kasnije kupio

Dolby Laboratories i sada rade na usavršavanju digitalne TV, HDTV standardima i

digitalnom compositingu.

Gary Demos na dodjeli Oscara

Prva tvrtka koja se dobro ustoličila u filmskoj industriji

bila je Digital Effects (osnovana 1978.), koju je osnovao

Judson Rosebush. Zajedno sa još nekim tvrtkama (Abel,

MAGI i III) su doprinijeli nastanku TRON-a, jednog od

prvih filmova koji je bio gotovo u cijelosti napravljen na

računalu.

Digital Productions su osnovali John Whitney i Gary

Demos 1982. nakon što su otišli iz prethodne tvrtke. Kroz

godine, ovaj dvojac je pobrao brojne nagrade, uključujući

prvu nagradu za Scientific and Engineering Award od

Academy for Motion Pictures Arts and Sciences.

8

Page 9: PROGRAMIRANJE RAČUNALNE GRAFIKE - umas.unist.hrvidos/prva_godina/drugi_semestar/seminarski_radovi/prg_org.pdf · Programski jezici su stilizirane komunikacijske tehnike koje su namijenjene

Luka Vidoš _____________________________________________________ Programiranje računalne grafike

Jedna od značajnijih tvrtki, koja je u to vrijeme nastala, je Autodesk. Osnovana je 1982. te su

svoj AutoCAD program nadograđivali sa paketima za animaciju AutoFlix. Danas oni

posjeduju velik dio tržišta, uz svoje CAD programe, posjeduju i 3D Studio Max, koji je danas

jedan od jačih alata za rad sa 3D-om.

Nakon toga, ubrzano se sve dešava i kao što danas vidimo u samo 10ak godina, napredak je

bio ogroman. Industrija se toliko brzo razvijala, toliko je novih inovacija da ih je teško

nabrojati u malo vremena.

9

Page 10: PROGRAMIRANJE RAČUNALNE GRAFIKE - umas.unist.hrvidos/prva_godina/drugi_semestar/seminarski_radovi/prg_org.pdf · Programski jezici su stilizirane komunikacijske tehnike koje su namijenjene

Luka Vidoš _____________________________________________________ Programiranje računalne grafike

3. Grafičko sučelje Danas gotovo da ne bi mogli živjeti bez grafičkog

sučelja (osim možda najokorjelijih Linuxaša), jer

smo se toliko naviknuli da do svih elemenata

lagano dođemo. Danas više niti ne razmišljamo o

tome što radimo i kako radimo, jednostavno se

krećemo kroz sustav. Ali, grafičko sučelje

operativnog sustava je puno više od pomicanja

miša i klikanja na određene dijelove. Svaki gumb,

svaka ikona, pa čak i svaki potez miša je detaljno

isprogramiran.

Na principu miša se može vidjeti kako zapravo

animacija funkcionira, jer, on je objekt koji se

kreće na ekranu, to je, u programerskom jeziku, "sprite". To je objekt s točnom lokacijom

koja je s njime povezana. Ta se lokacija

postupno mijenja, frame po frame, čime se

daje dojam da se objekt pomiče.

Prvo grafičko sučelje

Windows XP grafičko sučelje danas

Danas, moderna računalna animacija koristi

različite tehnike za izvođenje animacija.

Uglavnom se koriste sofisticirani

matematički algoritmi da bi manipulirali

kompleksnim trodimenzionalnim

poligonima, dodavali teksture, osvjetljenje i

brojne druge efekte.

10

Page 11: PROGRAMIRANJE RAČUNALNE GRAFIKE - umas.unist.hrvidos/prva_godina/drugi_semestar/seminarski_radovi/prg_org.pdf · Programski jezici su stilizirane komunikacijske tehnike koje su namijenjene

Luka Vidoš _____________________________________________________ Programiranje računalne grafike

4. Primjena danas Zahvaljujući bogatim proračunima velikih znanstvenih centara, te pokojim poticajima iz

vojne industrije, računalna grafika je brzo napredovala. Od prvih računala koji su jedva

računali osnovne naredbe, do svjetlosnih olovaka i navigacije za avione, simulatore i sl. Sve

informacije koje računalo izračuna mogu se vizualizirati, grafovi, putanje, mape, i što sve ne.

U inženjerske poslove su se uvukli programi poput Romulusa, AutoCAD-a, EasyCAD-a,

Airbusa i brojnih drugih koji su računalo koristili da bi olakšali i ubrzali izradu projekta.

Golemi neboderi, kompleksni strojevi, precizna mehanika, i razni drugi inženjerski pothvati

su bili omogućeni. Računalom se mogu testirati otpornosti, ergonomija, izgled, materijali.

Osim za inženjerske stvari, računalna grafika je zarazila

svijet i igrama. Počelo je sa Spacewarom, pa Pongom, i

brojnim Atarijevim igricama kasnije, te, napretkom

računala, i današnjim modernim igricama koje se

odvijaju u tri dimenzije i realnom vremenu, kao što su

World of Warcraft i sl. Na tisuće i tisuće poligona, s

ogromnim tehničkim zahtjevima, ali to je aspekt koji

računalnu industriju danas pokreće. Prije su za vojne

potrebe trebale goleme prostorije i što brža računala koja

su satima ili čak danima radila svoj zadatak, a danas taj

napredak potiče industrija igara.

Osim industrije igara, filmska industrija ima jedan veliki

dio tog kolača. Danas gotovo da nema filma u kojem se

ne nalaze efekti koje su generirali neki računalni alati.

Pixarov crtić koji je osvojio brojne nagrade

11

Page 12: PROGRAMIRANJE RAČUNALNE GRAFIKE - umas.unist.hrvidos/prva_godina/drugi_semestar/seminarski_radovi/prg_org.pdf · Programski jezici su stilizirane komunikacijske tehnike koje su namijenjene

Luka Vidoš _____________________________________________________ Programiranje računalne grafike

5. Digitalna umjetnost U početku, jedini ljudi koji su se bavili digitalnom umjetnošću su

bili znanstvenici, što dokazuju prve dvije izložbe digitalne

umjetnosti.

Charles Williams je 1977. digitalizirao ručno nacrtan cvijet i radio

razne teksture i patterne od njega. Sam je rekao: "Vrijednost

računala za grafičare je u tome što mu omogućava da koristi

računalno generirane kompleksne varijacije crteža koje bi bile

gotovo nemoguće za napraviti ručno."

Primjeri digitalne umjetnosti (Charles Williams,

Vera Molnar, Mike Newman, Larry Cuba)

Mike Newman je, kada je govorio o digitalnoj umjetnost,

rekao: "Kao kada koristite kameru, oni prvi osjećaji

nevjerice i neshvatljivosti će brzo nestati i goleme će se

mogućnosti ostvariti i postati stvarnost."

No, jedna od značajnijih umjetnica koja se bavila

digitalnom umjetnošću, bila je Vera Molnar. Ona je

osnovala GRAV (Groupe de recherche d'art visuel), a

sama je otkrila da računalom može raditi radove koji su

korak dalje od one "ljudske ideje". Početni radovi su

uključivali transformacije geometrijskih objekata, njihovo

deformiranje, rezanje i sl.

Od drugih, tada važnijih umjetnika koji su imali istu

zanimaciju, bili su Manfred Mohr, Larry Cuba, Lillian

Schwartz, David Em, Yoichiro Kawaguchi, Ed

Emshwiller, Herbert Franke, Frieder Nake, George Nees,

Harold Cohen, Duane Palyka, Darcy Gerbarg, Colette

and Charles Bangert, svatko je doprinio puno u evoluciji

računalne umjetnosti.

12

Page 13: PROGRAMIRANJE RAČUNALNE GRAFIKE - umas.unist.hrvidos/prva_godina/drugi_semestar/seminarski_radovi/prg_org.pdf · Programski jezici su stilizirane komunikacijske tehnike koje su namijenjene

Luka Vidoš _____________________________________________________ Programiranje računalne grafike

6. Zaključak Računalna grafika se, osim umjetnosti, počela uvlačiti u sve pore masovnih medija. Danas

gotovo da ne možemo zamisliti bilo koji materijal koji se u medijima koristi a da nije prošla

kroz računalo. Ovdje se nisam želio toliko baviti samim programiranjem, već ukazati na to što

je zapravo sve isprogramirano. Neke stvari shvaćamo toliko banalno, da ni ne razmišljamo što

sve stoji iza toga. Programski

jezici kojih je bezbroj nema toliko

smisla nabrajati, oni služe svojoj

svrsi, ali ono što je proizašlo iz

njih, alati koje svakodnevno

koristimo, počevši od grafičkog

sučelja, alata za obradu slika i

videa i sl. Svi oni su

isprogramirani, a ukoliko imaju grafičko sučelje, to automatski za sobom povlači i računalnu

grafiku. Umjetnost i programiranje idu skupa, nerijetko. U današnje doba, najočitije primjere

vidimo na Internetu. Flash animacije su nerijetko programirane, s računalnom preciznošću i

umjetničkom rukom. Danas više nije toliko kompleksno napraviti jedan rad, koji sadržava

spoj nečega računalnoga i nečega kreativnog.

QBasic izvorni kod

Činjenica je da danas granica između

računalnog i stvarnog postaje jako

tanka. Računalom se mogu

proizvesti stvari koje postaju veoma

realne da počinju kreirati realnost.

Zapravo, medij je ušao u stvarnost.

Sve ovo ne bi bilo moguće da

umjetnici u ono vrijeme nisu htjeli

pronaći nešto drugo, odnosno, da

nisu ulazili u sam medij. Medij je postao platno po kojemu su umjetnici crtali, ali su tada to

isto platno počeli rezati, uništavati, postavljati u druge prostore, druge dimenzije i sl.

Fotografija programa (efekt proizveo sam aparat)

Nove dimenzije koje su nam otvorene, još uvijek se istražuju. Kreativnost ili matematika?

Teško je odrediti. Uostalom... Sanjaju li androidi doista električne ovce?

13

Page 14: PROGRAMIRANJE RAČUNALNE GRAFIKE - umas.unist.hrvidos/prva_godina/drugi_semestar/seminarski_radovi/prg_org.pdf · Programski jezici su stilizirane komunikacijske tehnike koje su namijenjene

Luka Vidoš _____________________________________________________ Programiranje računalne grafike

7. Literatura • http://en.wikipedia.org/wiki/Category:Computer_graphics

• http://cgw.pennnet.com/Articles/Article_Display.cfm?Section=Archives&Subsection=

Display&ARTICLE_ID=140685&KEYWORD=retrospective

• http://accad.osu.edu/~waynec/history/lessons.html

• http://www.oreilly.com/news/graphics/prog_lang_poster.pdf

14