You are on page 1of 52

Univerzitet u Novom Sadu

Tehni ki fakultet
Mihajlo Pupin
Zrenjanin

Prof. dr Ivana Berkovi

Ra unarska Grafika
-

izvodi sa predavanja -

Zrenjanin, 2004.godina

Kompjuterska ili ra unarska grafika


Edward Angel, Compuer Graphics: Jedna slika vredi vi e od 1000 rei va i kao i pre
100 godina. Grafika je stara kao i raunarstvo.
Kompjuterska ili raunarska grafika je disciplina koja se bavi svim aspektima primene
raunara za generisanje slika, kao to su:

Hardver (displeji, ploteri, fizike radne stanice)


Algoritmi za generisanje linija
Softver koji koriste programeri grafikog sistema i aplikacija
Aplikacije kompjuterski generisanih slika.

Primene raunarske grafike su iroke:

Prikaz informacija
Nauna vizuelizacija
Dizajn
Televizija
Film
Fotorealizam
Simulacije
Korisniki interfejs
Kartografija
Mehanike metode za izradu crte a
Interaktivna izrada mehanikih delova (CAD)
Izrada (dizajn) VLSI
Arhitektura
Modeliranje vrstih tela
Molekularno modeliranje
Medicinske slike
Vizualizacija letenja
Kompjuterske igre

Prema ISO reniku izraza iz oblasti obrade podataka raunarska grafika se defini e kao
skup metoda i tehnika za konverziju podataka koji se alju ka grafikom ekranu ili sa
njega a posredstvom raunara.
Osnovne oblasti primene raunarske grafike:

Izrada slika (generisanje)


Analiza slika (prepoznavanje, itanje)
Obrada slika (retu iranje, pobolj anje kvaliteta ili promena sadr aja)

GKS (Graphical Kernel System) predstavlja osnovni grafiki sistem, tj. jezgro sistema za
raunarsku grafiku.

GKS predstavlja posrednika


raunarskog sistema.

izme u

aplikativnog

programa

grafike

opreme

Standrad defini e odre enu funkciju, ali ne i nain njene realizacije.


Obezbe ena prenosivost aplikacija na razliite raunarske sisteme.
Koncept GKS
Tri vrste korisnika raunarske grafike:

Implementatori (realizatori GKS standarda)


Programeri aplikacija
Korisnici aplikacija

Implementacija GKS sistema funkcije za obavljanje odre enih grafikih operacija


realizuje u vidu potprograma ili procedura odre enog programskog jezika (jeziki sloj).
Iz aplikativnog programa se mo e jednim pozivom grafike procedure indirektno pozvati
itav niz potprograma GKS biblioteke iz odgovarajueg GKS sloja.
Operateri na radnim stanicama pored gledanja slike, kao prikaza rezultata aplikacije
upravljaju ure ajima za unos podataka.
Principi na kojima se zasniva GKS sistem:

Potpunost sistem mo e zadovoljiti najrazliitije zahteve korisnika u pogledu


slika koje treba formirati paketom (nijedna dva zahteva ne smeju biti uzajamno
kontradiktorna)
Kompatibilnost razliitih rutina iz paketa (neprotivurenost) ne sme se prekr iti
nijedan standard
Nezavisnost nijedna rutina iz biblioteke ne mo e se zameniti nekom
kombinacijom njenih ostalih rutina.

Rezolucija
Pikseli na slici su savr eni kvadrati.
Svaki piksel na raunarskoj slici je savr en kvadrat, na savr enoj mre i koji je
ravnomerno obojen (svaki piksel je obojen jednom jedinom bojom).
I slika na ekranu monitora se sastoji od piksela. Ekranski pikseli su kao i pikseli slike
kvadratnog oblika i raspore eni su po mre i. Tipian monitor od 13 ina ima irinu od
640 i visinu od 480 piksela. Ekranski pikseli obino imaju prenik od 1/72 ina (0,35mm).
Postoji razlika izme u ekranskih piksela i piksela na slici. Npr. ukoliko je odnos 1:1 svaki
piksel na slici se vidi kao jedan piksel na monitoru. Ako se slika povea (zumira) dva
puta (2:1), onda je jedan piksel sa slike predstavljen sa dva ekranska piksela visine i dva
ekranska piksela irine.
Menjanje broja piksela na slici zove se resampling (ponovno semplovanje). Ova
operacija bi se mogla nazvati i menjanjem veliine.
Rezolucija se meri na du i: piksela po linearnom inu. Npr. slika sa rezolucijom od 180
ppi sadr i 32400 piksela po kvadratnom inu (1802 = 32400).
Slika ima tri atributa:

veliinu,
rezoluciju i
dimenzije.

Veliina slike (datoteke) je mera koja pokazuje koliko piksela sadr i slika. Rezolucija slike
se odnosi na broj piksela koji se tampaju po inu. Dimenzija slike predstavlja fiziku
irinu i visinu slike.
Svi atributi zahtevaju podjednaku pa nju i me usobno zavise jedni od drugih. Ako se
promeni jedan od zadatih atributa morae se proporcinalno promeniti druga dva. Mo e
se zamisliti da atributi predstavljaju tri temena jednog trougla. Npr. ako se eli poveati
dimenzija mora se poveati veliina datoteke ili smanjiti rezolucija. Ako se eli smanjiti
veliina datoteke mora se smanjiti bilo dimenzije ili rezoluciju.
Vrednost rezolucije odre uje koliko su pikseli sabijeni kada se tampaju. (str. 74,
Photoshop za neupuene).
Ako se eli vea rezolucija (vi e piksela po inu - pixel per inch (ppi)) mo e se smanjiti
dimenzija slike ili poveati veliina datoteke. Npr. dve slike mogu imati istu veliinu
datoteke, a manja slika ima duplo veu rezoluciju od vee slike (180 ppi prema 90 ppi).
Veliina datoteke se odnosi na broj piksela na slici, a ne na njene fizike dimenzije.
Ukoliko se povea dimenzija slike ili obri u neki od njenih piksela rezolucija se smanjuje.
to su pikseli koji ine sliku manji, to je vi e detalja koje oni mogu da prika u, a to je
vi e detalja to je vea rezolucija slike. (Photoshop 3.0 korak dalje, str. 6) Kako se

smanjuje veliina piksela potrebno je mnogo vi e piksela za sliku date veliine, pa su


datoteke koje sadr e slike visoke rezolucije velike. Npr. za srednju visoku rezoluciju
mo e se smatrati 300 ppi.

Geometrija
Geometrija re grkog porekla. Naziv potie od rei zemlja i meriti.
Stari Egipani su za potrebe gra evinarstva odre ivali prav ugao pomou kanapa
izdeljenog na 12 jednakih delova, od ega su konstruisali pravougli trougao sa katetama
du ine 3 i 4 i hipotenuzom du ine 5 (tzv. egipatski truogao).

Euklid je u 4 veku pre n. ere svoje rezultate izlo io u delu Elementi u 15 tomova.
Po prvi put je izvr ena sistematizacija.

Prvo se navode definicije termiina


Sistem postulata i aksioma
Razvija se geometrija u obliku niza teorema koje logiki slede i dokazuju se
pomou aksioma, postulata i ve dokazanih teorema.

Aksiome su podeljene u grupe (Euklid):


I.
Aksiome incidencije (9 aksioma)
II.
Aksiome poretka (6 aksioma)
III.
Aksiome podudarnosti (7 aksioma)
IV.
Aksiome neprekidnosti (2 aksiome)
V.
Aksiome paralelnosti (1 aksioma)

Ove aksiome su nezavisne jedne od drugih.


Neprotivurene su (nekontradiktornost).
Potrebno je iz sistema aksioma pokriti sve mogue posledice potpunost.

Aksioma paralelnosti:
Paralelne su one prave koje se nalaze na istoj ravni i koje se produ ene u beskrajnost na
obe strane ne seku jedna sa drugom.
Ako petu aksiomu modifikujemo dobijama razliite vrste geometrije.

Lobaevski je umesto V postulata uveo sledei (uop tenje):

U ravni kroz datu taku van date prave prolaze bar dve prave koje ne seku datu pravu.
B
A

B
T

M M

Taka M je promenljiva
Prava PM, tj. PT nikad ne mo e dostii pravu BB
- ugao paralelnosti

Ovo va i za zakrivljene prostore (sfere)


Ugao paralelnosti je funkcija odseka x = PQ
= 2 arc tg e x/k
B
S
A

B
T
A

lim 2 arc tg e x/k = 2 arc tg e 0 = 2 arc tg 1 = /2


k
Klain je na ao potpunu interpretaciju cele ravni Lobaevskog.
Klain je uvo enjem svog modela re io problem neprotivurenosti geometrije
Lobaevskog. Ako imamo neku konturu K, tada njena unutra njost predstavlja ravan
Lobaevskog.
Neprotivurenost geometrije Lobaevskog posledica je neprotivurenosti euklidske
geometrije.
Neprotivurenost euklidske geometrije dokazao je Hilbert na osnovu protivurenosti
aritmetike.
Odnos geometrije Lobaevskog prema euklidskoj geometriji:
U razmerama Sunevog sistema potpuno zadovoljavaju zakoni euklidske geometrije, dok
u ogromnim prostranstvima vladaju zakoni Lobaevskog.
Ajn tajnova op ta teorija relativiteta i Fridmanovi rezultati o irenju vasione u vremenu
dali su potpuniju predstavu o objektivnom prostoru.

Rimanovi prostori

Drugaija neeuklidka geometrija se dobija ako se umesto V postulata uzme sledea


Rimanova aksioma paralelnosti:
Kroz taku A van prave a ne prolazi ni jedna prava koja ne see pravu a.
Riman uvodi termin mnogostrukost ili mnogovrsnost. Element mnogovrsnosti je taka,
iji se polo aj karakteri e koordinatama x1, x2,...,xn.
Najprostiji sluajevi mnogovrsnosti su prostori konstantne krivine, K=const. Razlikuju se
tri sluaja takvih prostora:

