Upload
phamdat
View
240
Download
11
Embed Size (px)
Citation preview
Računarska grafika
Uvod
18.03.2007.Uvod u računarsku grafiku2
Interaktivna računarska grafika
Računarska grafika je disciplina koja se u osnovi bavi– sintezom slike na računaru – interakcijom sa korisnikom (otuda naziv "interaktivna“)
Komplementarne discipline– obrada slike (image processing)
bavi se analizom slike– računarsko viđenje (computer vision)
bavi se konverzijom 2D slike u 3D modelRačunarska grafika nudi jedan od najprirodnijih načina komuniciranja sa računarom
18.03.2007.Uvod u računarsku grafiku3
Slika
Sposobnost čoveka da prepozna 2D i 3D oblik dopušta efikasno prihvatanje slikovnih podatakaDrevna kineska poslovica:
– "jedna slika vredi koliko deset hiljada reči" Poslovica je postala kliše u društvu nakon pojave jeftinih tehnologija za proizvodnju slike:
– najpre štampe– zatim fotografije
Računarska grafika je danas uz fotografiju i televiziju treći dominantan način proizvodnje slikaPrednost grafike - računarska sinteza apstraktnih objekata:
– podataka koji nemaju inherentnu geometriju (npr. numerički rezultati nekog ispitivanja)
– matematički opisanih površina u 3 dimenzije (3D)
18.03.2007.Uvod u računarsku grafiku4
Dimenzionalnost
Slika je po prirodi dvodimenzionalna, ali se trodimenzionalne scene mogu efektno predstavljati u 2D2D grafika – planarne linije i geometrijske figure
– npr. grafikoni, dijagrami, šeme2.5D grafika – više ortografskih projekcija prostornih objekata
– pogled odozgo/odozdo, sa leve/desne strane, spreda-sleđa3D grafika – projekcija prostora sa perspektivom
– npr. scene sa više tela, površine u prostoru, 3D dijagrami4D grafika – animacija
– pokretne slike u vremenu (4. dimenzija je vreme)
18.03.2007.Uvod u računarsku grafiku5
Animacija
Iako su statičke slike dobre za razmenu informacija, dinamičke su još bolje Varijacija na kinesku mudrost:
– pokretna slika je vredna deset hiljada statičkih slika Ovo je naročito tačno za vremenski promenljive fenomene koji mogu biti:
– realni, kao što su:savijanje krila aviona pri supersoničnom leturazvoj ljudskog lica od detinjstva do starih godina
– apstraktni, kao što su:trend rasta nuklearne energije u nekoj zemlji ili cene akcija na berzimodel neke hemijske reakcije sa razgradnjom i/ili obrazovanjem složenih molekula
18.03.2007.Uvod u računarsku grafiku6
Dinamika
Dve vrste dinamike u animaciji:– dinamika kretanja – dinamika promene (ažuriranja) oblika
Korišćenje dinamike je naročito efektivno kada korisnik može da kontroliše animaciju:
– pozicioniranjem i orijentisanjem virtuelne kamere– prilagođavanjem brzine (pravac, smer, intenzitet)
kretanja kamere ili pokretnih objekata– definisanjem dela ukupne scene koji se prikazuje
(zoom i pan operacije)– određivanjem granularnosti scene (broj prikazanih detalja) – menjanjem geometrijskih odnosa između objekata na sceni– osvetljenjem scene
18.03.2007.Uvod u računarsku grafiku7
Interakcija
Računarska grafika se bavi i interakcijom sa korisnikomKorisnik saopštava zahtev preko ulaznih uređaja kao što sumiš, tablet i, sve ređe, tastaturaTehnologija interaktivne grafike uglavnom obuhvata hardver i softver za korisničku kontrolu:
– dinamike kretanja – dinamike ažuriranja
Interakcija za postizanje dinamike kretanja - dve konvencije:– posmatrač (virtuelna kamera) nepomičan, a objekti mogu biti pomerani u odnosu na njega– objekti nepomični, a pokretni posmatrač (virtuelna kamera) se može:
kretati oko njih (operacija - rotacija)pomerati u ravni da selektuje deo koji se vidi (operacija - translacija, efekat pan, scroll)primicati i odmicati (operacija - skaliranje, efekat zoom) konvencije se mogu i kombinovati - kreću se i objekti i posmatrač
Interakcija za postizanje dinamike ažuriranja se odnosi na– promenu geometrijskog oblika, teksture, boje, transparencije ili drugih vidljivih osobina
18.03.2007.Uvod u računarsku grafiku8
Snaga računarske grafike
Interaktivna grafika značajno proširuje naše mogućnosti da: – razumemo podatke i procese– pratimo trendove – vizualizujemo realne ili imaginarne objekte – kreiramo virtuelne svetove
koje možemo istraživati iz proizvoljne tačke gledanja Čineći komunikaciju korisnika sa računarom prirodnijom i efikasnijom, grafika omogućava:
– veću produktivnost i nižu cenu analize i projektovanja– bolji kvalitet i preciznije rezultate ili proizvode – veće zadovoljstvo korisnika računara
18.03.2007.Uvod u računarsku grafiku9
Računarska grafika i obrada slike
Računarska grafika razmatra sintezu slike realnih ili imaginarnih objekata iz njihovih modelaObrada slike tretira analizu scena, ili rekonstrukciju modela 2D i 3D objekata iz njihovih slika Primene analize slike:
– analiza fotografije nadgledanja iz vazduha, – analiza televizijske slike nebeskih tela dobijene sa vasionskih sondi, – analiza televizijske slike dobijene iz "oka" industrijskog robota, – analiza mikroskopskih snimaka hromozoma, – analiza rentgenske slike i snimaka kompjuterizovane tomografije (CT),– analiza otisaka,– optičko čitanje i prepoznavanje znakova (OCR),– optičko čitanje markera (OMR)
18.03.2007.Uvod u računarsku grafiku10
Podoblasti obrade slike
Poboljšanje slike (image enhancement)– kvalitet slike se popravlja u osnovi tehnikama:
uklanjanja šuma (uklanjanje ili izmena pogrešnih i dodavanje nedostajućih piksela) ili povećanja kontrasta
Otkrivanje i prepoznavanje uzoraka (pattern detection and recognition)– bavi se:
detektovanjem i razjašnjavanjem standardnih uzoraka nalaženjem devijacija (distorzija) od tih uzoraka
– primer: optičko prepoznavanja karaktera (OCR) omogućava unos štampanih ili kucanih stranica ili čak rukom pisanih znakova
Analiza scene i računarsko viđenje (scene analysis and computer vision)– dopušta prepoznavanje i rekonstrukciju 3D modela scene iz nekoliko 2D slika – Primer: industrijski robot
razlikuje veličine, oblike, pozicije i boje delova na traci
18.03.2007.Uvod u računarsku grafiku11
Veze između RG i obrade slike
Računarska grafika i obrada slike su do skora bile prilično razdvojene discipline Kako se u obe discipline dominantno koriste rasterski prikazivači, preklapanje između njih raste:
– u interaktivnoj obradi slike korisnički ulaz preko menija i drugih grafičkih tehnika interakcije za vreme obrade slike
– u računarskoj grafici neke jednostavnije operacije obrade slike (npr. detekcija ivica)se često koriste
Primer: – skanirane fotografije se elektronski retuširaju, podrezuju i
kombinuju sa drugim
18.03.2007.Uvod u računarsku grafiku12
Reprezentativne primene RG
Računarska grafika se danas koristi u mnogim oblastima ljudske delatnosti:
– industrije – poslovanja – upravljanja – zdravstva– nauke– obrazovanja– zabave
18.03.2007.Uvod u računarsku grafiku13
Korisnički interfejsi
Verovatno najrasprostranjenija primena računarske grafike– u korisničkim interfejsima
Većina modernih aplikacija ima korisničke interfejse koji se zasnivaju na prozorskom sistemu Osnovne ulazno/izlazne paradigme prozorski orijentisanih aplikacija su:
– "pogled u računar" (izlaz)– "ukaži i klikni" (ulaz)
Prozorski sistem upravlja simultanim aktivnostima ulaza i izlaza– iscrtavanje sadržaja prozora
u grafičkom režimu rada– ukaži-i-klikni tehnika
omogućava izbor stavki u meniju, ikona i objekata na ekranu – redukuje se ulaz preko tastature
samo na unos teksta koji predstavlja podatak, a ne komandu
18.03.2007.Uvod u računarsku grafiku14
Interaktivno crtanje
U poslovanju, nauci i tehnologiji Koncizno prikazivanje trendova i uzoraka iz sakupljenih ili izračunatih podataka Svrha:
– da se pojasne kompleksne pojave – da se olakša informisano odlučivanje
Primeri: – 2D i 3D grafikoni matematičkih funkcija (krive i površine)– histogrami (bar i pie grafikoni) – dijagrami rasporeda poslova, opisa procedura i slični
18.03.2007.Uvod u računarsku grafiku15
Automatizacija kancelarije i elektronsko izdavaštvo
Pojava stonog izdavaštva na PC je ključna za korišćenje grafike radi kreiranja i širenja informacija Organizacije mogu da proizvedu štampane materijale u kući Dokumenti mogu da sadrže tekst, tabele, grafove i druge forme crtane ili skenirane grafike i to:
– tradicionalno štampane (hardcopy) – u elektronskoj formi (softcopy)
Nove mogućnosti: – mreže međusobno povezanih multimedijalnih dokumenata
18.03.2007.Uvod u računarsku grafiku16
Računarski podržano projektovanje (CAD, CAM, CASE)
Interaktivna računarska grafika se koristi za projektovanje komponenata i sistema:
– građevinskih, mehaničkih, elektromehaničkih, električnih, elektronskih, logičkih, softverskih
– primeri: zgrade, školjke automobila, trupovi aviona i brodova, VLSI čipovi,optički sistemi, telefonske i računarske mreže, softverske aplikacije
Jedan (niži) cilj: – kreiranje preciznih crteža komponenata i montaže (tehnički crteži i šeme)
Viši cilj: – interakcija sa računarski-zasnovanim modelom komponente ili sistema
koji se projektuje razlog: da bi se testirale njegove, na primer, strukturne, električne ili termalne osobine model se interpretira pomoću simulatora - povratna informacija o ponašanju sistemarezultat simulacije se koristi u narednim ciklusima interaktivnog projektovanja postprocesiranje baze projektnih podataka sa različitim ciljevima (liste delova, računi za materijal, numeričke kontrolne trake za sečenje i bušenje)
18.03.2007.Uvod u računarsku grafiku17
Simulacija i animacija
Prva oblast primene je vizuelizacija– domen: poslovni, naučni, inženjerski i edukativni– sve popularniji su računarski proizvedeni animirani filmovi – prikazi vremenski-promenljivog ponašanja realnih i simuliranih objekata – koriste se za studiranje apstraktnih matematičkih entiteta i modela fenomena – primeri: protok fluida, nuklearne i hemijske reakcije, fiziološki sistem i funkcija
organa, mehaničke strukture pod različitim opterećenjima Druga oblast primene je u filmskoj industriji - kreiranje crtanih filmova
– in-between tehnika interpolacije slike između dve eksplicitno zadate "ključne slike"
Treća oblast primene je u industriji igara – animacija koja uključuje dinamiku kretanja i dinamiku ažuriranja
18.03.2007.Uvod u računarsku grafiku18
Prezentacija
U marketingu, nauci, edukaciji, umetnosti i drugim granamaOvde se računarska grafika koristi da proizvede slike koje izražavaju poruku i privlače pažnjuZnačajna je kretivna (umetnička) komponenta u dizajnuPersonalni računari ili specijalizovani terminali na javnim mestima prikazuju informativne slike Aplikacije omogućavaju korisnicima da se sami orijentišu, prave izbor, kupuju na daljinu (teleshop) Pravljenje slajdova za komercijalne, naučne ili edukativne prezentacije Računarska grafika obara troškove rada kreiranja takvih materijala na tradicionalne načine
18.03.2007.Uvod u računarsku grafiku19
Interakcija u kontroli procesa
Aplikacije dopuštaju korisnicima da interaguju sa nekim aspektima samog realnog sveta Prikazivači statusa
– u rafinerijama, energetskim postrojenjima i računarskim mrežama
– pokazuju vrednosti podataka sa senzora priključenih na kritične sistemske komponente
Operator može jednostavno da uoči problematične uslove i odgovori na njihSimulatori i arkadne igre dopuštaju korisnicima interakciju sa modelom realnog ili veštačkog sveta
18.03.2007.Uvod u računarsku grafiku20
Kartografija
Računarska grafika se koristi da proizvede šematsku reprezentaciju geografskih pojavaGeografske i druge mape se kreiraju na osnovu mernih ili izračunatih podataka Primeri uključuju:
– geografske mape reljefa– mape nalazišta za bušotine i rudnike– okeanografske i druge hidrografske karte– metereološke mape– mape gustine stanovništva
18.03.2007.Uvod u računarsku grafiku21
Klasifikacija grafičkih aplikacija
Veći broj kriterijuma– opis (model) slike– broj dimenzija slike– promenljivost modela– vrsta slike prema broju dimenzija i učešću boje – tip interakcije – stepen u kojem slika predstavlja finalni proizvod
ili put da se do njega stigne
18.03.2007.Uvod u računarsku grafiku22
1. kriterijum: opis (model) slike
Vektorska grafika: – slika se opisuje karakterističnim tačkama objekata koji se prikazuju– osnovna karakteristika:
postoji geometrijski model objekata koji se prikazuju– primeri:
3D objekat u prostoru se opisuje poliedrom čija sva temena predstavljaju karakteristične tačke opisane koordinatama u datom koordinatnom sistemujedan znak nekog fonta može biti opisan poligonom ili skupom poligona u ravni
Rasterska grafika: – slika se opisuje ćelijama (pikselima) matrice (rastera) koja pokriva sliku– osnovna karakteristika:
ne postoji geometrijski model objekata, slika je samo u memoriji– primeri:
fotografija snimljena digitalnom kamerom ili uneta skenerom opisuje se matricom pikslaslikanje na računaru proizvodi sliku koja se opisuje matricom piksela (piksel mapom)
18.03.2007.Uvod u računarsku grafiku23
2. kriterijum: broj dimenzija slike
2D: – crteži ili slike sastavljeni od linija i geom. figura koje sve leže u istoj ravni
2.5D: (više interpretacija)– linije i geometrijske figure leže i više paralelnih ravni – slojevi slike– objekti prostorne scene se prikazuju u jednoj od ortografskih projekcija:
odozgo, spreda i/ili bočnokod pogleda odozgo, treća dimenzija se često kodira bojom (kartografija)
3D: – promenljiva (najčešće perspektivna) projekcija objekata
koji se nalaze u prostornoj sceni4D:
– pokretna slika (animacija) se ponekad naziva 4D grafikom– animacija može biti u 2D ili 3D prostoru
18.03.2007.Uvod u računarsku grafiku24
3. kriterijum: promenljivost modela
Prikazivači (viewer): – aplikacija služi samo za prikazivanje
modela slike ili same slike Editori: – aplikacijom se kreira ili menja model
kojim se opisuje slika, – aplikacijom se direktno menja sama slika
18.03.2007.Uvod u računarsku grafiku25
4. kriterijum: dimenzije i učešće boje
Dimenzionalnost Vrsta slike prema učešću bojeMonohromatsko crtanje linija
2D Slika u skali sivog
Slika u boji
Monohromatski žični model
3D Žični model sa dodatnim efektima (npr. senkom i bojom)
Senčena slika u boji sa različitim efektima (npr. transparencijom, teksturom, osobinama materijala)
18.03.2007.Uvod u računarsku grafiku26
5. kriterijum: tip interakcije
Offline crtanje– sa unapred definisanom bazom podataka
proizvedenom pomoću drugih aplikacija digitalizovanom iz fizičkog modela
Interaktivno crtanje– korisnik kontroliše iteracije:
korisnik daje neke parametre, pa računar crta korisnik menja parametre, pa računar ponovo crta
Kretanje oko unapred definisanog ili izračunatog objekta – kretanje je kontrolisano u realnom vremenu
animacija u realnom vremenu za naučnu vizuelizaciju i simulatore letenja Interaktivno projektovanje
– korisnik počinje od praznog ekrana– zatim kreira nove objekte (tipično iz unapred definisanih komponenata)– zatim se kreće okolo da postigne željeni pogled
18.03.2007.Uvod u računarsku grafiku27
6. kriterijum: stepen proizvoda
Kriterijum predstavlja stepen u kojem slika predstavlja – finalni proizvod ili – put da se do njega stigne
Podela: – finalni proizvod
u kartografiji, tehničkom crtanju, rasterskom slikanju, animaciji – faza u kreiranju proizvoda
u mnogim CAD aplikacijama– samo vizuelizacija
crtež je samo reprezentacija objekta koji se analizira ili projektuje
18.03.2007.Uvod u računarsku grafiku28
Konceptualni okvir za interaktivnu RG
Sledeći konceptualni model se može koristiti da prikaže skoro svaki interaktivni grafički softver
Softver ima tri komponente:– aplikativni model – aplikativni program– grafički sistem
Aplikativni model
Aplikativni program
Grafički sistem
18.03.2007.Uvod u računarsku grafiku29
Aplikativni model (1)
Aplikativni model reprezentuje podatke i objekte koji se prikazuju na ekranu Potpuno je nezavisan od konkretih U/I uređajaAplikativni model obuhvata podatke, objekte i njihove relacije relevantne za:
– prikaz (npr. geometriju objekta, boju)– interakciju (npr. stanje selekcije) – negrafičke module (npr. funkciju objekta koja se računa u simulaciji)
Modeli su specifični za aplikaciju i nezavisni su od uređaja Tipično postoji model koji reprezentuje aplikativne objekte kroz kombinaciju:
– podataka i – proceduralnih opisa (npr. za definiciju fraktala)
U specifičnim aplikacijama kao što su programi za slikanje, program dopušta korisniku da postavlja i modifikuje individualne piksele
– eksplicitni aplikativni model nije potreban – bitmapa ili piksmapa predstavlja i aplikativni model
18.03.2007.Uvod u računarsku grafiku30
Aplikativni model (2)
Model podataka može biti – rudimentaran (niz tačaka u datoteci)– kompleksan (hijerarhijska ili mrežna struktura, ili čak relaciona baza podataka) Često se govori o aplikativnoj bazi podataka u smislu aplikativnog modela Model tipično smešta:
– primitive (npr. tačke, linije, poligoni) koje definišu oblik komponenata objekta – atribute primitiva takve kao što su stil linije, boja ili tekstura površine – relacije konektivnosti koje opisuju kako se komponente međusobno odnose
Objekti u modelu se mogu bitno razlikovati po učešću geometrije potrebne za njihovu specifikaciju:
– jedan kraj skale: "sve-je-geometrija" – CAD alati za projektovanje sklopova – sredina skale: "malo-geometrije" – aplikacije za tabelarni proračun – drugi kraj skale: "nema-geometrije" – demografski podaci o starosti stanovnika
18.03.2007.Uvod u računarsku grafiku31
Aplikativni program (1)
Aplikativni program – kreira, smešta u aplikativni model i dohvata objekte iz aplikativnog modela– proizvodi pogled na model (view) šaljući grafičkom sistemu nizove komandi – obrađuje korisnički ulaz
Aplikativni program kreira aplikativni model na jedan od dva načina:– a priori kao rezultat prethodnog računanja (inženjerske ili naučne simulacije)– kroz interaktivnu sesiju, korisnik vodi proces konstrukcije korak po korak:
bira komponente iz neke paleteodređuje vrednosti geometrijskih i negeometrijskih svojstava određuje relacije (geometrijske i druge) između komponenatatraži da se prikaže izgled modela koji je kreirao do tog trenutka
Aplikativni program konvertuje opis dela modela koji treba prikazati – iz interne reprezentacije geometrije
(bilo da je ova eksplicitno smeštena u model ili izvedena) – u proceduralne pozive ili komande koje grafički sistem koristi da kreira sliku
18.03.2007.Uvod u računarsku grafiku32
Aplikativni program (2)
Konverzioni proces koji obavlja aplikativni program ima dve faze: – pretraživanje aplikativne baze podataka koja čuva model
da bi se izdvojili delovi modela koji će biti prikazani, koristeći kriterijume izbora– stavljanje izdvojene geometrije u format koji može biti poslat grafičkom sistemu
Selekcioni kriterijumi mogu biti:– geometrijski po prirodi, na primer:
deo modela koji treba prikazati nakon pomeraja kamere (pan ili zoom operacije) – slični tradicionalnom upitu u bazu podataka, na primer:
prikazati sve aktivnosti posle 19. 03.2006. u dijagramu rasporeda aktivnosti Podaci koji se ekstrahuju pretraživanjem baze moraju biti:
– po prirodi geometrijski ili konvertovani u geometrijske podatkeZadaci projektanta interaktivnog grafičkog programa su da definiše:
– kreiranje i editovanje aplikativnog modela– poglede na model (načine iscrtavanje modela)– interakciju sa korisnikom (radi stvaranja i menjanja modela i pogleda na model)
18.03.2007.Uvod u računarsku grafiku33
Grafički sistem (1)
Grafički sistem– realizuje grafičke izlazne komande koje se odnose na:
detaljni geometrijski opis objekata koji treba da se prikažu i atribute koji govore kako da se ti objekti prikažu
– prosleđuje i korisničke komande sa ulaznih uređaja aplikativnom programuGrafički sistem je međusloj između
– aplikativnog programa i – hardvera prikazivača
Grafički sistem obavlja: – izlaznu transformaciju iz objekata u aplikativnom modelu u prikaz modela– ulaznu transformaciju iz korisničke akcije u ulaz aplikativnom programu
koji će uzrokovati da aplikacija napravi promene u modelu i/ili na sliciVećina programerskog posla se svodi
– na kreiranje i editovanje modela i obradu interakcija– ne na stvarno kreiranje prikaza, jer to radi grafički sistem
18.03.2007.Uvod u računarsku grafiku34
Grafički sistem (2)
Podaci mogu biti opisani grafičkom sistemu u terminima:– primitiva koje sistem može direktno da prikaže i – atributa koji upravljaju izgledom primitiva
Primitive prikaza tipično odgovaraju primitivama geometrijskih modela: – 2D: linije, pravougaonici, poligoni, krugovi, elipse i tekst – 3D: poligoni, poliedri i tekst
Napredni grafički sistemi kao PHIGS+ podržavaju dodatne primitive:– krive i površine definisane polinomima višeg stepena
Ako model smešta geometrijske primitive koje grafički sistem ne podržava, aplikacioni program mora da ih redukuje na one koje će sistem prihvatiti
– na primer, ako sfere i površine slobodnog oblika nisu podržane, aplikativni program mora aproksimirati takve površine pomoću mreža poligona
Atributi izgleda podržani grafičkim sistemom – treba da odgovaraju atributima smeštenim u modelu – primeri atributa su boja, stil linije i širina linije
18.03.2007.Uvod u računarsku grafiku35
Grafički sistem (3)
Napredni grafički paketi (kakav je PHIGS) dodatno podržavaju mogućnosti: – za specificiranje geometrijskih transformacija za skaliranje, rotaciju i translaciju– za specificiranje kako komponente treba da budu prikazane u 3D – za grupisanje logički korelisanih primitiva, atributa i transformacija
u hijerarhiske struktureGrafički sistem se tipično sastoji od skupa izlaznih potprograma (funkcija) koji odgovarju različitim primitivama, atributima i drugim elementima
– funkcije su u biblioteci grafičkih potprograma ili paketu klasakoje se mogu koristiti iz viših jezika kao što su Pascal, C/C++, Java, C# ili LISP
– aplikativni program specificira geometrijske primitive i atribute ovim funkcijama– funkcije upravljaju prikaznim uređajem tako da ovaj prikaže sliku
18.03.2007.Uvod u računarsku grafiku36
Grafički sistem (4)
Analogija:– većina konvencionalnih U/I sistema kreira logičke U/I jedinice da zaštiti
aplikativnog programera od opterećujućih detalja hardvera i drajvera uređaja– grafički sistem kreira logički prikazni/ulazni grafički uređaj
Apstrakcija uređaja se proteže: – na izlaz slika i – na interakciju preko logičkog ulaznog uređaja
na primer, miš, tablet, dodirni panel, 2D džojstik, ili trackball svi mogu biti tretirani kao lokatorski ulazni uređaji koji vraćaju (x,y) lokaciju na ekranu
Aplikativni program može tražiti od grafičkog sistema: – da uzorkuje ulazni uređaj ili – da čeka u specificiranoj tački dok se ne generiše događaj
kada korisnik aktivira uređaj na koji se čeka
18.03.2007.Uvod u računarsku grafiku37
Obrada interakcija (1)
Tipična aplikativna programska šema za upravljanje interakcijom:– petlja za čekanje događaja (event-driven loop)
Može se zamisliti kao konačni automat– sa centralnim stanjem čekanja i– tranzicijama u druga stanja koje uzrokuju korisnikovi ulazni događaji
Obrada korisničke komande može da ima ugneždene petlje– ugneždene petlje imaju njihova vlastita stanja i tranzicije
Alternativna programska šema za upravljanje interakcijom:– uzorkovanje (sampling) ulaznih uređaja (kakvi su lokatori)
i dohvatanje njihovih tekućih vrednostiProgram koristi vraćenu vrednost kao ulaz za obradu koja menja:
– stanje aplikativnog programa – pogled na model (sliku)– bazu podataka (aplikativni model)
18.03.2007.Uvod u računarsku grafiku38
Obrada interakcija (2)
Petlja za čekanje događaja je okarakterisana sledećim pseudokodom:
Generisanje početnog ekrana, izvedenog iz aplikativnog modela
while (!quit){omogućavanje izbora komandi;čekanje na izbor korisnika;switch (izbor) {
obrada izbora da se kompletira komanda ili obrada kompletirane komande uz ažuriranje modela i/ili prikaza
}}
18.03.2007.Uvod u računarsku grafiku39
Obrada interakcija (3)
Aplikativni program odgovara na korisnikove akcije na jedan od načina:– korisnikova akcija zahteva samo da se ažurira slika na ekranu
npr. osvetljavanjem selektovanog objekta ili čineći raspoloživim novi meni za izbor aplikacija treba samo da ažurira svoje interno stanje i da pozove grafički paket da ažurira ekran
– korisnikova akcija zahteva promenu u modelunpr. dodajući ili brišući komponentuaplikacija mora da ažurira model i pozove grafički paket da ažurira ekran na osnovu modela:
– ceo model se ponovo pretražuje da se regeneriše slika od nule, ili– uz pomoć sofisticiranih algoritama za inkrementalno ažuriranje, ekran se ažurira selektivno
Ekran je “prozor na računaru” u kojem korisnik manipuliše ne slikom već modelom koji je iza slikeSamo su u aplikacijama za slikanje i obradu slike model i slika identični
18.03.2007.Uvod u računarsku grafiku40
Obrada interakcija (4)
Interpretiranje korisnikovog ulaza je posao aplikacijeGrafički sistem nije odgovoran za izmenu modela usled korisničke akcije Posao grafičkog sistema je samo
– da kreira slike iz geometrijskih opisa i – da prosleđuje ulazne podatke
Paradigma petlje za čekanje događaja je ograničena– dijalog korisnika i računara je sekvencijalan, ping-pong model
alterniranja korisničkih akcija i računarskih reakcija Danas alati za razvoj grafičkih aplikacija na prozorski orijentisanim OSdaju mogućnost obrade događaja prouzrokovanih ulaznim uređajimau posebnim rutinama (event-handling rutine)
– na primer, OnMouseClick, OnMouseMove i sl.U budućnosti se mogu očekivati više paralelnih konverzacija, sa simultanim ulazima i izlazima koji koriste više komunikacionih kanala
– na primer, grafika i glas – formalizmi za takve konverzacije slobodne forme još nisu dovoljno razvijeni
18.03.2007.Uvod u računarsku grafiku41
Razvoj računarske grafike (1)
Crtanje na hardcopy uređajima datira od ranih dana računarstvaTipični hardcopy uređaji: teleprinterski terminali i linijski štampačiWhirlwind Computer razvijen 1950 na MIT:
– računarski upravljani CRT prikazivači i papirne kopije snimljene kamerom
18.03.2007.Uvod u računarsku grafiku42
Razvoj računarske grafike (2)
Sredinom 50-ih razvijen sistem vazdušne odbrane SAGE– prvi koji koristi komandne i kontrolne CRT prikazivačke konzole – operatori identifikuju ciljeve pomoću svetlosnih pera
18.03.2007.Uvod u računarsku grafiku43
Razvoj računarske grafike (3)
Počeci interaktivne grafike: doktorat Ivana Sutherlanda iz 1963 (Sketchpad sistem za crtanje)
– strukture podataka za smeštanje hijerarhija simbola – jednostavna replikacija standardnih komponenata crteža
kao plastični šabloni za crtanje– tehnike interakcije
koriste tastaturu i svetlosno pero za pravljenje izbora, ukazivanje i crtanje – formulisao je mnoge fundamentalne ideje i tehnike koje se i danas koriste– mnoge mogućnosti Sketchpad-a se nalaze u PHIGS grafičkom paketu
18.03.2007.Uvod u računarsku grafiku44
Razvoj računarske grafike (4)
Šezdesetih postaje jasno proizvođačima računara, automobila, aviona da: – CAD (Computer Aided Design) i – CAM (Computer Aided Manufacturing)
imaju veliki potencijal za automatizaciju aktivnosti sa intenzivnim crtanjemPionirski napori:
– Sistem DAC (General Motors, 1964) za dizajn automobila – Sistem Digitek (Itek) za projektovanje sočiva
pokazali su korist grafičke interakcije u iterativnim ciklusima projektovanja
18.03.2007.Uvod u računarsku grafiku45
Razvoj računarske grafike (5)
Od sredine šezdesetih: – pojavio se jedan broj istraživačkih projekata i komercijalnih proizvoda– ulaz/izlaz obavljao se primarno u paketnoj obradi koristeći bušene kartice – velike nade za proboj u interaktivnu komunikaciju između korisnika i računara – interaktivna grafika kao "prozor na računaru" – grafika postaje integralni deo ubrzanog ciklusa interaktivnog projektovanja
DEC340 IBM2250 Adage
18.03.2007.Uvod u računarsku grafiku46
Razvoj računarske grafike (6)
Interaktivna grafika je dugo ostala iznad mogućnosti svih osim tehnološki najintenzivnijih organizacijaMeđu razlozima su bili sledeći:
– visoka cena grafičkog hardvera (proizvodi se u malim serijama) prvi komercijalni računarski displeji koštali više od sto hiljada dolara
– teškoća pisanja interaktivnih programa za nova time-sharing okruženja grafika i interakcija su bili novi za FORTRAN programere dominantno orijentisane na paketnu obradu
– neportabilan softver, tipično pisan za poseban proizvođačev prikazni uređaj bez modernih principa softverskog inženjerstva za razvoj modularnih strukturiranih sistema prelaz na nove prikazivače zahteva skupa prepisivanja programa koji radenepostojanje grafičkih standarda
18.03.2007.Uvod u računarsku grafiku47
Razvoj računarske grafike (7)
Osamdesetih godina– pojava grafički-orijentisanih PC
Apple Lisa, IBM PC, Amiga, Atari,...– dramatično oborena cena hardvera i softvera – milioni grafičkih računara prodati kao aparati za kancelarije i kuće
IBM PC-XT Apple Lisa Amiga A500
18.03.2007.Uvod u računarsku grafiku48
Literatura
A Critical History of Computer Graphics and Animationhttp://accad.osu.edu/~waynec/history/