48
Računarska grafika Uvod

Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

  • Upload
    phamdat

  • View
    240

  • Download
    11

Embed Size (px)

Citation preview

Page 1: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

Računarska grafika

Uvod

Page 2: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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

Page 3: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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)

Page 4: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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)

Page 5: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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

Page 6: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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

Page 7: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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

Page 8: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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

Page 9: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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)

Page 10: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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

Page 11: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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

Page 12: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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

Page 13: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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

Page 14: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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

Page 15: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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

Page 16: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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)

Page 17: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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

Page 18: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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

Page 19: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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

Page 20: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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

Page 21: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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

Page 22: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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)

Page 23: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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

Page 24: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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

Page 25: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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)

Page 26: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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

Page 27: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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

Page 28: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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

Page 29: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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

Page 30: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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

Page 31: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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

Page 32: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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)

Page 33: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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

Page 34: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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

Page 35: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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

Page 36: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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

Page 37: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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)

Page 38: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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

}}

Page 39: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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

Page 40: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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

Page 41: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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

Page 42: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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

Page 43: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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

Page 44: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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

Page 45: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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

Page 46: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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

Page 47: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

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

Page 48: Računarska grafika - ВикиЕТФwiki.etf.rs/mediawiki/images/IR4RG_P01_Uvod.pdf · – optičko čitanje i prepoznavanje znakova (OCR), – optičko čitanje markera (OMR) 10

18.03.2007.Uvod u računarsku grafiku48

Literatura

A Critical History of Computer Graphics and Animationhttp://accad.osu.edu/~waynec/history/