Upload
mensur-durakovic
View
242
Download
6
Embed Size (px)
DESCRIPTION
opis
Citation preview
Raunalna grafika
Raunalna grafika
Elementi slike
Vektorski i grafiki rasterski sustavi
Koncept interaktivne grafike
Raunalna grafika
2014/2015 Predavanje 2 2
Osnovni elementi slike
Primitivi: osnovni objekti od kojih se sastoji neka slika
Primitivi mogu biti:
o polilinije
o tekst
o ispunjena podruja (povrine)
o rasterske slike
Raunalna grafika
2014/2015 Predavanje 2 3
Polilinije
Polilinija - povezana sekvenca ravnih crta
Raunalna grafika
2014/2015 Predavanje 2 4
Polilinije
Uveanje dijela slike:
krivulja zapravo nije
glatka ve se sastoji od
vie ravnih segmenata
Slike napravljene od
polilinija ponekad
nazivamo i linijski crtei
Raunalna grafika
2014/2015 Predavanje 2 5
Polilinije
Najjednostavnija polilinija je obina ravna crta koja je
odreena s poetnom tokom (x1, y1) i krajnjom tokom
(x2, y2).
Primjer rutine za crtanje linije:
drawLine (x1, y1, x2, y2).
Specijalni sluaj:
segment se skrauje na jednu toku: drawDot (x1, y1).
Raunalna grafika
2014/2015 Predavanje 2 6
Polilinije
Polilinije moemo odrediti
pomou liste vrhova s njihovim
koordinatama:
(x0, y0), (x1, y1), (x2, y2),...(xn,yn).
Na primjer, polilinija prikazana na
slici zadana je nizom (2,4), (2,11),(6,14), (12,11), (12,4),...
Naredba za crtanje polilinije npr.
drawPolyline (poly)
poly - lista vrhova polilinije
Raunalna grafika
2014/2015 Predavanje 2 7
Polilinije
Vani atributi polilinija:
boja
debljina rubova
nain na koji su rubovi povueni
nain na koji se rubovi spajaju
Uobiajeno je da svi rubovi
jedne polilinije imaju iste
atribute
Slika gore i ispod:
polilinije s razliitim
atributima
Raunalna grafika
2014/2015 Predavanje 2 8
Tekst
Naini prikaza:
tekstualni
grafiki
Tekstualni nain:
jednostavni ulaz/izlaz alfanumerikih znakova
koristi ugraeni generator znakova
znakovi se obino ne mogu postaviti proizvoljno na zaslonu
Raunalna grafika
2014/2015 Predavanje 2 9
Tekst
Grafiki mod ispisa teksta
Primjer naredbe za ispis
teksta: drawString (x, y, string)
Uobiajeni atributi teksta:
izgled
boja
veliina
razmak
orijentacija
Font je skup alfanumerikih znakova specifina izgleda u
odreenom stilu i veliini
Raunalna grafika
2014/2015 Predavanje 2 10
Ispunjena podruja (povrine)
Primitiv ispunjenog podruja je obris ispunjen nekom bojom
ili uzorkom.
Rub ispunjenog podruja - obino poligon a mogu biti i
sloenija podruja
Raunalna grafika
2014/2015 Predavanje 2 11
Ispunjena podruja (povrine)
Primjer naredbe za crtanje ispunjenog poligona:
fillPolygon (poly, pattern);
poly liste vrhova
pattern - opis uzorka
Koritenje ispunjenih
poligona za sjenenje
3D objekta.
Raunalna grafika
2014/2015 Predavanje 2 12
Rasterske slike
Pravilno rasporeeni elementi fiksne veliine i oblika za
koje je odreena boja i nivo osvijetljenosti
Elementi - slikovni elementi ili pikseli.
Ako su slikovni elementi dovoljno mali i gusto
rasporeeni
ljudsko oko ih nee prepoznati kao zasebne
elemente, ve e ih povezati u kontinuiranu
sliku.
Raunalna grafika
2014/2015 Predavanje 2 13
Rasterske slike
Rasterska slika:
- U raunalu pohranjena kao polje numerikih vrijednosti.
- Ova matrica naziva se bitmapa (cb) ili pixmapa (boja)
Slika se pohranjuje zapisivanjem pozicije, boje ili
osvijetljenosti (razine sivog) svakog slikovnog elementa.
Raunalna grafika
2014/2015 Predavanje 2 14
Rasterske slike
bitovna matrica (bitmap) - matrica iji elementi (1, 0)
predstavljaju svjetlou (ili boju) odgovarajuih elemenata
pravokutnog rasporeda osvjetljivih toaka zaslona (slikovnih
elemenata) u dvorazinskom sustavu (informacijski kapacitet 1
bit/piksel)
matrica slikovnih elemenata (pixmap - pixel map) - matrica
iji elementi predstavljaju boju odgovarajuih elemenata
pravokutnog rasporeda osvjetljivih toaka zaslona (slikovnih
elemenata) u vierazinskom sustavu (informacijski kapacitet n
bit/piksel)
Raunalna grafika
2014/2015 Predavanje 2 15
Rasterske slike
Dvorazinska slika kurzora (a) i njegova bitmapa (b)
Raunalna grafika
2014/2015 Predavanje 2 16
Rasterske slike
Slika sa 8 moguih razina sivog (a) i vrijednosti slikovnih
elemenata lijevog gornjeg kuta za prikazanu sliku (b)
Raunalna grafika
2014/2015 Predavanje 2 17
Rasterske slikeMemorijski zahtjevi
Crno-bijele slike: jedan bit (0 bijelo, 1 crno)
256 razina sivog 8 bitova
Slike u boji jo su memorijski zahtjevnije. Boja odreenog
slikovnog elementa odreena je sa tri broja koja predstavljaju
razinu crvene, zelene i plave boje ijim mijeanjem nastaje
eljena boja
true color mod 24 bita za svaki slikovni element tj. po
jedan bajt za svaku komponentu boje
Broj bita po slikovnom elementu - dubina boje.
Raunalna grafika
2014/2015 Predavanje 2 18
Rasterske slike
Primjer raspodjele 16-bita za boje.
Bit 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
Data x R R R R R G G G G G B B B B B
X obino G
Zato ?
Osjetljivost oka
Raunalna grafika
2014/2015 Predavanje 2 19
Rasterske slike
Prilikom prikazivanja pohranjene slike:
isitavanje podataka za svaki slikovni element istim
redoslijedom kojim su i zapisivani.
Nije potrebno zapisivati poziciju svakog slikovnog elementa
slike i pojednostavnjeno je zapisivanje i rekonstrukcija slike.
Obino: slika se sprema red po red, s lijeva na desno i od gore
prema dole.
Redove slikovnih elemenata nazivamo rasterske scan linije
Raunalna grafika
2014/2015 Predavanje 2 20
Rasterske slike Monokromatski rasteri se takoer mogu koristiti za prikaz
kontinuiranih tonskih prelaza koritenjem grupe tehnika -
polutonske transformacije (halftone approximation).
Koriste se ogranienja prostorne razluivosti oka - jedan
slikovni element se prikazuje grupom slikovnih elemenata u
bitmapi (klaster piksela)
Raunalna grafika
2014/2015 Predavanje 2 21
Vektorski i rasterski grafiki sustavi
Ovisno o arhitekturi grafikog sustava, moemo ih podijeliti na
dvije osnovne grupe:
1. vektorski grafiki sustavi (sustavi s proizvoljnom putanjom
otklonjene zrake)
2. rasterski grafiki sustavi (sustavi sa sekvencijalnom
putanjom otklonjene zrake)
Raunalna grafika
2014/2015 Predavanje 2 22
Vektorski grafiki sustavi
Masovno u upotrebi od sredine ezdesetih do sredine
osamdesetih godina 20 og stoljea
vektor = crta
Crta koja povezuje dvije (proizvoljno) odabrane toke na
zaslonu osnovni je element grafikog prikaza (random scan).
Putanja zrake odreena je slijedom naredbi iz prikazne liste ili
prikaznog programa i povezuje krajnje toke pojedinih crta
Raunalna grafika
2014/2015 Predavanje 2 23
Vektorski grafiki sustavi
Tipini vektorski sustav sastoji se od sljedeih dijelova:
prikazni procesor prikljuen kao U/I ureaj na glavni
procesor (CPU)
prikazna privremena memorija (display buffer memory)
vektorski generator
prikazni ureaj
Raunalna grafika
2014/2015 Predavanje 2 24
Vektorski grafiki sustavi
Prikazna privremena memorija ili meuspremnik za
osvjeavanje sadri prikaznu listu ili prikazni program.
Prikazna lista (ili program): niz naredbi za crtanje toaka i
linija sa koordinatama krajnjih toaka (x, y) kao i naredbi za
ispis karaktera
Naredbe za crtanje toaka, linija i karaktera interpretiraju se u
prikaznom procesoru koji digitalne koordinate toaka
prosljeuje vektorskom generatoru
Vektorski generator pretvara digitalne koordinate u analogne
vrijednosti napona za otklonski sustav katodne cijevi
Raunalna grafika
2014/2015 Predavanje 2 25
Vektorski grafiki sustavi
Arhitektura grafikog sustava s vektorskim prikaznim ureajem
Raunalna grafika
2014/2015 Predavanje 2 26
Vektorski grafiki sustavi
Nedostaci:
Vektorski grafiki sustavi nemaju mogunost prikaza
ispunjenih povrina, manipulaciju bitovima i tablicama
Prednosti:
Mogu ostvariti vee rezolucije od rasterskih sustava
Mogu prikazivati glatke kose crte.
Raunalna grafika
2014/2015 Predavanje 2 27
Rasterski grafiki sustavi
Poetkom sedamdesetih godina 20-tog stoljea dolazi do
razvoja jeftine rasterske grafike zasnovane na televizijskoj
tehnologiji
Rasterski prikazni ureaji pohranjuju primitivne oblike u
prikaznu privremenu memoriju u obliku njihovih osnovnih
sastavnih slikovnih elemenata - piksela.
Cjelovita slika prikazuje se na rasteru koji predstavlja niz
paralelnih horizontalnih redova slikovnih elemenata
Raunalna grafika
2014/2015 Predavanje 2 28
Rasterski grafiki sustavi
Arhitektura grafikog sustava s rasterskim prikaznim ureajem
Raunalna grafika
2014/2015 Predavanje 2 29
Rasterski grafiki sustavi
Putanja zrake (raster scan) pri kreiranju prikaza na rasterskom
prikaznom ureaju
Raunalna grafika
2014/2015 Predavanje 2 30
Rasterski grafiki sustavi
Usporedba naina kreiranja
grafikog prikaza na rasterskom i
vektorskom prikaznom ureaju:
a) idealna slika
b) slika generirana na
vektorskom ureaju
c) slika generirana na rasterskom
prikaznom ureaju
d) rasterski prikaz s ispunjenjem
slike.
Raunalna grafika
2014/2015 Predavanje 2 31
Rasterski grafiki sustavi
Za razliku od vektorskog prikaza - potrebno je eksplicitno
pohraniti cijelu sliku od N x M slikovnih elemenata.
Realizacija putanje zrake mnogo je jednostavnija i jeftinija
(kod vektorskih ureaja je potrebno osigurati vrlo veliku
preciznost vektorskih generatora).
Pojava jeftine RAM memorije - omoguila prevlast rasterske
tehnologije poetkom sedamdesetih godina
Raunalna grafika
2014/2015 Predavanje 2 32
Rasterski grafiki sustavi
Osnovne prednosti rasterske grafike:
cijena
mogunost prikaza ispunjenih podruja
neovisnost procesa osvjeavanja slike o njenom sadraju
Rasterski grafiki sustavi nisu u stanju prikazati glatku,
neprekinutu liniju ili krivulju ve samo njihove aproksimacije
Aliasing - pojava koja nastaje kao posljedica pogreke
uzorkovanja
Tehnike njenog odstranjivanja - antialiasing (primjena gradacije
osvjetljenja susjednih slikovnih elemenata na rubovima primitiva)
Raunalna grafika
2014/2015 Predavanje 2 33
Koncept interaktivne grafike
Koncept interaktivne raunalne grafike
Raunalna grafika
2014/2015 Predavanje 2 34
Koncept interaktivne grafike
Na sklopovskoj razini raunalo prima ulazne informacije
od interakcijskih ureaja i prenosi slike prikaznom ureaju.
Programska razina moe se podijeliti u tri dijela:
aplikacijski model
aplikacijski program
grafiki sustav
Raunalna grafika
2014/2015 Predavanje 2 35
Aplikacijski model
Aplikacijski model predstavlja podatke ili objekte koji se
prikazuju na zaslonu.
Funkcije:
sadri sve podatke, objekte i odnose meu njima koje koriste
prikazni i interakcijski dio aplikacijskog programa ili
negrafiki moduli za obradu podataka;
predstavlja objekte kombinacijom podataka i proceduralnih
opisa neovisnih o prikaznom ureaju.
Raunalna grafika
2014/2015 Predavanje 2 36
Aplikacijski model
Aplikacijski model sadri:
primitivne oblike (toka, crta, viekutni likovi u 2D ili 3D,
razliitih prostornih ploha u 3D...) od kojih je sastavljen
model objekta,
atribute objekata (vrsta crte, boja, struktura povrine...),
odnose meu objektima i dijelovima objekata (povezivanje,
spajanje...),
podatke o poloaju objekata i dijelova objekata.
Raunalna grafika
2014/2015 Predavanje 2 37
Aplikacijski program
prima i obrauje informacije od aplikacijskog modela i
korisnika
razvija aplikacijski model
generira skup grafikih izlaznih naredbi koje sadre
geometrijski opis onoga to kao i naina na koji se pojedini
objekti prikazuju.
pretvara opis dijela modela koji treba prikazati u pozive
procedura ili naredbi grafikog sustava koji se koristi za
stvaranje slikovnog prikaza (pretrauje aplikacijske baze podatakai izluivanje podataka nunih za prikaz odabranog dijela modela,
pretvorba podataka u format prikladan za ulaz u grafiki sustav)
Raunalna grafika
2014/2015 Predavanje 2 38
Grafiki sustav
Proizvodi sliku na temelju detaljnog opisa u obliku grafikih
naredbi koji generira aplikacijski program i prenosi ulaznu
informaciju od korisnika aplikacijskom programu na obradu.
Posreduje izmeu aplikacijskog programa i prikaznog
ureaja
Raunalna grafika
2014/2015 Predavanje 2 39
Grafiki sustav
Zadae:
izlazna transformacija (transformira objekt u aplikacijskom
modelu u slikovni prikaz modela);
ulazna transformacija (transformira korisniko djelovanje u
ulaznu informaciju za aplikacijski program na temelju kojih
aplikacijski program djeluje na promjenu modela i/ili slike).
Raunalna grafika
2014/2015 Predavanje 2 40
Grafiki sustav
Sastoji se od skupa izlaznih potprograma koji odgovaraju
razliitim primitivnim oblicima, atributima i drugim
elementima.
Ovi potprogrami tvore biblioteku grafikih potprograma ili
grafiki paket i mogu se pozivati iz programskih jezika
visoke razine (C, C++, C#, Pascal, LISP).
Potprogrami pokreu prikazne ureaje i na taj nain
generiraju slikovni prikaz geometrijskih primitivnih oblika i
atributa specificiranih aplikacijskim programom.
Raunalna grafika
2014/2015 Predavanje 2 41
Upravljanje interakcijom
Aplikacijski program moe od grafikog sustava zatraiti:
1. periodiko uzorkovanje ulaznih ureaja
Aplikacijski program periodiki postavlja upit o
trenutnoj vrijednosti logikog ulaznog ureaja i
nastavlja s radom.
Uzorkovanje ove vrijednosti se obavlja bez obzira da li
je dolo do promjene vrijednosti ulaznog ureaja).
Zahtjevno za interaktivne aplikacije i optereuje CPU
Raunalna grafika
2014/2015 Predavanje 2 42
Upravljanje interakcijom
Periodiko uzorkovanje
Raunalna grafika
2014/2015 Predavanje 2 43
Upravljanje interakcijom
2. ekanje u odreenom stanju na pokretaki dogaaj
interrupt driven interaction; rad aplikacije se prekida
nekim od dogaaja.
Tipian oblik interakcije: petlja pokretana dogaajima
(event-driven loop)
Trenutana vrijednost ulaznog ureaja zajedno se s
identifikatorom ureaja pohranjuje u tzv. red dogaaja
(engl. event queue) svaki put kada doe do promjene
stanja.
Izbjegava se veliko optereenje CPU-a
Raunalna grafika
2014/2015 Predavanje 2 44
Upravljanje interakcijom
ekanje na pokretaki dogaaj
Raunalna grafika
2014/2015 Predavanje 2 45
Upravljanje interakcijom
Primjer pseudokoda petlje pokretane dogaajima:
stvori poetni prikaz na temelju aplikacijskog modela
while(!kraj) { /* korisnik nije odabrao opciju kraj */
omogui izbor naredbenih objekata
/* program eka beskonano na korisnikovo djelovanje */
ekaj korisnikov izbor
switch(izbor) {
obradi izbor i upotpuni naredbu ili izvri
upotpunjenu naredbu te promijeni model ili prikaz na
zaslonu po zahtjevu
}
}
Raunalna grafika
2014/2015 Predavanje 2 46
Sljedei put:
- Grafiki cjevovod
- Osnovni algoritmi rasterske grafike