K>0, geometrija prostora pozitivne krivine - Rimanova geometrija u u em smislu


ili eliptina geometrija.
K=0, geometrija prostora nulte krivine - parabolina geometrija, koja se pod
uslovom o pozitivnosti elemenata du ine poklapa sa geometrijom Euklida.
K<0, geometrija prostora negativne krivine - hiperbolika geometrija ili
geometrija Lobaevskog.

Ajn tajnova op ta teorija relativiteta kao matematiki aparat koristi 4-dimenzionalni


prostor koji poseduje krivinu.

Projektivna geometrija
Koordinatni sistemi
Polo aj neke take na pravoj, u ravni, u prostoru mo e da se zapi e uz pomo pogodno
odabranih brojeva, tzv. koordinata. Koordinate uspostavljaju most izme u geometrije i
aritmetikei predstavljaju osnovu za re avanje mnogih gepmetrijskih problema.
Koordinatni sistemi:

Homogeni
Nehomogeni

Koordinatni sistemi:

Dekartov koordinatni sistem


Polarni koordinatni sistem
Cilindrini koordinatni sistem
Sferni koordinatni sistem

Kona ne projektivne ravni


Neka q oznaava prirodan broj vei od 1.
Konana projektivna ravan q-tog reda defeini e se preko 4 aksioma:
1.
2.
3.
4.

Za svake dve razne take postoji tano jedna zajednika prava


Za svake dve razne prave tano jedna zajednika taka
Postoji potpun 4-temenik
Postoji prava koja ima q+1 taaka.

U konanoj projektivnoj ravni va e sledei stavovi:

Svaka prava ima q+1 taku


Svaka taka je incidentna sa q+1 pravih
Ravan ima q2 + q +1 taaka I pravih

Za sve stepene prostih brojeva q obezbe ena je egzistencij Galoa-ove konane


projektivne ravni reda q, za koju postoji aritmetiki model nad Galoa-ovim konanim
poljem GF(q).

Kona ne projektivne ravni i Latinski kvadrati


Latinski kvadrat - pojam diskretne matematike dovodi se u vezu sa konanim
projektivnim ravnima.
Latinski kvadrat reda q mo e se predstaviti kao matrica q x q sa elementima iz skupa
{1,2, , q}, takva da se ni u jednom njenom redu (vrsti ili koloni) ne nalaze dva ista
elementa.

Dva latinska kvadrata reda q su ortogonalna ako su svih njihovih q2 elemenata na


odgovarajuim pozicijama me usobno razliiti, tj. ako pomoni kvadrat satavljen iz
ure enih parova odgovarajuih elemenata sadr i sve razliite ure ene parove.
Ortogonalni latinski kvadrati:
1
2
3
1 2 3
2
3
1
3 1 2
3
1
2
2 3 1

Kvadrat ure enih parova:


(1,1) (2,2) (3,3)
(2,3) (3,1) (1,2)
(3,2) (1,3) (2,1)

Stav: Egzistencija konane projektivne ravni reda q ekvivalentna je egzistenciji sistema


od q-1 poparno ortogonalnih latinskih kvadrata reda q.
Za neke prirodne brojeve q ne postoje konane projektivne ravni reda q:
Stav: Ne postoji konana projektivna ravan reda 6. (Poznato je da ne postoje dva
ortogonalna kvadrata reda 6, to je ekvivalentno tvr enju da Ojlerov problem 36 oficira
nema re enja. Tr i se da se 36 oficira, sa 6 inova i iz 6 redova vojske postroje u 6 vrsta
i 6 kolona tako da u svakoj vrsti i koloni budu zastupljeni svi inovi i svi rodovi.)
Stav: Ne postoji konana projektivna ravan reda 10. (Na en je latinski kvadrat reda 10
koji je imao preko 5000000 sebi ortogonalnih parnjaka, ali nijedna dva od njih nisu bili
me usobno ortogonalna.)
Napisati program za nala enje svih latinskih kvadrata 3. reda.
Latinski kvadrat je kvadratna matrica u kojem je svaka vrsta i svaka kolona permutacija
nekog niza razliitih elemenata (simbola). Ni u jednoj njenoj vrsti, niti koloni ne nalaze
se dva ista elementa.
Npr. latinski kvadrat 3. reda:
1
2
3
2
3
1
3
1
2
/* Latinski kvadrati */
domains
x=symbol
predicates
znak(x).
resenje.
goal
resenje.
clauses
znak(1).
znak(2).
znak(3).

resenje :znak(X1), znak(X2), znak(X3),


znak(Y1), znak(Y2), znak(Y3),
znak(Z1), znak(Z2), znak(Z3),
X1<>X2, X1<>X3, X2<>X3,
X1<>Y1, X1<>Z1, Y1<>Z1,
X2<>Y2, X2<>Z2, Y2<>Z2,
Y1<>Y2, Y1<>Y3, Y2<>Y3,
Z1<>Z2, Z1<>Z3, Z2<>Z3,
X3<>Y3, X3<>Z3, Y3<>Z3,
write(X1," ",X2, " ", X3),nl,
write(Y1," ",Y2, " ", Y3),nl,
write(Z1," ",Z2, " ", Z3),nl,
nl,fail.
resenje:- nl, write("To je sve").
Koliko se razliitih latinskih kvadrata dobijaju kao re enje?

Crtanje u Bezijeovom na inu rada


Crtanje slobodnom rukom spada u jednu od naje e kori enih tehnika u raunarskoj
grafici, bar kada se radi o nekoj njenoj irokoj primeni. No, ova tehnika ne omoguava
potpunu kontrolu polo aja taaka od strane korisnika. Slobodnom rukom se u zavisnosti
od pokreta ruke koja upravlja mi em, ne mogu dobiti krive linije sa velikom precizno u.
Crtanje u Bezijeovom nainu rada elimini e ove nedostatke i omoguava preciznije
crtanje krivih linija uz potpuniju kontrolu polo aja taaka od strane korisnika. U ovom
re imu rada mogue je crtati:

prave linije,
krive linije i
povr i.

Pjer Bezije je bavei se dizajniranjem automobila u Reno-u razvio posebnu vrstu krivih
indirektno specificirajui krajnje take tangentnog vektora zadavanjem dve me utake
koje ne pripadaju krivoj.
Bezije je, dakle, otkrio dinamiki odnos izme u poetne i zavr ne take krive linije, i dve
kontrolne take kojima se odre uje putanja od poetka do kraja.
Svaki geometrijski oblik po Bezijeu mo e da se defini e konturom koja se sastoji od
odre enog broja prevojnih taaka, tj. vorova i glatkih krivih linija izme u njih. Tako
definisane konture nazivaju se Bezijeove krive.
Kako je na ovaj nain odre ena kriva linija definisana matematikom zavisno u (kubni
polinom) njena glatkoa ostaje ouvana bez obzira na rezoluciju koja se koristi i koja se
naknadno mo e menjati.

Kod Bezijeovih krivih se specificiraju dve kontrolne take koje indirektno odre uju
vektore tangente.
Povezivanje dve Bezijeove krive linije se vr i tako to je potrebno da se jedna krajnja
taka iz prve krive poklopi sa jednom krajnjom takom iz druge. Da bi se krive
neprimetno spojile potrebno je da se urede spoljne kontrolne take tako da tangente u
krajnjim takama pokazuju isti pravac.
Da bi se uspe no koristile Bezijeove krive linije u nekom grafikom programskom alatu
nije neophodno ulaziti u tumaenje slo enih matematikih relacija na kojima se one
zasnivaju. Tako npr. kada se u programskom paketu CorelDraw koristi alatka za crtanje
u Bezijeovom re imu rada, preko tastera mi a se defini e poetna i zavr na taka krive
linije i jednom se povue mi em da bi se oblikovala eljena linija izme u ovih taaka.
Linija koja koja povezuje poetnu i krajnju taku tretira se kao kriva linija iji oblik mo e
vrlo lako da se menja preko kontrolnih taaka.
Neformalno se mo e rei da se krive sastoje od putanja koje defini u njihov oblik, a
putanje su povezane vorovima. Promena pravca krive se odra ava na voru. Te
promene pravca (tzv. zaokreti) mogu biti vrlo oigledne ili toliko tanane da su skoro
neprimetne. Kriva koju elimo nacrtati vrlo lako mo e da se menja utiui na vorove,
odnosno putanje sve dok se ne dobije kriva koju je korisnik zamislio. Obino se prvo
grubo nacrta osnovni oblik, a zatim se on doteruje u nekoliko iteracija sve do postizanja
eljene preciznosti (dodaju se novi vorovi, koriste simetrini vorovi, glatki vorovi i
vorovi sa vr kom).
Bezijeove povr ine se defini u skupom kontrolnih taaka (dvodimenzionalno) koji
odre uje aproksimativni oblik povr ine. Povezivanje Bezijeovih povr ina u jednu povr
vr i se tako to se one spajaju na ivicama. Ivice dveju Bezijeovih povr ina se poklapaju
ukoliko dve krive imaju iste kontrolne take du te ivice. Da bi se postigao glatki spoj
mora biti ispunjen sledei uslov: svaka taka zajednike ivice i take du obe povr ine
moraju le ati na pravoj liniji.

