Usmeni 2 Flashcards
Duža skripta
Šta je računarska grafika?
Računarska grafika je skup tehnika i sredstava čijom primenom se olakšava obrada grafičkih
podataka.
Računarska grafika je grana računarske nauke koja se bavi sintezom računarskih slika stvarnih ili
zamišljenih objekata.
Računarska grafika se bavi svim aspektima kreiranja slike pomoću računara: hardverom, softverom i
aplikacijama.
Računarska grafika i srodne oblasti.
U zavisnosti od toga da li je ulaz/izlaz aplikacije
model ili slika objekta, postoje 4 srodne oblasti:
1) Računarska geometrija1
: transformiše modele
objekata, bez rezultata u obliku slike.
2) Računarski vid: vrši prepoznavanje slike, tj.
raščlanjivanje slike u upotrebljivi model.
3) Računarska grafika: na osnovu modela prikazuje
sliku.
4) Obrada slika: transformiše slike objekata, ne
koristi model objekta.
(slika)
. Podela aplikacija računarske grafike.
Aplikacije računarske grafike se mogu deliti po više kriterijuma:
1) Po dimenzionalnosti: dele se na 2D i 3D aplikacije.
2) Po tipu interakcije: dele se na aplikacije sa offline crtanjem (iz baze podataka), sa interaktivnim
crtanjem (korisnik utiče na iscrtavanje), sa real-time animacijom i sa interaktivnim projektovanjem.
3) Po ulozi slike u aplikaciji: na aplikacije čiji je slika krajnji cilj i one kod kojih je slika samo deo
jedne faze projektovanja.
4) Po vezi između objekta i njegovih slika: na aplikacije kod kojih se formira samo jedna slika, više
povezanih slika, ili na one koje rade sa hijerarhijskom strukturom objekata.
. Šta je to grafički sistem?
Grafički sistem predstavlja sponu između grafičke opreme i aplikativnog programa.
Grafički sistem je bilo koji skup hardverskih i softverskih entiteta, takvih da programerima
pojednostavljuju upotrebu grafičkih ulaza i izlaza.
Grafički sistem je skup hardverskih i softverskih elemenata i njihovih veza, projektovan tako da
zadovolji potrebe određene aplikacije za grafičkom komunikacijom.
Grafički sistem se obično sastoji iz skupa procedura koje odgovaraju različitim primitivama,
atributima i ostalim elementima, koje su najčešće organizovane u grafičke biblioteke, takozvane
grafičke API-je.
Funkcije grafičkog sistema: mora da obezbedi rad sa podacima, njihovo čuvanje i prikazivanje u
obliku teksta i slike, da omogući korisniku da na prihvatljiv način prepozna i interpretira grafički
prikazane podatke i da ih po potrebi menja i utiče na njihovo pojavljivanje.
Šta je grafički API?
Grafički API (Application Programming Interface) je skup grafičkih funkcija organizovanih u jednu ili
više grafičkih biblioteka koje predstavljaju interfejs između aplikacionog programa i grafičkog sistema.
Grafički API vrši apstrakciju detalja o hardverskoj i softverskoj implementaciji i daje programeru
prikaz sistema kao „crne kutije“.
Navesti osnovne grupe funkcija koje svaki API mora da ima.
1) Funkcije za primitive: funkcije za iscrtavanje osnovnih grafičkih primitiva (tačka, linija, poligon,
piksel, tekst…).
2) Funkcije za kontrolu atributa primitiva: Primitive definišu šta će se nacrtati a njihovi atributi kako
će se nacrtati (npr. boja/debljina/tip linije).
3) Funkcije pogleda: Omogućavaju formiranje 2D prikaza na osnovu 3D objekta (projekciju,
određivanje koji objekti iz 3D sveta će se naći u 2D prikazu).
4) Funkcije za geometrijske transformacije: Omogućavaju 2D i 3D geometrijske transformacije nad
objektima (translacija, rotacija, skaliranje…).
5) Funkcije za ulaz: Omogućavaju korisnicima da vrše unos podataka u aplikaciju putem delova
grafičkog sistema (tastatura, miš, tabla, skener…).
6) Kontrolne funkcije: Omogućavaju komunikaciju sa operativnim sistemom pod kojim se grafička
aplikacija izvršava (inicijalizacija, kontrola prozora…).
7) Ispitivačke funkcije: Omogućavaju dobijanje informacija o karakteristikama pojedinih
komponenata grafičkog sistema (paleta boja, rezolucija…). Na ovaj način programeri dobijaju
mogućnost
Windows GDI, ili DeviceContext
GDI (Graphics Device Interface) je 2D grafički API koji Microsoft koristi u
svojim operativnim sistemima. GDI enkapsulira svoje funkcije i grafičke objekte
u MFC klase (CDC - Device Context, CBrush - četka, CPen - olovka, CBitmap -
bitmapa…). Mesto GDI-ja u Windows operativnom sistemu dato je na slici
pored.
Potencijalno podpitanje:
-Device Context.
Device Context je apstraktni (virtuelni) uređaj. Kada se programira, pristupa
se ovom uređaju i na taj način se ne vodi računa direktno o hardveru i
njegovim karakteristikama. O karakteristikama hardvera brigu vode drajveri
uređaja.
Struktura OpenGL-a.
OpenGL (Open Graphics Library) je organizovan u nekoliko biblioteka:
1) GL: jezgro OpenGL-a, osnovna biblioteka koja sadrži imena svih OpenGL funkcija.
2) GLU (Graphics Utility Library): biblioteka koja obezbeđuje potrebnu funkcionalnost OpenGL
jezgra. Koristi samo GL funkcije i sadrži kod za kreiranje objekata koji se često koriste kao i
procedure koje se često koriste.
3) GLUT (GL Utility Toolkit): biblioteka koja obezbeđuje minimum funkcionalnosti koja se očekuje
od modernih sistema zasnovanih na prozorima.
4) GLX (WGL, AGL): služe za
spregu sa operativnim
sistemima. Korišćenjem ovih
funkcija se gubi potreba da
OpenGL aplikacija poziva
direktno funkcije operativnog
sistema. GLX je sprega sa X
Windows sistemom, WGL sa
Windows-om a AGL sa Apple
Mac OS-om.
Organizacija OpenGL
biblioteka prikazana je na slici
pored. (slika)
Razlika između rasterskih i vektorskih podataka.
Rasterski podaci se pamte u obliku matrice čiji je svaki element jedan piksel zapamćene slike, dok se
vektorski podaci pamte kao skup tačaka i primitiva na osnovu kojih se dobija zapamćena slika.
Rasterski podaci predstavljaju „digitalni pogled“ na izvorni dokument, i iz njih se direktno mogu
izdvajati informacije korišćenjem neke od metoda za obradu signala. Takođe, oni se mogu
kompresovati, što smanjuje potreban prostor za njihovo skladištenje. Nedostatak je to što se mora
izvršavati dekompresija, što usporava prikaz. Prednost vektorskih podataka u odnosu na rasterske je u
tome što pružaju mnogo više informacija o geometriji i topologiji, kao i to što prilikom
uvećanja/umanjenja slika ne gubi kvalitet. Zato se vektorski podaci koriste za pamćenje crteža, dok se
rasterski podaci koriste za pamćenje slike, videa itd., tamo gde njihova ograničena preciznost ne
dolazi do izražaja.
. Razlika između rasterskih i vektorskih uređaja.
Displej procesor vektorskih uređaja interpretira komande za iscrtavanje iz bafera (često se zove
bafer za osvežavanje - refresh buffer) i šalje digitalne koordinate tačke generisanjem vektora koji se
konvertuje u odgovarajući analogni signal, koji predstavlja napon potreban da bi se osvetlile tačke na
ekranu. Zrak se kreće u onom redosledu i smeru u kome mu diktiraju koordinate iz bafera. Tehnika
prikaza na vektorskim uređajima se naziva slučajnim skaniranjem (random scan) jer je svaka tačka na
ekranu adresibilna.
Rasterski uređaji smeštaju podatke za prikazivanje u bafer za osvežavanje, pri čemu su primitive
razložene na piksele. Kompletna slika na rasterskom uređaju se formira iz rastera, koji predstavlja niz
horizontalnih rasterskih linija od kojih je svaka red individualnih piksela. Raster se pamti kao matrica
piksela koja predstavlja celu površinu ekrana. Slika se skenira sekvencijalno od strane video
kontrolera, liniju po liniju i od vrha ka dnu. Intenzitet mlaza reflektuje intenzitet svakog piksela.
Princip rada CRT monitora.
Princip rada CRT ekrana je sledeći: elektronski top emituje mlaz elektrona. Tanak mlaz elektrona se
postiže sistemom za fokusiranje. Usmeravanje mlaza elektrona se postiže pomoću kalemova za
skretanje prema određenoj tački na fosfornoj ploči. Pošto su elektroni dosta ubrzani, oni udaraju u
fosfor ogromnom brzinom, pri čemu fosfor svetli. Pošto intenzitet svetlosti opada sa vremenom, tačku
je potrebno pogađati više puta u sekundi, da bi se izbeglo treperenje. Osvežavanje cele slike je
neophodno vršiti više puta u sekundi. Taj period određuje period osvežavanja slike (refresh rate), i on
obično iznosi 60Hz (60 frejmova u sekundi). Kontrolni grid u katodnoj cevi služi da odredi broj
elektrona u mlazu. Što je negativniji napon kontrolnog grida, to je broj elektrona u mlazu manji. Na taj
način se kontroliše intenzitet osvetljenja. Kod CRT ekrana u boji postoje 3 elektronska topa, po jedan
za crvenu, plavu i zelenu boju. Slika se na ekranu iscrtava liniju po liniju, prateći „cik-cak“ putanju.
Aspect Ratio.
Aspect Ratio (AR) je odnos horizontale i vertikale, tj. odnos između broja piksela po vertikali i
horizontali ekrana. Nekada je obično iznosio 4:3, dok je današnji standard 16:9 (widescreen).
Računa se po obrascu AR = AP/ AL , gde je AP broj piksela po dužini, a AL po širini ekrana.
Rezolucija.
Rezolucija ekrana jednaka je ukupnom broju piksela koji mogu biti prikazani na ekranu, tj. njegovoj
aktivnoj oblasti. Računa se po obrascu R = AP ∗ AL 2
, gde je AP broj piksela po dužini, a AL po
širini ekrana.
. Princip rada LCD i plazma ekrana
LCD ekrani prikazuju sliku zahvaljujući osobini dugih molekula kristala da pod uticajem električnog
polja ne polarizuju svetlost, tako da ona ne može proći kroz horizontalnu polarizacijsku ploču, usled
čega gledalac vidi crnu površinu. U odsustvu električnog polja, molekuli kristala su spiralno
raspoređeni i rotiraju polarizaciju ulazne svetlosti za 90º, tako da ona može proći kroz horizontalnu
polarizacijsku ploču i samim tim biti vidljiva gledaocu. Tačke na ekranu se adresiraju matrično,
pomoču horizontalne i vertikalne rešetke - tačka je tamna ako joj se preko vertikalne rešetke dovede
pozitivan, a preko horizontalne negativan napon. Kombinacija pozitivnog napona sa desne, i
negativnog napona sa leve strane kristalnog sloja ređa kristale na tom mestu.
Plazma ekrani su sačinjeni od malih neonskih sijalica koje se matričnim adresiranjem preko
horizontalne i vertikalne rešetke mogu selektivno paliti i gasiti. Uz dovoljno veliku razliku napona na
horizontalnoj i vertikalnoj rešetki, elektroni iz molekula neona se oslobađaju i sijalica svetli. Za
održanje ovog stanja dovoljan je i nešto niži napon, a ono se menja kada napon padne ispod nužne
granične vrednosti održavanja.
Prednosti i mane LED i OLED ekrana.
Prednosti LED ekrana u odnosu na standardne LCD ekrane su sledeće:
1) 45% manja potrošnja električne energije.
2) Znatno tanji ekrani.
3) Svetlija slika uz tamniju crnu boju.
4) Uz korišćenje RGB-LED tehnologije može se dobiti znatno širi gamut boja.
5) Bolja kontrola pojedinačnih piksela na ekranu.
Mane LED ekrana u odnosu na standardne LCD ekrane su sledeće:
1) Veća potrošnja energije u određenim modovima rada (npr. local dimming, gde se delovi ekrana
zatamnjuju radi boljeg prikaza tamnijih scena).
2) Viša cena.
Prednosti OLED ekrana u odnosu na standardne LCD, kao i LED ekrane su sledeće:
1) Znatno manja potrošnja električne energije, usled nedostatka potrebe za pozadinskim
osvetljenjem.
2) Tanji su od drugih vrsta LCD ekrana.
3) Postoji mogućnost izrade savitljivih OLED ekrana.
Mane OLED ekrana u odnosu na standardne LCD, kao i LED ekrane su sledeće:
1) Slabije osvetljenje nego kod LED ekrana.
2) Znatno viša cena
Prednosti i mane LCD i DLP projektora.
Prednosti LCD projektora su sledeće:
1) Tehnologija je potpuno zrela.
2) Reprodukcija boja je vrlo kvalitetna.
3) Tehnologija izrade je relativno jeftina.
Mane LCD projektora su sledeće:
1) Velike dimenzije.
2) Nemogućnost postizanja visokog kontrasta.
3) Degradacija kvaliteta slike posle nekog vremena (3-4 godine).
Prednosti DLP projektora su sledeće:
1) Bolji kontrast.
2) Manje dimenzije projektora.
Mane DLP projektora su sledeće:
1) Visoka cena.
2) Nešto veća buka, zbog neprekidnog okretanja diska sa filterima.
Tehnologije projektora.
Osnovne tehnologije za izradu video projektora su LCD i DLP.
LCD projektori koriste 3 odvojena TFT ekrana koji, u kombinaciji sa optičkim elementima, slažu
crvenu zelenu i plavu komponentu slike u celinu, koja zatim biva projektovana na platnu.
DLP (Digital Light Processing) projektori koji u procesu formiranja slike koriste minijaturna ogledala.
Srce DLP projektora čini čip koji za svaki piksel koji projektor može da prikaže ima minijaturno
ogledalo u obliku romba, koje može da se okreće oko duže dijagonale. Menjanjem položaja svakog
od ogledala postiže se manje ili veće osvetljenje u toj tački. Reprodukcija boja postiže se uz pomoć
rotirajućeg diska sa obojenim filterima koji se nalazi između čipa i objektiva i okreće brzo (50-100
obrtaja u sekundi), tako da se dobija vrlo stabilna slika (u rangu sa LCD projektorima).
Tehnologije štampača.
Postoji 6 osnovnih vrsta štampača:
1) Matrični štampači: Štampaju pomoću pokretne glave sa iglicama koje ostavljaju trag na papiru
udarcima preko trake sa bojom (mastilom).
2) Ink-jet štampači („pljuckavci“): Štampaju tako što izbacuju mlaz mastila pod pritiskom kroz tanke
cevčice3
, koje se u dodiru sa papirom hladi i lepi za njega.
3) Laserski štampači: Štampaju tako što laserom naelektrišu valjak koji se okreće, pri čemu se toner
(prah) zalepi za valjak, koji prelazi preko papira i ostavlja trag.
4) Termalni štampači: Štampaju tako što zagrevaju boju, koja prelazi na papir. Za ovo se mora
koristiti specijalni papir.
5) Ploteri: Posebne vrste štampača koje se koriste za štampanje većih formata, i to tako što
iscrtavaju sliku pokretanjem pera preko površine papira. Pero se može pokretati u svim pravcima, ili
samo duž jedne ose, pri čemu papir rotira po drugoj osi.
6) 3D štampači: Uređaji koji kreiraju 3D model od veštačkog materijala, njegovim sukcesivnim
nanošenjem u slojevima.
VR tehnologije.
VR uređaji su izlazni uređaji koji stimulisanjem ljudskih čula na određen način pokušavaju da stvore
utisak prisustva u nekom okruženju koje realno ne postoji. U VR uređaje spadaju VR kacige, rukavice,
3D ekrani i projektori i 3D hologrami.
VR kacige su specijalizovane kacige kod kojih se emituje stereo pogled, korišćenjem dva ekrana koji
prikazuju dve sinhronizovane slike na malom rastojanju od oka posmatrača. Zahvaljujući tome što ove
dve slike zapravo predstavljaju isto okruženje iz dva blago različita ugla, postiže se efekat dubine (3D
efekat) kod posmatrača.
VR rukavice su specijalizovane rukavice koje mogu služiti kao ulazni ili izlazni uređaj. Kao izlazni
uređaj najčešće se sreću u formi haptičkog feedback-a, odnosno uređaja koji stimulišu čulo dodira.
Ovime se postiže reakcija virtuelnog okruženja na dodir koja je u velikoj meri verodostojna reakcijama
u realnom okruženju
Tehnike prikazivanja i gledanja 3D videa.
1) 3D pomoću naočara/kaciga za svako oko: Jedan ekran prikazuje sliku koju vidi jedno oko, čime se
postiže da svako oko vidi sliku „iz svog ugla“, što daje utisak dubine i osećaj 3D prostora.
2) 3D pomoću crveno-plavih naočara: Jedno oko vidi samo plavu boju kroz crveno staklo, dok
drugo oko vidi samo crvenu kroz plavo staklo. Dva projektora emituju sliku - jedan u crveno-beloj
boji (za oko iza plavog stakla), a drugi u plavo-beloj (za oko iza crvenog stakla).
3) 3D pomoću naočara sa polarizovanim staklima: Slično kao sa crveno-plavim naočarima, samo što
je ovde jedno staklo vertikalno polarizovano i kroz njega se vidi samo slika projektora koji emituje
vertikalno polarizovanu svetlost, a drugo staklo horizontalno polarizovano, tako da se kroz njega vidi
samo horizontalno polarizovana svetlost drugog projektora.
4) Active Shutter 3D tehnika: Ekran visoke frekvencije osvežavanja4
emituje naizmenično sliku za levo
i desno oko, a specijalizovane naočare sinhronizovane sa njime zatvaraju pogled onom oku koje u
tom trenutku ne bi trebalo da vidi sliku. Naočare zapravo imaju LCD ekrane umesto stakala, i
naizmenično prikazuju sliku (ne provide se) ili ne prikazuju ništa (provide se).
5) 3D pomoću TV ekrana koji ne zahtevaju naočare: Nova (i ne sasvim jasna) tehnologija 3D prikaza
reklamirana od strane brojnih proizvođača. Ukoliko se slika gleda pod određenim uglom u odnosu na
ekran, može se ostvariti 3D efekat i bez korišćenja naočara, pri čemu postoje brojna ograničenja
(obično postoji 8 uglova pod kojima je moguće ostvariti 3D prikaz).
Šta je skaniranje?
Skaniranje
(scan conversion) ili rasterizacija je proces prevođenja kontinualnih opisa grafičkih primitiva u diskretne
opise (u skup piksela).
„Naivni“ algoritam za skaniranje linije.
„Naivni“ algoritam liniju predstavlja svim onim pikselima koje matematička linija seče. Ne daje tako
dobre rezultate i dosta je spor zbog računanja preseka matematičke linije i piksela.
Nagibni algoritam za skaniranje linije. [primer/zadatak]
. Inkrementalni algoritam za skaniranje linije. [primer/zadatak]
Bresenhamov algoritam za skaniranje linije. [primer/zadatak]
Trigonometrijski (trivijalni) algoritam za skaniranje kružnice. [primer/zadatak]
Polinomni algoritam za skaniranje kružnice. [primer/zadatak]
Bresenhamov algoritam za skaniranje kružnice. [primer/zadatak]
Trigonometrijski algoritam za skaniranje elipse. [primer/zadatak]
. Polinomni algoritam za skaniranje elipse. [primer/zadatak]
Diferencijalni algoritam za skaniranje elipse I reda. [primer/zadatak]
Diferencijalni algoritam za skaniranje elipse II reda. [primer/zadatak]
Rekurzivni floodfill algoritam za ispunu 4-susednih/8-susednih oblasti. [primer/zadatak]
Rekurzivni algoritam za ispunu oivičenih 4-susednih/8-susednih oblasti. [primer/zadatak]
Iterativni algoritam za ispunu oblasti. [primer/zadatak]
Algoritam za popunu poligona zadatog listom temena. [primer/zadatak]+
Potencijalno podpitanje:
-Modifikacija algoritma za krug i elipsu.
Ne postoji potreba za AET, a u čvorovima ET se pamte samo xmin i xmax .