Digitalna geometrija
Kompjuterska (raunarska) geometrija je skup geometrijskih disciplina okrenut realizaciji
na raunaru. Glavni predmet izuavanja su geometrijski algoritmi, kod kojih se postavlja
zahtev efikasnosti.
Digitalna geometrija je podoblast kompjuterske geometrije koja se ograniava na
digitalne objekte objekte na celobrojnoj mre i. Sva razmatranja su ograniena na
take sa celobrojnim koordinatama. Po to se kompjuterski ekran mo e shvatiti kao deo
2-dimenzione mre e sledi da e se re avanje odre enih problema u digitalnoj ravni
koristiti u kompjuterskoj grafici za prikaz slike na ekranu.
U digitalnoj geometriji javljaju se mogunosti za paralene teorije sa klasinom
euklidskom geometrijom.
Npr. digitalni kvadrat se defini e na jedan od sledea dva naina:
1. kao digitalni 4-ugao koji nastaje celobrojnom aproksimacijom euklidskog
kvadrata (svako teme tog kvadrata se zamenjuje najbli om celobrojnom takom)
2. kao svaki 4-ugao ija celobrojna aproksimacija jeste kvadrat.
Za ovako definisane digitalne kvadrate va e analogne teoreme koje va e za euklidske
kvadrate.
U digitalnoj geometriji pojavljuju se optimizacioni problemi, koji su se pojavili tek
digitalizacijom (celobrojnom aproksimacijom).
Diskretna geometrija je geometrija u kojoj se odustalo od aksioma neprekidnosti
(izme u susednih taaka postoji praznina). Digitalna geometrija je ukljuena u ovu
oblast.

Digitalizacija
Neka je:
A euklidska konstantna slika
A` - unija svih piksela koji imaju neprazan presek sa A
A`` - skup svih taaka pravougaone celobrojne mre e, koje su centri piksela iz A`
A`` je digitalizacija od A.
Digitalizacija se izvodi u dve faze.
Problem digitalizacije:
Za datu euklidsku sliku S, odrediti digitalno preslikavanje f, tako da se
odre enom smislu pona a to slinije ulaznoj slici S.
Kada je u pitanju neprekidna kriva, dve osnovne eme digitalizacije su:
Na svakoj celobrojnoj apscisi (x-koordinati) uzeti:
Prvu celobrojnu taku ispod krive

f(S) u

Najbli u celobrojnu taku, iznad ili ispod krive.

Ove dve eme su ekvivalentne: jedna se iz druge mo e dobiti translacijom u vertikalnom


pravcu za . Po potrebi se kod strmo nagnutih krivih uloge x-koordinata i y-koordinata
mogu zameniti.

Prosta digitalizacija du i
Neka je u koordinatnom sistemu (celobrojnoj kvadratnoj mre i, grid-u, rasteru) data du
sa krajnjim takama (x1,y1) i (x2,y2), pri emu su koordinate x1,y1,x2,y2 celobrojne.
Neka je:
x = | x2 x1 |
y = | y2 y1|
m = y / x
Digitalna du [(x1,y1), (x2,y2)] mo e se definisati sledeim algoritmom:
x:=x1;
y:=y1;
IF x y THEN
FOR x := x1 + 1 TO x2 DO BEGIN
y : = y1 + m; WRITELN(x, ROUND(y)) END
ELSE
FOR y := y1 + 1 TO y2 DO BEGIN
x : = x1 + 1/m; WRITELN(ROUND(x), y) END;
Primenjena je ema digitalizacije sa zaokru ivanjem. Kori enjem apsolutnih vrednosti
za x i y obezbe eno je da se jedinstveni algoritam digitalizacije prilagodi svakom
polo aju prave u ravni.
Sva razmatranja mogu se izvesti na I kvadrantu, pri emu se razlikuju nagibi manji i vei
od 450.

Ako je x y onda je potrebno poveati x-koordinatu za 1, a zatim zaokru ivati ykoordinatu.


Ako je y x onda je potrebno zameniti ulogu x-koordinate i y-koordinate.

Na taj nain se ispunjava uslov da se nijedne dve uzastopne take digitalizacije ne


nalaze na rastojanju veem od 2.

Bresenhajmov algoritam digitalizacije prave

(Xi+1,round(Yi+m))

(Xi,Yi)

(Xi+1,Y i+m)

Bresenham-ov algoritam
Prosta digitalizacija du i ima jednu dosta veliku manu. Iako je algoritam namenjen radu
sa celobrojnim koordinatama, navedeni algoritam koristi i realnu aritmetiku, jer je
kori eni nagib m realan broj (nastao deljenjem celih brojeva y i x , tj. m = y /
x). To se negativno odra ava na efikasnost izvr avanja algoritma.

Upotreba realne aritmetike potpuno je izbegnuta Bresenham-ovim


algoritmom.
Radi jednostavnosti razmatra se sluaj:
x y
Neka x oznaava proizvoljnu apscisu. Uvodimo sledee funkcije:
y(x) = visina na kojoj se nalazi taka razmatrane prave (realan broj)
b(x) = y(x) - y(x) = y(x) - trunc(y(x))
a(x) = y(x) - y(x) = trunc(y(x)) - y(x)
e(x) = b(x) - a(x)
E(x) = (b(x) - a(x))x
Posmatrajmo dve uzastopne (susedne) apscise x` i x`` (x``= x`+1 ), a njima
odgovarajue vrednosti funkcija b(x), a(x), e(x), E(x) redom oznaimo sa:
b` i b``, a` i a``, e` i e``, E` i E``. Obele imo E = E`` - E`.
Neka su y` i y`` celobrojne vrednosti digitalne slike prave sa apscisama x` i x``.
Mogua su samo dva sluaja:
y`` = y` (ordinata stagnira)

y`` = y` +1 (ordinata se podi e).


Bresenem-ov algoritam se bazira na sledeim opa anjima:
1. Odluka o stagniranju ili podizanju ordinate na apscisi x`` donosi se na osnovu znaka
veliine E(x) = (b(x) - a(x))x. Ako je taj znak pozitivan onda je taka (x``,y(x``)) bli a
taki (x``,y`) nego taki (x``,y`+1) pa se donosi odluka o stagnaciji ordinate pri
prelasku na apscisu x``. U protivnom se donosi odluka o podizanju koordinate.
2. Znak razlike e``, potreban za odluku, jednak je znaku izraza E`` = e``x.
Teorema: Vrednost izraza E(x) je celobrojna veliina koja se mo e odrediti sabiranjem i
oduzimanjem celobrojnih vrednosti x i y.
Prema tome, promena znaka veliine mo e se pratiti posredstvom odgovarajuih
celobrojnih veliina, pa je otvorena mogunost za eliminaciju realne aritemetike.
U sluaju podizanja ordinate (za E > 0) parametar E se umanjuje dodavanjem negativne
celobrojne veliine:
2y - 2x.
Obrnuto, u sluaju stagniranja ordinate (E < = 0) parametar E se uveava dodavanjem
pozitivne celobrojne veliine:
2y.
Implementacija Bresenem-ovog algoritma
FOR petlja iz prethodnog algoritma
FOR x := x1 + 1 TO x2 DO BEGIN
y : = y1 + m; WRITELN(x, ROUND(y)) END
zameni se sa:
E = 2y - 2x;
FOR x := x1 + 1 TO x2 DO BEGIN
IF (E < = 0) THEN E = E + 2y
ELSE BEGIN
E = E + 2(y - x);
y= y +1; END;
WRITELN(x, y);
END

Algoritam isecanja
Cilj operacije isecanja je prikazivanje samo one slike koja se nalazi unutar zadatog
prozora. Kada je u pitanju isecanje teksta razlikuju se 3 nivoa:

nivo stringa
nivo slova
detaljan nivo (delovi slova se prikazuju)

Glavna ideja Koen-Saderlendovog algoritma isecanja s obzirom na prozor odre en


krajnjim takama (xmin,ymin) i (xmax,ymax) sadr ana je u kodiranju 9 oblasti ravni s
obzirom na prozor po sledeoj emi:
(1,0,0,1)

(1,0,0,0)

(1,0,1,0)

(0,0,0,1)

(0,0,0,0)

(0,0,1,0)

(0,1,0,1)

(0,1,0,0)

(0,1,1,0)

Unutra njost prozora je kodirana nula-vektorom. Za svaku taku ravni se formira 4-bitni
kod:
(iznad, ispod, desno_od, levo_od)
Algoritam testira da li se razmatrana du treba u celosti da se prika e ili ne. Ukoliko to
nije sluaj prelazi se na postupno odsecanje delova du i koje tre izvan prozora.
ema Koen-Saderlendovog algoritma za du :
IF NOT (du odbijena zato to konjunkcija binarnih kodova nije nula vektor) THEN
WHILE du nije prihvaena OR odbijena DO BEGIN
IF taka x2 je unutra nja (ima kod (0,0,0,0)),
a taka x1 le i van prozor THEN
razmeni take x1 i x2;
(* pogodno je fiksirati, npr. da je, taka x2
spolja nja u odnosu na prozor, da bi se dalji
deo algoritma pisao na jedinstven nain *)
IF taka x2 je gornja THEN skrati gornji deo du i ELSE
IF taka x2 je donja THEN skrati donji deo du i ELSE
IF taka x2 je desna THEN skrati desni deo du i ELSE
IF taka x2 je leva THEN skrati levi deo du i;
IF krajevi skraene du i su unutar prozora THEN
du se prihvata za prikazivanje
ELSE odbi je
END;

Algoritmi za popunjavanje mnogouglova


Neke ideje za popunjavanje oivienih povr i, unutra njosti zadatih kontura u rasteru:

Algoritam poplave (flood fill) - rekurzivan postupak


PROCEDURE oboji (x,y: INTEGER);
BEGIN
IF NOT (x,y) granini piksel THEN
BEGIN
dodeli boju pikselu (x,y);
oboji (x+1, y);
oboji (x-1, y);
oboji (x, y-1);
oboji (x, y+1);
END
END;

Ivini postupak - iterativni postupak


Zrak udesno se mo e realizovati petljom:
y := y + 1;
WHILE NOT (x,y) granini DO
BEGIN
oboji (x, y);
y := y + 1;
END;

Ksorovanje
Primenom funkcije XOR razmena sadr aja piksela na pozicijama cilj i izvor mo e se
izvr iti bez posrednika.
Funkcijom XOR se ure eni parovi:
(0,0), (0,1), (1,0), (1,1)
preslikavaju redom na : 0, 1, 1, 0.
Operator UNDO je zasnovan na ksorovanju
(A XOR B) XOR B = A

Rasterska i vektorska grafika


Grafiki programi koji se koriste u dana nje vreme u su tini rade na dva principa:
proizvode take ili proizvode krive i prave linije na osnovu prorauna. Prvi princip svodi
se na slikanje a drugi na crtanje.
Grafiki programi se prema tome, dele na dve grupe:

na programe za rasterku grafiku (programi za slikanje, retu iranje slika, bitmapirana


grafika) i
na programe za vektorsku grafiku (programi za crtanje).

Rasterska grafika je pogodna za reprodukovanje fotografija i drugih slika koje sadr e


mnogo nestruktuiranih detalja. Programi: Adobe Photoshop, Fractal Design Painter,
Corel PhotoPaint i dr. spadaju u klasu programa za rad sa rasterskom grafikom.
Rasterska slika lii na mozaik. Slika se gradi od elemenata slike (piksela) postavljenih na
pravilnu mre u.
Vektorska grafika je zasnovana na matematikom opisu oblika koji se mogu dobiti od
krivih (i pravih) linija. U klasu programa za rad sa vektorskom grafikom spadaju
programi: CorelDRAW, Adobe Illustrator, Aldus Freehand i dr. Vektorska grafika daje
kompaktne crte e koji su potpuno prenosivi i mogu se po potrebi poveavati ili
smanjivati, te se programi za crtanje upotrebljavaju i za oblikovanje slova u raunarskim
fontovima. Takvi crte i su zapisani na specijalnim raunarskim jezicima (npr. PostScript)
i moraju da se prevedu u vidljivi grafiki oblik pomou interpretatora.
Npr. ako se u Corel Draw programu nacrta krug program zna da je to krug sa
odre|enim centrom, poluprenikom, obimom, spoljnom i unutra njom bojom. Lako se
mo e promeniti njegova veliina, oblik ili boja a da se ne poremeti njegova celovitost.
Nasuprot tome krug u Photoshop-u predstavlja skup taaka, od kojih svaka taka ima
odre|enu boju. Te take zajedno lie na krug, ali ne nemaju osnovne osobine koje ih
identifikuju kao krug. Me|utim, krug se nee moi izmeniti a da se ne deformi e. (Corel,
str. 4).
Karakteristike rasterskih programa: (Corel, str. 5)

nepromenjena rezolucija (take na bitmapiranoj slici su fiksne veliinei na fiksnoj


udaljenosti jedna od druge),
velike datoteke (kako su bit mape take one zauzimaju veliki prostor na disku ili
memoriji),
izmene piksela (kontrola se uspostavlja nad samim takama, ne postoje nikakave
matematike kontrolne take koje opisuju bitmapirane slike),
velika realistinost (mogue je kontrolisati svaku taku i tako podra avati stvarnost).

Karakteristike vektorskih programa: (Corel, str. 5)

visoka rezolucuja od tampanog dokumenta (objekti e biti od tampani najveom


moguom rezolucijom; prema vektorima i proraunima take se stavljaju to je
mogue bli e jedne drugima),
br e tampanje i br e prikazivanje na ekranu (vodi se rauna o objektu u celini a ne
o pojedinanim pikselima, to znai da se alje puno manje podataka tampau i
ekranu nego neki program za slikanje),
velika mogunost izmene (oblik objekta se odre|uje krivim linijama, vorovima i
drugim kontrolnim takama kojima se mo e lako upravljati),
nedostatak realizma kod nacrtanih objekata (ne deluje stvarno kao bitmapirana
grafika).

esto se u radu koristi kombinacija ovih grafikih programa. Npr. mo e se kombinovati


tekst sa slo enom vektorskom grafikom nastalom u programu za crtanje sa skeniranom
slikom izmenjenom u programu za slikanje.
Rasterske slike zahtevaju manje prevo|enje ali im datoteke mogu biti vrlo velike. Ako su
potrebne iste spoljne i unutra nje konturne linije bitmapiranu sliku (Photoshop 3.0
korak dalje) treba uitati u program za vektorsku grafiku i u njemu nacrtati linije.
Programi za vektorsku grafiku zasnivaju se na jednainama, a ne na opisu slike preko
piksela, daju slike koje koriste maksimalnu rezoluciju izlaznog ure|aja na kome se
tampaju. Takve linije su onoliko iste i o tre koliko to omoguava ure|aj za
osvetljavanje (str. 136). Ovakve linije su o trije i finije od linija dobijenih u nekom
programu za rastersku grafiku kao to je npr. Photoshop.
Crno-bela rasterska slika predstavlja najjednostavniju vrstu raunarske grafike. Sa
poveanjem broja piksela, a smanjenjem njihove veliine dobija se vei broj detalja na
slici. Kada oko vi e ne razlikuje pojedinane elemente slike (piksele) vidi se samo slika
koji oni stvaraju. (str. 6)
Osobine piksela
U rasterskim slikama (Photoshop 3.0 korak dalje, str. 6):

pikseli su pore|ani po gruboj mre i kao da zauzimaju kvadratie na listu za crtanje


pikseli su binarni (ukljueni ili iskljueni)
binarni pikseli mogu predstavljati samo dva nivoa sivog: crno i belo.

Svaki piksel ima sopstvenu adresu izra enu u grafikim koordinatama x i y, to proizilazi
iz konstrukcije mre e. Preko adresa piksela raunar mo e da locira pojedinane piksele i
na taj nain da poredi slike piksel po piksel i da vi e slika precizno postavi jednu preko
druge. Takve operacije omoguavaju Photoshopu da napravi slike u koloru. Grupisanjem
piksela u me|uton rasterska slika daje utisak postojanja sivih nijansi u zamenu za
smanjen broj detalja. Napravljeni su sistemi koji su radili sa sivim nijansama (broj sivih
nijansi se poveao na 256=28, te se ovakve slike zovu 8-bitnim). Posle sivih nijansi boja
predstavlja logi ki sled. Slika u boji se sastoji u uskla|ivanju tri ili etiri slike u sivim
nijansama. Kod Photoshop-a slika u boji se sastoji od 3 ili 4 kanala sa osnovnim bojama,
pored alfa kanala koji se koristi za maske. Svaki kanal sa bojom je slika u sivim
nijansama, ija svetloa odgovara koliini osnovne boje. Tako u sluaju RGB (Red,

Green, Blau) slike nivo svetloe svakog kanala odgovara nivou jedne od osnovnih boja
koje ine sliku (crvene, zelene ili plave).
Adobe Photoshop ispod umetnike spolja njosti krije slo en matematiki svemir. U radu
se ne koristi direkto matematika ve se vizuelno komunicira sa programom. Model izrade
slika u programu Photoshop sastoji se od sledeih elemenata (str. 3):

piksela (pixels),
rasterskih slika (bitmaps),
me|utonova ili polutonova (dithers ili halftones),
maski (masks),
sivih nijansi (grayscales),
slika u boji (color images),
matematikih operacija, tj. izraunavanja (calculations),
slojeva (layers).

CorelDRAW5 se sastoji iz programa:

Corel
Corel
Corel
Corel
Corel
Corel
Corel

DRAW (crtanje),
PhotoPaint (obrada slika),
Chart (grafikoni),
Move (animacija),
Show (prezentacija),
Trace (vektorizacija),
Mosaic (izrada kataloga slika).

Grafi ki formati
Dobro je poznato da je monitor rasterski ure aj i da se slika na njemu sastoji iz redova i
kolona taaka, koje se nazivaju pikseli. Piksel je standardizovana jedinica za meru isto
kao metar ili in. Pojam rezolucije se u vezi sa monitorima tumai dvojako:

Rezolucija ili rezolucija slike je gustina piksela na ekranu. Ona mo e varirati od


50 piksela/inu do 85 piksela/inu mada je op te prihvaeni standard 72
piksela/inu. Postoje monitori sa veoma velikim rezolucijama od 100, 150 pa ak
i 200 piksela/inu ali je njihova cena veoma velika tako da su veoma retko u
upotrebi.
Raster dimenzija ili rezolucija ekrana pretstavlja veliinu slike koju monitor mo e
da prika e. Ona se izra ava u broju piksela po irini i du ini koji mogu da stanu
na ekran i zavisi od monitora do monitora. Naje a rezolucije koju standardni 14
"(etrnest inni) monitori podr avaju su od 640x480 do 1024x768 Vei monitori
17 " i 21 " podr avaju i vee rezolucije sve do 1600x1200.

Rasterska grafika
"Rasterska ili bitmap grafika, jednostavno reeno, odnosi se na grafiku proizvedenu od
velikog broja piksela" - "Graphic & Web Page Design"- Jon M. Duff and James L. Mohler.
Rasterska slika se sastoji iz redova i kolona piksela slo enih u matrici koji ine sliku.
Pojmovi rezolucije koji su definisani kod monitora na slian nain se koriste i za bitmape:

Raster rezolucija se meri DPI jedinicama i govori nam koliki je kvalitet grafike.
to je vei proj piksela po inu to je slika kvalitetnija i obrnuto.
Sa druge strane, raster dimenzijom se odre uje veliina grafike. Tu se misli na
du inu i irinu slike.
Trei bitan element za odre ivanje grafike je broj boja koje nosi svaki piksel ?
dubina boje. Broj boja je veoma bitan inilac za odre ivanje krajnjeg kvaliteta
slike i on se kree od 256 do preko 32 miliona boja.

Vektorska grafika
Vektorska grafika se sastoji iz serije proraunatih matematikih jednaina. Jednostavnije
reeno, sastoji se od poligon-objekata kao to su:

Tekst
Linije (krive i prave)
Pravougaonici ili kvadrati
Krugovi ili elipse

Boja se kod vektorske grafike odre uje po dimenzijama povr ina objekata iz kojih se
sastoji grafika, tako to kod, koji ide sa slikom, govori programu koja boja se nalazi u
kojim dimenzijama poligona. Prednost vektorske grafike je, to se veoma lako vr i
promena njene veliine bez gubitka na kvalitetu. To je mogue po to je vektor grafika,
kao to je ve reeno, skup matematikih jednaina prenesenih na ekran, tako da

preraunavanjem jednaina po novim parametrima dobijamo efekat poveanja ili


smanjenja.
Najop tije gledano, sve grafike formate koji se javljaju na Internetu mo emo podeliti
na:

2D formate i
3D formate.

2D formati
Grafiki elementi kori eni na Webu su uglavnom u bitmap obliku, s obzirom na slabu
podr anost vektorske grafike. Postoji na stotine formata u kojima se bitmape zapisuju i
itave knjige su napisane o njima. Osnovne karakteristike svih formata su nivo kori ene
kopresije (u skladu sa tim veliina datoteke) i kvalitet slike.Ovde e biti dat pregled
naje ih formata, sa malo irim osvrtom na najva nije, koji se upotrebljavaju na Web-u.
Formati koji se naje e koriste za distribuciju na Web-u su:

GIF
JPEG
NPG

Sledei formati se uglavnom koriste za tampu:

TIF (Tagged Image Format) je format koji koristi lossless kompresiju podataka
ali istovremeno uspeva da sauva kvalitet slike. TIF daje prilino male datoteke
sa obzirom na kvalitet koji pru a.
EPS (Encapsulated Postscript) koristi postskript jezik tampaa koji je razvila
firma Adobe.Ogranienje je da tampa mora podr avati postskript jezik. U ovom
formatu se ne koristi kompresija tako da su datoteke prilino velike.
BMP (Bitmap) je standardni format po kome je cela grupa formata dobila ime.
Tako e ne koristi kompresiju, ali su datoteke u tom formatu opet znaajno
manje od EPS formata. Mo e se rei da je ovo format veoma iroko kori en u
Windows okru enju.
PICT (Macintosh Picture File) je standardni format za Macintosh platforme. Za
njega je zanimljivo da mo e biti vektorski ili rasterski format. Ne preporuuje se
za kori enje, osim na Mac platformama.
WFM (Windows Meta File) je ekvivalent PICT formatu, samo za Windows
platforme. Tako e podr ava i vektorski i rasterski oblik grafike.

GIF
Graphics Interchange Format je bitmap, platformski-nezavistan format kreiran od strane
servisa Compuserve mre e. GIF podr ava do 256 boja (8 bita), a veliina datoteke je
odre ena brojem boja i veliinom piksela. Veliina datoteke se smanjuje kori enjem
LZW (Lempel-ZivWelch) algoritma za kompresiju podataka, bez gubljenja na kvalitetu.
Ovaj algoritam omoguava istovremeno dekompresovanje i uitavanje datoteke. Sve ovo

ini ovaj format idealnim za kori enje na Web dokumentima za odre ene specifine
elemente kao to su : dugmad, grafika zasnovana na tekstu ili bilo koja grafika koja ne
zahteva 24-bitnu paletu boja.
Za razliku od drugih popularnih formata, kao to je JPEG, GIF podr ava mnoge veoma
korisne osobine.

Transparentnost
Interlace mod
GIF Animacije

Transparentnost je veoma korisna osobina koja se iroko koristi na Web-u. Dizajner je u


mogunosti da jednu od boja proglasi transparentnom ili nevidljivom (Slika1.). Obino se
pozadinska boja proglasi za transparentnu i na taj nain se dobijaju veoma dobri efekti
jer grafika izgleda kao sastavni deo stranice.
Kod kori enja ovog efekta mora se voditi rauna o nekoliko stvari da bi krajnji rezultat
bio zadovoljavajui.

Mora se pa ljivo izabrati transparentna boja, da se ne bi desilo da sa pozadinom i


neke druge delove slike (sa istom bojom kao pozadinska) uinimo nevidljivim.
Ako transparentna grafika ima primenjen anti-alias efekat videe se okvir oko
grafike jer samo jedna boja mo e biti transparentna. Re enje je jedino da se za
grafike elemente koji e biti transparentni ne primenjuje anti-alias efekat.

Interlace mod je takodje veoma popularan i esto u upotrebi na Web-u. Poznato je da


pri uitavanju grafike browser na njeno mesto stavlja prazan okvir, dok se grafika u
potpunosti ne prenese. Ovo, nekad, mo e da bude prlino dosadno i ne-esteski,
pogotovo kada se radi o veim grafikim datotekama. Da bi se to spreilo koristi se
interlace mod koji poinje prikazivanje grafike na 1/8 krajnje rezolucije i nastavlja sve
dok se itava datoteka ne prenese i prika e. Prikazivanje slike ide u nekoliko prolaza.
GIF animacija je jo jedna, veoma efektna, mogunost koju pru a ovaj format.
Animacije se prave kao serija GIF slika, koje se prikazuju jedna za drugom i na taj nain
stvaraju efekat pokreta. Kreiranje ovakvih datoteka je prilino jednostavno tako da su
one iroko zastupljene na Web-u kao banneri (slu e u reklamne svrhe) ili drugi grafiki
elementi kojima je svrha da privuku pa nju.
Na kraju, potrebno je zapamtiti da u radu sa GIF formatom treba koristiti najvi e 256
boja, koliko je i podr ano. U suprotnom, mo e doi do pojave zvane ditering, kada
sistem poku ava da u paletu od 256 boja uklopi vei broj boja (16,7 miliona). To mo e
da izazove prilino neoekivane i ru ne efekte.
JPEG
Joined Picture Expert Group - JPEG ili JPG je format koji je u veoma irokoj upotrebi na
Web-u, a naroito za vee slike. To je tako e format koji se mo e koristiti na vi e
platformi a njegova glavna prednost u odnosu na GIF je kori enje 16.7 miliona boja

(24-bita) i primenjeni lossy algoritam kompresije koji vi estruko smanjuje veliinu JPEG
datoteke, ali utie na kvalitet slike. Na ovaj nain mo emo dobiti veoma kvalitetne slike
koje nisu mnogo velike, tj. nije im potrebno dosta vremena za uitavanje i ba to je
glavni razlog veoma velike popularnosti ovog formata.
Kompresija je metod koji smanjuje veliinu grafikih datoteka. Svi grafiki elementi na
Internetu moraju biti preneseni preko mre e, tako da je kompresija neophodna da bi
smanjili vreme uitavanja. Na drugoj strani, kod tampanja grafike esto je veoma bitno
da grafika zadr i kvalitet, bez obzira na veliinu datoteke. U te svrhe je bolje koristiti
formate koji upotrebljavaju lossless tehniku kompresije, koja uva kvalitet slike. Jedan
od takvih formata je TIF.
Kada se slika kompresuje, izdvajaju se podaci o svakom pikselu iz koda slike i sme taju
se u matricu. Ideja je da se svakoj boji, koja je kori ena, pridru e svi pikseli koji nose
tu boju. Tako npr. ako imamo crnu liniju, kod bez kompresije bi definisao svaki piksel i
njegovu boju, dok bi kompresovan kod uzeo ceo red i dodelio mu crnu boju. Na ovom
primeru je oigledno da bi u drugom sluaju dobili daleko manju datoteku.
JPEG format ima jos jednu karakteristiku, a to je da se pri snimanju grafike mo e
odre ivati nivo kompresije koji elimo. Obino je to dato u skali 1 - 10 ili procentualno
1% - 100 %. Problem je to se veom kompresijom gubi na kvalitetu slike, tako da se
mora voditi rauna o odnosu kvalitet - kompresija. Dizajneri Web-a esto na u
kompromis tako da se lo iji kvalitet slike izazvan kompresijom ne primeuje na ekranu
monitora.
Postoje dodaci za postojei software za obradu slika, koji JPEG formatu daju mogunosti
da se parcijalno prikazuje slika kako se uitava, slino kao Interlace kod GIF formata.
Ovaj oblik JPEG-a se naziva Progressive JPEG.

PNG
Portable Network Grafics Specificaton format je najnoviji format zapisa grafikih
datoteka, optimizovan za upotrebu na Internetu. Op te mi ljenje je, da je ovaj format
budunost Web grafike. On predsatavlja kobinaciju najboljih karakteristika GIF i JPEG
formata. Najva nije odlike PNG formata su:

Podr ava grayscale, 8-bitne, 24-bitne i 48-bitne vrste slika


Kori en je napredan losseless algoritam kompresije, koji daje odline
rezultate.Nivo kopresije se mo e menjati, a kori enjem dodatnih filtera za
kompresiju (mo e ih biti pet) posti u se zapanjujui rezultati u smanjivanju
veliine komprimovane datoteke
Varijabilna transparentnost je tako e podr ana. To znai, da za razliku od GIF
formata, gde piksel mo e biti transparentan ili ne, kod PNG-a uvodi 254 nivoa
transparentnosti
Koristi se Gama korekcija koja ispravlaj razlike u izgledu grafike, koje se javljaju
kod razliitih platformi. (vidi poglavlje 3.)
Interlaced nain prikazivanja koji je znatno unapredjen u odnosu na druge
formate koji podr avaju sline naine prikazivanja(GIF i Progressive JPEG)

Prema svemu iznetom, mo e se zakljuiti je da je PNG grafiki format superioran me u


svim formatima koji se koriste na Internetu.U njemu su implementirane najbolje osobine
svih ostalih formata (pre svega se misli na GIF i JPEG). Ali PNG jo uvek nije u irokoj
upotrebi me u korisnicima, a tako e nije podr an u itaima na pravi nain. Ostaje
nada, da e se to u skorije vreme promeniti i da e ovaj format zauzeti visoko mesto,
koje po svojim karakteristikama nesumnjivo zaslu uje.

3D formati
Kao to je ve ranije pominjano, jedna od glavnih karakteristika kod 2D grafikih
formata je stepen primenjene kompresije. Ova osobina je kod 3D formata jo izra enija
samim tim to su video datoteke vi estruko vee, u odnosu na obinu 2D grafiku.
Primenjuje se kompresija nad pojedinanim slikama, kao i nad nizom slika. Sve tehnike
kompresije koriste algoritam "codec" (Compressor/Decompressor). Stopa kompresije se
defini e kao odnos veliine datoteke pre i posle kompresije, i naje e se kree od 2:1
do preko 200:1.
Svi 3D grafiki format se prilino razlikuju, jer daju razliit kvalitet animacije i drugu
stopu kompresije. Postavlja se pitanje koji je od njih najbolji? Odgovor na ovo pitanje je
prilino te ko dati, po to zavisi od mnogo faktora kao i od vrste raunarske platforme. U
svakom sluaju, najpopularniji su sledei formati:

AVI ili Video for Windows je format napravljen radi distribucije video materijala u
windows okru enju. Ovaj format dozvoljava nekoliko razliitih codec-a za
kompresiju datoteke. U principu, svi ti algoritmi daju veoma sline rezultate, tako
da e prosean korisnik veoma te ko primetiti razliku. Najpopularniji codec-i su
Cinepak - bolji je za kompresiju animacija koje se sastoje od nekoliko boja. Drugi
algoritam je Indeo - koristi se za kompresiju video materijala koji sadr i iroku
paletu boja. Oba algoritma su lossy, to znai da se kvalitet materijala smanjuje
sa veim stepenom kompresije.
Apple QuickTime - MOV je prvi format koji se pojavio na tr i tu, i u su tini je
veoma slian AVI formatu. Ovaj format je namenjen korisnicima Macintosh
platformi. Tako e koristi Cinepak i Indeo codec-e.
MPEG je najmla i format na tr i tu, ali zbog svojih kvaliteta (zadovoljavajueg
kvaliteta slike i relativno male veliine datoteke) je veoma iroko rasprostranjen.
Kod ovog formata algoritam kompresije je unapred zadat i ne mo e se menjati.
MPEG-1 kompresija je bazirana na prostornoj i vremenskoj komponenti
kompresije. Vremenska komponenta se oslanja na slinost dve sukcesivne slike i
koristi predvi anje i kompenzaciju pokreta, dok je prostorna kompresija
usmerena prema otklanjanju monotonih delova u okviru jedne slike (DCT
transformacijom, kvantizacijom i entropijskim kodiranjem). MPEG - 2 je nastao
kao odgovor na potrebu za generikim metodom kodiranja pokretnih slika i
ukljuivanja zvuka. Bitna razlika u odnosu na predhodni standard je podr ka
konceptu preplitanja - interlace.

Formati datoteka

Format je naIn na koji su snimljeni elektronski delii koji ine datoteku na raunaru.
Razliiti formati razliito struktuiraju ove delie. (Photoshop za neupuene, str.47-49).
PCX
Matini format PaintBrush-a, ali i PixelPaint-a na Mac-u.
TIFF (Tag Image File Format)
Slu i kao standard nezavisan od platforme. Veliki je komunikator. Nudi kompresiju bez
gubitka.
JPEG (Joint Photographical Expert Group)
[tedljiv korisnik prostora. Koristi kompresiju sa gubitkom.
EPS (Encapsulated PostScript)
TIFF i JPEG snimaju samo slike, a EPS prihvata sve to tampa mo e da od tampa.
Zauzima puno prostora.
BMP (BitMaP)
Primarni format za Windows grafiku, a podr avaga ga i OS2. Generiki format slike.
Opcija 1 bit podrazumeva da slika sadri dve boje, 4 bita - 16 boja, 8 bita - 256 boja i 24
bita - 16.800.000 boja.
PSD
Ovo je matini format Photoshopa. Nudi kompresiju bez gubitka.
Izbor formata u programskom paketu PhotoShop:

Ako se slika eli koristiti u Photoshopu snimiti je u formatu PSD.


Ako se slika eli koristiti u Photoshopu ali se eli tedeti prostor snimiti je u formatu
BMP.
Ako se slika eli uitati u nekom drugom programu snimiti je u formatu TIFF ukoliko
ima dovoljno mesta na disku.
Ako se slika eli uitati u nekom drugom programu, a nema dovoljno prostora na
disku snimiti je u formatu JPEG.
Ako se slika eli uitati u nekom drugom programu koji ne podr ava ni TIFF ni JPEG
snimiti je u formatu EPS.

Formati Corel-a - uitavanje: (Corel, str. 490-, str. 565-)


CDR
Format Corel crte a.
AI
Format Afobe Illustrator-a
DXF
Format AutoCad
CGM
Format Compuer Graphics Metafile (koristi ga program Harvard Graphics)
Corel Draw uitava i formate EPS, TIFF, PCX. Pored navedeni formata CGM, DXF, EPS,
PCX i TIFF datoteka mo e iz Corel-a da se izveze i u formatima:

WMF
Format Windows MetaFile
GEM
Format koji mo e koristiti Ventura, ali zastareo.
HPGL
Format za posebne poslove, koji je pogodan za slanje ploterima
Npr. Corel Trace vr i vektorizaciju: bitmapirane formate (TIF, PCX, PCC, BMP, GIF, TGA)
prevodi u EPS format.

Anti-alising
Ako se izbliza pogleda grafika na monitoru raunara (PC), primetie se take od kojih su
objekti napravljeni. Ako je objekat nacrtan pod odgovarajuim uglom, ivice objekta
mogu izgledati izlomljeno. Tekst, a posebno onaj koji je ra en u velikim fontovima,
mo e izgledati prilino ru no.

Na sledeoj slici prikazana su uveanja linija i delova teksta. Jasno su vidljive isprekidane
linije. Ti prekidi se nazivaju aliasing.
Aliasing se pojavljuje kada se prikazuje podaci u rezoluciji koja nije dovoljno velika za
prikazivanje svih vanih informacija. Ve ina kompjuterskih monitora ima rezoluciju od 96
taaka po inu. Kada se prikae neki objekat na monitoru, njegova rezolucija je 96
taaka po inu. Me utim, na e oi mogu da razlue mnogo ve u rezoluciju. Ovo dovodi
do pojave aliasinga.
Alialising se ne pojavljuje uvek. Na primer, kada se crtaju vertikalne ili horizontalne linije
na ekranu. Take od kojih se sastoje ove linije sadre dovoljno vanih informacija, tako
da linije izgledaju glatko.

Drugi efekat koji proizilazi iz aliasinga je taj, da horizontalne i vertikalne linije izgledaju
tamniije od dijagonalnih.
Na sledeoj slici prikazano je nekoliko vertikalnih i horizontalnih linija. Ako su ove linje
prikazane na monitoru sa rezlocijom od 96 taaka po inu, vertikalne i horizontalne linije
e sadr ati 96 taaka po inu. Po to su dijagonalne linije nacrtane pod uglom od 45

96
2 taaka ili pribli no 68 taaka po inu. Stoga e
stepeni, one e sadr ati samo
dijagonalne linije izgledati svetlije nego horizontalne i vertikalne linije.

Antialiasing je proces koji redukuje efekte aliasing-a. U sledeem odeljku bie prikazane
anti-anti-aliasing metode koje se koriste u Delphiju, a analogno va e i za Visual Basic.

Reavanje aliasing problema


Na sledeoj slici (slici 3.) prikazana je izbliza kratka crna linija irine jedne take. Ivica
prikazuje lokaciju taaka na ekranu. Najlak i nain da se ovo nacrta jeste da se zatame
take koje le e najbli e centru linije kao na slici 4. Ovaj metod je jednostavan i brz.
Na alost on mo e prouzrokovati aliasing.

slika 3

slika 4.

Bolje re enje je oseniti svaku taku kroz koju linija prolazi sa stepenom koji je
proporcionalan pokrivenosti take linijom. Ako je taka kompletno pokrivena linijom, ona
mora biti crne boje. Ako je taka sa 40% pokrivena linijom, ona mora biti boje koja je
40% od crne. Na slici 5. prikazana je linija koja je nacrtana na ovaj nain.

slika 5.
Ako se pogleda izbliza, linija e izgledati udno. Me utim, pogled sa normalne
udaljenosti e imati zadovoljavajue efekte, tj. aliasing e biti redukovan.

Supersampling

Ideja koja stoji iza anti-aliasing metode je opisana u sledeem primeru:


Potrebno je izraunati procenat svake take koju prekriva objekat i nijansirati taku
odgovarajuim iznosom. Me utim, u ovom sluaju matematika i te kako stoji iza ove
kalkulacije. Mnogo je komplikovanije ako se eli izvesti anti-aliasing tekst karaktera kada
se mo da i ne znaju take tih karaktera.
Supersampling ili postfiltering obezbe uju alternativni metod za anti-aliasing koji je
mnogo jednostavniji za implementaciju. Supersampling je trostepeni proces, mada se u
praksi drugi i trei korak obino odvijaju u isto vreme.
1. Kao prvo, mo e se napraviti slika u poveanoj rezoluciji. Na primer, umesto da se
napravi sliks sa 96 piksela po inu, generi e se sa 192 piksela po inu.
2. Zatim se primeni tkz. LowPass filter da bi se uklonili visokofrekventne informacije
koje proizvode aliasing.
3. I na kraju je potrebno vratiti sliku na originalnu veliinu.
Tako bi se radilo u nekom od crtakih alata, recimo kao to je AdobePhotoShop.
Me utim, takav metod nije praktino mogue primeniti kada je u pitanju Delphi, Visual
Basic ili neki slini programski jezik.
U Delphiju i Visual Basicu ne postoji nain za kreiranje slike poveane rezolucije. Vrlo je
komplikovano napisati program koji odre uje koja taka e biti kori ena kada se crta u
rezoluciji 192 take po inu. Me utim, ne mora se kreirati vi e taaka po inu. Jedino to
je potrebno je da slika koristi vi e taaka.
Jednostavan nain da se postignete ovaj cilj je da se slika nacrta u veliini koja je vea
nego normalna. Umesto crtanja slike u mnogo veoj rezoluciji, crtae se u normalnoj
rezoluciji, ali sa dva puta veom veliinom. Po to se na taj nain dobije dva puta vi e
taaka po X i Y pravcu, ovaj pristup e dati etiri puta vi e taaka u slici. Mogu se
kreirati uveane slike kori enjem Delphijeve crtake komande MoveTo, LineTo, Circle,
Ellipse i ostale ili kod Visual Basica Line, Circle i Print metode.
Antialiasing je tehnika za izgla ivanje nazubljenih linija, ivica i sl. Ovim procesom se
posti u mek e ivice tako to se interpoliraju novi pikseli sa srednjom vredno u boja.
U skorije vreme se na PC raunarima koristi i hardverska implementacija metode
antialising. Ovakva tehnologija omoguava ispravljenje gre aka koje su se pojavljivale
zbog aliasing efekta i daje lep e i realnije scene. Hardverski je implementirana tzv.
metoda edge antialising. In enjer Gary Tarolli je za PC raunare konstruisao T-buffer
koji predstavlja varijantu antialiasing-a koja se koristi na skupim radnim stanicama.

Kornja ina grafika (Turtle graphics)


Prelazak iz tekstualnog re ima rada u grafiki re im rada na Turbo PROLOG-u se vr i
pomou predikata graphics. Kada se pre e u grafiki nain rada ekran se obri e i
"kornjaa" (turtle) se postavlja u sredinu ekrana. Pomou ugra enih standardnih
predikata mo e se odrediti pozicija kornjae, pravac i smer njenog pomeranja, kao i
mogunost crtanja, tj. ostavljanja traga njenog kretanja u odre enoj boji.
U ovu grupu spadaju predikati: forward, back, right, left, pendown, penup, pencolour.
Primer 1.
Prikazati na sredini ekrana kvadrat u koji je upisan drugi kvadrat ija temena polove
stranice veeg kvadrata. Prema tome, ako se sa a obele i du ina stranice veeg
kvadrata, onda se du ina stranice manjeg kvadrata koja je obele ena sa b, dobija: b
= a / 2 .
Predicates

goal

grafik.
dkvadrat(integer).
kvadrat(integer).

grafik.
clauses
grafik :- graphics(2,1,4), dkvadrat(2000).
dkvadrat(V) :kvadrat(V), H=V/2,
forward(H), left(45),
D=72*S/10, kvadrat(D).
kvadrat(S) :forward(S), left(90),
forward(S), left(90),
forward(S), left(90),
forward(S), left(90).
Primer 2.
Neka se zadatak sastoji u prikazivanju kruga na ekranu. Predikat za crtanje kruga mo e
se obele iti sa krug i realizovati na sledei nain:
predicates
krug

goal
clauses

graphics(2,1,0), krug.
krug:-forward(100), right(1), krug.

Primer 3.
Prikazati na ekranu jednakostranini mnogougao. Broj uglova unosi korisnik.
predicates
grafik.
rekurz(integer,integer).
goal
grafik.
clauses

grafik :write("unesite broj uglova: "),


readint(En), graphics(2,1,4),
U = 360 / En,rekurz(En,U).
rekurz(0,_).
rekurz(N,U) :forward(10000),
left(U), N1 = N - 1, rekurz(N1,U).

Ako se za broj uglova (En) unese 3 na ekranu raunara e biti prikazan jednakostranini
trougao. Kada se za broj uglova unese 4 (En=4) bie prikazan kvadrat, za En=5
prikazae se jednakostranini petougaonik, za En=6 bie prikazan jednakostranini
estougaonik, itd.
Primer 4.
Prikazati na ekranu zvezdasti mnogougaonik.
predicates
grafik.
unos(integer,integer).
rekurz(integer,integer,integer,integer).
goal grafik.
clauses
grafik :- unos(U,S), graphics(2,1,4), rekurz(S,U,0,1).
unos(144,10000).
rekurz(_,_,_,0).
rekurz(L,U,SU,_) :- forward(L), left(U),
SU1 = (SU + U) mod 360, rekurz(L,U,SU1,SU1).

Program e za date argumente predikata unos na ekranu nacrtati petokraku.


Kada se za argumente ovog predikata unesu vrednosti
raunara e se prikazati sledea slika.

unos(190,10000) na ekranu

Neki poznati problemi


KENINGSBERKI MOSTOVI
Preko reke koja protie kroz grad Keningsberg (dana nji Kaljingrad) i koju ostrvo A deli
na dva rukavca, postoji sedam mostova a, b, c, d, e, f, g. Da li je mogue prei sve
mostove ne prelazei ni preko jednog dva ili vi e puta?

Re enje:
Ovaj zadatak je postavio i re io Leonard Ojler u XVIII veku. On je pokazao da se
zadatak o keningsber kim mostovima svodi na zadatak o crtanju mre e u ravni u
jednom potezu (ne podi ui olovku sa hartije), ne prelazei po ve povuenoj liniji.
Takva jedna zatvorena mre a, koja se sastoji od taaka (vorova) i linija koje spajaju
ove take, a ne presecaju se me usobno, mogu se predstaviti pomou grafa. Dva vora
grafa zovu se susedna ako su spojena linijom. Za grafove koji se mogu nacrtati na
pomenuti nain ka e se da poseduju Ojlerov put.
Teorema koja daje uslove za postizanje Ojlerovog puta glasi:
Graf poseduje Ojlerov put ako i samo ako ima dva ili nijedan vor neparnog reda.
Graf koji odgovara rasporedu keningsber kih mostova ima 4 vora neparnog stepena
tako da, na osnovu Ojlerove teoreme, prelaz preko sedam keningsber kih mostova nije
mogue izvr iti u jednom potezu.
Primena Ojlerovih puteva je u organizaciji pojedinih slu bi (npr. po te) velikih gradova.

f
e

d
C

b
a

PRELAZ PREKO 15 MOSTOVA


etiri ostrva spojena su me|u sobom i sa obalama reke pomou mostova kao na donjoj
slici. Da li se u jednom potezu mogu prei svi mostovi, ne prelazei dva ili vi e puta ni
preko jednog?

Graf za ovaj zadatak ima dva neparna vora (D i E), dok su svi ostali vorovi parni. Na
osnovu Ojlerove teoreme sledi da se postavljeni zadatak mo e re iti i to polazei iz
jednog od vorova D ili E.
Prelaz se mo e ostvariti u poretku:
E a F b B c F d A e F f C g A h C i D k A m En A p B q E l D
ili u obrnutom smeru.

l
m

i
k

c
e

f
F
UVARI MUZEJA
Ako galerija ima n zidova, koliko je najmanje uvara potrebno da bi oni mogli potpuno
da kontroli u celokupan prostor galerije?

Re enje problema vezano je za Hvatalovu teoremu.

Va eh Hvatal (Univerzitet Mekgil u Montrealu, Kanada) dokazao je da ako galerija


ima n zidova (tj. ako obrazuje n-tougaonik), tada je minimalan broj uvara koji je
potreban da nadgleda celu galeriju jednak celobrojnom delu n/3.

Galerija od n strana se posmatra kao n-tougaonik, koji se mo e podeliti na trouglove


pomou nepresecajuih dijagonala koje spajaju njegova temena (tzv. triangulacija).
Temena dobijenog grafa se oboje tako da ona koja pripadaju istoj du i budu obojena
razliitim bojama.
Koristei metod matematike indukcije mo e se dokazati da je za ovakvo bojenje
dovoljno tri boje.
Ako je n=3 galerija ima oblik trougla i za bojenje njegovih temena su dovoljne tri boje.
Zatim se pretpostavlja da su tri boje dovoljne za pravilno bojenje temena trianguliranog
n-tougaonika G (n>3).
Ako se posmatra mnogougaounik G sa (n+1)-stranom koji se dobija iz G tako {to se
umesto strane (zida galerije) AB posmatraju pridodate strane (zidovi) AC i CB. Po
induktivnoj pretpostavci temena trianguliranog n-tougaonika G su obojena pomou tri
boje. Temena A i B le e na istoj du i tako da su obojena razliitim bojama. Ako se teme
C trougla ABC oboji treom bojom proizilazi da je i mnogougaonik G sa (n+1) - stranom
mogue obojiti pomou tri boje.
To znai da se temena svakog trianguliranog n-tougaonika mogu obojiti pomou tri
razliite boje: a, b i c tako da me usobno povezana temena budu obojena razliitim
bojama.
Neka Na, Nb i Nc oznaava broj temena obojenih redom bojama a, b i c. Ako je n broj
strana trianguliranog mnogougaonika, mo e se primetiti da razlika izme u brojeva Na,
Nb i Nc iznosi ili 0 ili 1. U sluaju da je n deljivo sa 3, tada je Na = Nb = Nc = n / 3; u
suprotnom ovi brojevi pripadaju skupu {[n/3], [n/3]+1}.
Dakle, minimalan broj temena u jednoj boji je [n/3]. Ako se u svako od ovih temena
postave uvari oni e kontrolisati itavu galeriju, jer e na ovaj nain kontrolisati svaki
od trouglova na koje je podeljen n-tougaonik.

G
A

G'

Re enje ovog zadatka ima praktinu primenu za raspored uvara u muzejima,


umentikim galerijama i drugim objektima gde se zahteva nadzor celokupnog prostora,
jer je geometrijski oblik pomenutih prostora esto veoma slo en i ini udne ornamente.
Aproksimativno se mo e uzeti da ravanski presek ovih prostorija ima oblik
mnogougaonika.

Teorija boje
Boja ima dva znaenja i predstavlja:

Subjektivni ovekov oseaj koji se javlja prilikom posmatranja svetlosti, odnosno


Supstancu koja sadr i pigmente.

Boje se mogu opisati objektivnim i subjektivnim parametrima.


Objektivni parametri boje:

Talasna du ina,
istoa,
Svetlosni fluks.

Talasna du ina i istoa odre uju hromatinost svetlosti, tj. oseaj boje.
Objektivnim parametrima odgovaraju subjektivni parametri boje:

Ton boje ili stepen obojenosti (Hue) odgovara talasnoj du ini,


Veliina zasienja (Saturation) odgovara istoi boje,
Svetlina boje (Brightness) odgovara svtlosnom fluksu.

Metod opisivanja boje subjektivnim faktorima obele ava se sa HSB. Veliina zasienja
predstavlja stepen odstupanja neke boje od sive boje iste svetline. Zasienje je obrnuto
srazmerno udelu sivog u boji. Potpuno zasiena je ona boja koja ne sadr i sivu, takve su
spektralne boje, dok su potpuno nezasiene: bela, crna, sivi tonovi.
Osnovne boje su:

Crvena,
uta i
Plava.

Bela boja = crvena + uta + plava.


Komplementarne boje:

Crvena zelena (= uta + plava),


Plava narand asta (= uta + crvena),
uta ljubiasta (= crvena + plava).

Prilikom kreiranja slika na raunaru potrebno je voditi rauna o estetici i o:

Prostornom efektu boja,


Harmoniji i slaganju boja,
Kontrastu boja:

o
o
o
o

Kontrast boje prema boji,


Svetlo-tamni kontrast,
Hladno-topli kontrast,
Komplementarni kontrast, ...

Postoje dva osnovna naina izra avanja boja:


Aditivni metod i
Suptraktivni metod.

Aditivni metod
Boju je mogu e izraziti preko tri komponente. Kao osnovu aditivne sinteze boja izabrane
su iz spektra slede e boje:

Crvena (Red),
Zelena (Green),
Plava (Blue).

To su primarne boje. Od poetnih slova engleskih naziva ovih boja, metoda se esto
naziva i RGB. Ovom metodom se vr i formiranje boje na ekranu raunara.
Komponenta 1
Komponenta 2
Komponenta 3
Rezultat

R
G
B
bela

R
G
uta

R
B
magenta

G
B
cijan

crna

Suptraktivni metod
Ovo je drugi nain za formiranje boje. Pomo u filtera se iz spektra bele svetlosti
oduzimaju pojedine komponente. Osnovne komponente su:

uta (Yellow),
Magenta (Magenta),
Cijan (Cyan).

Od poetnih slova engleskih naziva ovih boja metod se esto naziva YMC. Vi ebojna
tampa se radi ovom metodom.
U procesu tampe se dodaje jo i crna boja, pa se tada metod naziva YMCK. Da bi se u
tampi reprodukovao vi ebojni original potrebno je za svaku njegovu taku odrediti udeo
osnovnih boja suptraktivnog metoda (Y, M, C). To se posti e:

klasinim repro-fotografskim postupkom (snimanje originala kroz crveni, zeleni i


plavi filter; pri svakom snimanju izdvaja se komplementarna boja i dobija film sa
njenim udelom), ili
skeniranjem slike (korekcija se vr i na raunaru).

C
crna boja
(Black)

Transformacija slika u ra unarskoj grafici


Osnovne afine transformacije u 2d
U okviru ove nastavne jedinice, bie obra ene sledee transformacije:
1.
2.
3.
4.
5.
6.

Translacija
Skaliranje u 2D
Rotacija oko koordinatnog poetka
Smicanje u 2D
Afina transformacija=linearna+translacija
Homogenizacija afinih transformacija

Translacija

Translacija je odre ena parom odgovarajuih taaka A i A. Radijus vektor (x,y) take
A odre uje se kao zbir radijus vektora (x,y) take A i vektora translacije (x,y).
(x,y)= (x+ x, y+ y)
Skaliranje u 2D
Skaliranje je afino preslikavanje koordinatne ravni na sebe, koje omoguava nezavisno
pode avanje odnosa veliina jedininih podeoka na razliitim koordinatnim osama.
Matrica skaliranja, sa parametrima (argumentima) a i b je dijagonalna matrica:

a 0
H (a, b ) =

0 b
tj. Transformacije po koordinatama su x = a*x i y = b*y

Rotacija oko koordinatnog poetka


Neka se prirotaciji za ugao u pozitivnom smeru oko koordinatnog poetka O taka
A(x,y) preslikava na taku A(x,y) i neka je sa oznaen ugao koji poluprava OA
odre uje sa pozitivnim krakom x-ose. Prema slici . va i:
X=r cos
y=r sin x=r cos(+) y=r sin(+)

Primenom adicionih formula dobija se:

X= r coscos - r sinsin = xcos - ysin


Y= r cossin + rsincos = xsin + ycos
Mo e da se zapi e i A=A pri emu je matrica rotacije:

cos
R( ) =
sin

sin
cos

Smicanje u 2D
Smicanje u pravcu neke ose je afina transformacija kojom se sve take ravni pomeraju
paralelno toj osi, u jednom od dva mogua smera, za du inu koja je srazmerna njihovom
odstojanju od ose. Ako sa A1 oznaimo sliku take A pri smicanju i sa A podno je
normale iz take A na razmatranu osu, onda veliinu smicanja odre ujemo kao veliinu
orijentisanog ugla <A1AA
Tako smicanje za ugao a u smeru x-ose mo e da se predstavi pomou veza x=x+ytg;
y=y kojima odgovara sledea matrica transformacije:

1
Sxa =
tg

0
1

Afina transformacija= linearna+translacija


Postojanje upravo uvedenih matrica R(), H(a,b) i Sx() samo po sebi govori da su
rotacija oko koordinatnog poetka, skaliranje i smicanje linearne transformacije i u
sluaju kada se primenjuju nehomogene koordinate. to se tie translacije, videli smo da
ona pri radu sa nehomogenim koordinatama nije linearna transformacija. Sa druge
strane, translacija je svakako afina transformacija, budui da uva paralelnost pravih.
Ispostavlja se da op ta afina transformacija u euklidskom prostoru (u kome koristimo
nehomogene koordinate) mo e da se defini e kao kompozicija linearne transformacije L i
translacije T(a) za neki vektor a. Pritom va i:
T(a)L=LT(aL)
Na primer, ako se sa L oznai rotacija oko koordinatnog poetka za neki ugao a, onda na
slici va i
X=XT(a) , Xn=XL, Xm=XT(a)L=XLT(aL)

Homogenizacija afinih transformacija


Nakon homogenizacije, translacija za vektor (x,y) mo e da se realizuje dejstvom
matrice:

0 0
1
T (x, y ) = 0
1 0
x y 1
Dok matrice R(), H(a,b) i Sx() redom dobijaju sledei izgled:

cos
sin

sin
cos
0

0
0
1

a 0 0 1
0 b 0 tg

0 0 1 0

0 0
1 0
0 1

Zadatak
Taka P(3,4) se rotiranjem za ugao = 45 oko take Q (1,2) prevodi na lokaciju
P1(x1,y1) odakle se odgovarajuom translacijom prevodi na novu lokaciju P2(-1,9).
Zatim se zahteva neproporcijalno skaliranje u odnosu na taku A(-1,3) sa faktorima
skaliranja 2 i 1.5, redom po x i y osi. Odrediti matricu translacije i novu lokaciju P3
(x3,y3)

cos

4
0 0
1

0
* sin
1
0


4
1 2 1 0

cos
4
0
sin

0
1 0 0 1
0 0 0.71 0.71 0 1 0 0

0 * 0 1 0 = 0
1 0 * 0.71 0.71 0 * 0 1 0 =

0
1 1 2 1
1 1 2 1 1 2 1 0

0.71 0 1 0 0 0.71
0.71 0
0.71
0.71 0.71 0 * 0 1 0 = 0.71 0.71 0

0.71 2.13 1 1 2 1 1.71 0.13 1

[x1

y1

0.71 0
0.71

1] = [3 4 1]* 0.71 0.71 0 = [1 4.84 1]


1.71 0.13 1

P1(1,4.84)

1
[ 1 9 1] = [1 4.84 1]* 0
Dx

1 = 1 + D x D x = 2

0
1
Dy

0 = 1 + D x
1

4.84 + D y ` 1

9 = 4.84 + D y D y = 4.16
0
0
1

T ( 2,4,.16) = 0
1
0
2 4.16 1
0
0 1 0 0 2
0
0
1 0 0 2 0 0 1 0 0 2
0 1 0 * 0 1.5 0 * 0 1 0 = 0 1.5 0 * 0 1 0 = 0 1.5 0

1 3 1 0 0 1 1 3 1 2 4.5 1 1 3 1 1 1.5 1

[x 3

y3

P3(-1, 12)

0
0
2

1] = [ 1 9 1] = 0 1.5 0 = [ 1 12 1]
1 1.5 1

Transformacije u 3D grafici
Translacija u 3D
P` = P * T

P = [x y z 1]
P`= [x` y` z ` 1]

Faktori translacije po x, y i z-osi su redom: Dx, Dy i Dz.


Matrica translacije T:

[x`

y ` z ` 1] = [x

z 11]* T0
0
1

0
0

Dx Dy

0
0
0

Dz 1
0
0
1

Skaliranje u 3D
P` = P * S

P = [x

z 1]

P`= [x` y` z ` 1]

[x`

y ` z ` 1] = [x

z 1]* S

Faktori skaliranja po x, y i z-osi su redom: Sx, Sy i Sz.

Sx 0 0 0
0 Sy 0 0

0 0 Sz 0

0 0 0 1

Matrica skaliranja S:

Rotacija u 3D
P` = P * R

P = [x

z 1]

P`= [x` y` z ` 1`]

Ugao rotacije (obrtanja) meri se u smeru koji je suprotan smeru kretanja kazaljke na
asovniku.
Matrica rotacije R oko ose koja je paralelna x-osi:

0
1
0 cos

0 sin

0
0

0
sin
cos
0

Matrica rotacije R oko ose koja je paralelna y-osi:

cos
0

sin

0 sin
1
0
0 cos
0
0

0
0
0

Matrica rotacije R oko ose koja je paralelna z-osi:

cos
sin

sin
cos
0
0

0
0
1
0

0
0
0

0
0
0

You might also like