RacGraf Predavanja

download RacGraf Predavanja

of 52

Transcript of RacGraf Predavanja

  • 7/30/2019 RacGraf Predavanja

    1/52

    Univerzitet u Novom SaduTehniki fakultetMihajlo PupinZrenjanin

    Prof. dr Ivana Berkovi

    Raunarska Grafika- izvodi sa predavanja -

    Zrenjanin, 2004.godina

  • 7/30/2019 RacGraf Predavanja

    2/52

    Kompjuterska ili raunarska grafika

    Edward Angel, Compuer Graphics: Jedna slika vredi vie od 1000 rei vai kao i pre100 godina. Grafika je stara kao i raunarstvo.

    Kompjuterska ili raunarska grafika je disciplina koja se bavi svim aspektima primeneraunara 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 crtea 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 definie kaoskup metoda i tehnika za konverziju podataka koji se alju ka grafikom ekranu ili sanjega a posredstvom raunara.

    Osnovne oblasti primene raunarske grafike:

    Izrada slika (generisanje) Analiza slika (prepoznavanje, itanje) Obrada slika (retuiranje, poboljanje kvaliteta ili promena sadraja)

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

  • 7/30/2019 RacGraf Predavanja

    3/52

    GKS predstavlja posrednika izmeu aplikativnog programa i grafike opremeraunarskog sistema.

    Standrad definie odreenu funkciju, ali ne i nain njene realizacije.Obezbeena 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 odreenih grafikih operacijarealizuje u vidu potprograma ili procedura odreenog programskog jezika (jeziki sloj).

    Iz aplikativnog programa se moe jednim pozivom grafike procedure indirektno pozvatiitav niz potprograma GKS biblioteke iz odgovarajueg GKS sloja.

    Operateri na radnim stanicama pored gledanja slike, kao prikaza rezultata aplikacijeupravljaju ureajima za unos podataka.

    Principi na kojima se zasniva GKS sistem:

    Potpunost sistem moe zadovoljiti najrazliitije zahteve korisnika u pogleduslika koje treba formirati paketom (nijedna dva zahteva ne smeju biti uzajamnokontradiktorna)

    Kompatibilnost razliitih rutina iz paketa (neprotivurenost) ne sme se prekritinijedan standard

    Nezavisnost nijedna rutina iz biblioteke ne moe se zameniti nekomkombinacijom njenih ostalih rutina.

  • 7/30/2019 RacGraf Predavanja

    4/52

    Rezolucija

    Pikseli na slici su savreni kvadrati.

    Svaki piksel na raunarskoj slici je savren kvadrat, na savrenoj mrei koji jeravnomerno obojen (svaki piksel je obojen jednom jedinom bojom).

    I slika na ekranu monitora se sastoji od piksela. Ekranski pikseli su kao i pikseli slikekvadratnog oblika i rasporeeni su po mrei. Tipian monitor od 13 ina ima irinu od640 i visinu od 480 piksela. Ekranski pikseli obino imaju prenik od 1/72 ina (0,35mm).Postoji razlika izmeu ekranskih piksela i piksela na slici. Npr. ukoliko je odnos 1:1 svakipiksel na slici se vidi kao jedan piksel na monitoru. Ako se slika povea (zumira) dvaputa (2:1), onda je jedan piksel sa slike predstavljen sa dva ekranska piksela visine i dvaekranska piksela irine.

    Menjanje broja piksela na slici zove se resampling (ponovno semplovanje). Ovaoperacija bi se mogla nazvati i menjanjem veliine.

    Rezolucija se meri na dui: piksela po linearnom inu. Npr. slika sa rezolucijom od 180ppi sadri 32400 piksela po kvadratnom inu (1802 = 32400).

    Slika ima tri atributa:

    veliinu, rezoluciju i dimenzije.

    Veliina slike (datoteke) je mera koja pokazuje koliko piksela sadri slika. Rezolucija slikese odnosi na broj piksela koji se tampaju po inu. Dimenzija slike predstavlja fizikuirinu i visinu slike.

    Svi atributi zahtevaju podjednaku panju i meusobno zavise jedni od drugih. Ako sepromeni jedan od zadatih atributa morae se proporcinalno promeniti druga dva. Moese zamisliti da atributi predstavljaju tri temena jednog trougla. Npr. ako se eli poveatidimenzija mora se poveati veliina datoteke ili smanjiti rezolucija. Ako se eli smanjitiveliina datoteke mora se smanjiti bilo dimenzije ili rezoluciju.

    Vrednost rezolucije odreuje koliko su pikseli sabijeni kada se tampaju. (str. 74,Photoshop za neupuene).

    Ako se eli vea rezolucija (vie piksela po inu - pixel per inch (ppi)) moe se smanjitidimenzija slike ili poveati veliina datoteke. Npr. dve slike mogu imati istu veliinudatoteke, 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 obriu neki od njenih piksela rezolucija se smanjuje.

    to su pikseli koji ine sliku manji, to je vie detalja koje oni mogu da prikau, a to jevie detalja to je vea rezolucija slike. (Photoshop 3.0 korak dalje, str. 6) Kako se

  • 7/30/2019 RacGraf Predavanja

    5/52

    smanjuje veliina piksela potrebno je mnogo vie piksela za sliku date veliine, pa sudatoteke koje sadre slike visoke rezolucije velike. Npr. za srednju visoku rezolucijumoe se smatrati 300 ppi.

  • 7/30/2019 RacGraf Predavanja

    6/52

    Geometrija

    Geometrija re grkog porekla. Naziv potie od rei zemlja i meriti.

    Stari Egipani su za potrebe graevinarstva odreivali prav ugao pomou kanapaizdeljenog na 12 jednakih delova, od ega su konstruisali pravougli trougao sa katetamaduine 3 i 4 i hipotenuzom duine 5 (tzv. egipatski truogao).

    Euklid je u 4 veku pre n. ere svoje rezultate izloio u delu Elementi u 15 tomova.Po prvi put je izvrena 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 produene u beskrajnost naobe strane ne seku jedna sa drugom.

    Ako petu aksiomu modifikujemo dobijama razliite vrste geometrije.

    Lobaevski je umesto V postulata uveo sledei (uoptenje):

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

    B P B T

    A A Q M M

    Taka M je promenljiva

    Prava PM, tj. PT nikad ne moe dostii pravu BB- ugao paralelnosti

  • 7/30/2019 RacGraf Predavanja

    7/52

    Ovo vai za zakrivljene prostore (sfere)Ugao paralelnosti je funkcija odseka x = PQ

    = 2 arc tg e x/k

    B P B S T

    A A Q

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

    Klain je naao potpunu interpretaciju cele ravni Lobaevskog.

    Klain je uvoenjem svog modela reio problem neprotivurenosti geometrije

    Lobaevskog. Ako imamo neku konturu K, tada njena unutranjost predstavlja ravanLobaevskog.

    Neprotivurenost geometrije Lobaevskog posledica je neprotivurenosti euklidskegeometrije.

    Neprotivurenost euklidske geometrije dokazao je Hilbert na osnovu protivurenostiaritmetike.

    Odnos geometrije Lobaevskog prema euklidskoj geometriji:

    U razmerama Sunevog sistema potpuno zadovoljavaju zakoni euklidske geometrije, doku ogromnim prostranstvima vladaju zakoni Lobaevskog.

    Ajntajnova opta teorija relativiteta i Fridmanovi rezultati o irenju vasione u vremenudali su potpuniju predstavu o objektivnom prostoru.

    Rimanovi prostori

    Drugaija neeuklidka geometrija se dobija ako se umesto V postulata uzme sledeaRimanova 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 poloaj karakterie koordinatama x1, x2,...,xn.

    Najprostiji sluajevi mnogovrsnosti su prostori konstantne krivine, K=const. Razlikuju setri sluaja takvih prostora:

  • 7/30/2019 RacGraf Predavanja

    8/52

    K>0, geometrija prostora pozitivne krivine - Rimanova geometrija u uem smisluili eliptina geometrija.

    K=0, geometrija prostora nulte krivine - parabolina geometrija, koja se poduslovom o pozitivnosti elemenata duine poklapa sa geometrijom Euklida.

    K

  • 7/30/2019 RacGraf Predavanja

    9/52

    Projektivna geometrija

    Koordinatni sistemi

    Poloaj neke take na pravoj, u ravni, u prostoru moe da se zapie uz pomo pogodno

    odabranih brojeva, tzv. koordinata. Koordinate uspostavljaju most izmeu geometrije iaritmetikei predstavljaju osnovu za reavanje mnogih gepmetrijskih problema.

    Koordinatni sistemi:

    Homogeni Nehomogeni

    Koordinatni sistemi:

    Dekartov koordinatni sistem Polarni koordinatni sistem Cilindrini koordinatni sistem Sferni koordinatni sistem

    Konane projektivne ravni

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

    1. Za svake dve razne take postoji tano jedna zajednika prava2. Za svake dve razne prave tano jedna zajednika taka3. Postoji potpun 4-temenik

    4. Postoji prava koja ima q+1 taaka.

    U konanoj projektivnoj ravni vae 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 obezbeena je egzistencij Galoa-ove konaneprojektivne ravni reda q, za koju postoji aritmetiki model nad Galoa-ovim konanimpoljem GF(q).

    Konane projektivne ravni i Latinski kvadrati

    Latinski kvadrat - pojam diskretne matematike dovodi se u vezu sa konanimprojektivnim ravnima.

    Latinski kvadrat reda q moe 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 istaelementa.

  • 7/30/2019 RacGraf Predavanja

    10/52

    Dva latinska kvadrata reda q su ortogonalna ako su svih njihovih q2 elemenata naodgovarajuim pozicijama meusobno razliiti, tj. ako pomoni kvadrat satavljen izureenih parova odgovarajuih elemenata sadri sve razliite ureene parove.

    Ortogonalni latinski kvadrati: Kvadrat ureenih parova:1 2 3 1 2 3 (1,1) (2,2) (3,3)2 3 1 3 1 2 (2,3) (3,1) (1,2)3 1 2 2 3 1 (3,2) (1,3) (2,1)

    Stav: Egzistencija konane projektivne ravni reda q ekvivalentna je egzistenciji sistemaod 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 dvaortogonalna kvadrata reda 6, to je ekvivalentno tvrenju da Ojlerov problem 36 oficira

    nema reenja. Tri se da se 36 oficira, sa 6 inova i iz 6 redova vojske postroje u 6 vrstai 6 kolona tako da u svakoj vrsti i koloni budu zastupljeni svi inovi i svi rodovi.)

    Stav: Ne postoji konana projektivna ravan reda 10. (Naen je latinski kvadrat reda 10koji je imao preko 5000000 sebi ortogonalnih parnjaka, ali nijedna dva od njih nisu bilimeusobno ortogonalna.)

    Napisati program za nalaenje svih latinskih kvadrata 3. reda.

    Latinski kvadrat je kvadratna matrica u kojem je svaka vrsta i svaka kolona permutacijanekog niza razliitih elemenata (simbola). Ni u jednoj njenoj vrsti, niti koloni ne nalazese dva ista elementa.

    Npr. latinski kvadrat 3. reda:1 2 32 3 13 1 2

    /* Latinski kvadrati */domainsx=symbol

    predicates

    znak(x).resenje.

    goalresenje.

    clausesznak(1).znak(2).znak(3).

  • 7/30/2019 RacGraf Predavanja

    11/52

    resenje :-znak(X1), znak(X2), znak(X3),znak(Y1), znak(Y2), znak(Y3),znak(Z1), znak(Z2), znak(Z3),X1X2, X1X3, X2X3,X1Y1, X1Z1, Y1Z1,X2Y2, X2Z2, Y2Z2,

    Y1Y2, Y1Y3, Y2Y3,Z1Z2, Z1Z3, Z2Z3,X3Y3, X3Z3, Y3Z3,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 reenje?

  • 7/30/2019 RacGraf Predavanja

    12/52

    Crtanje u Bezijeovom nainu rada

    Crtanje slobodnom rukom spada u jednu od najee korienih tehnika u raunarskojgrafici, bar kada se radi o nekoj njenoj irokoj primeni. No, ova tehnika ne omoguavapotpunu kontrolu poloaja taaka od strane korisnika. Slobodnom rukom se u zavisnostiod pokreta ruke koja upravlja miem, ne mogu dobiti krive linije sa velikom preciznou.

    Crtanje u Bezijeovom nainu rada eliminie ove nedostatke i omoguava preciznijecrtanje krivih linija uz potpuniju kontrolu poloaja taaka od strane korisnika. U ovomreimu rada mogue je crtati:

    prave linije, krive linije i povri.

    Pjer Bezije je bavei se dizajniranjem automobila u Reno-u razvio posebnu vrstu krivihindirektno specificirajui krajnje take tangentnog vektora zadavanjem dve meutake

    koje ne pripadaju krivoj.

    Bezije je, dakle, otkrio dinamiki odnos izmeu poetne i zavrne take krive linije, i dvekontrolne take kojima se odreuje putanja od poetka do kraja.

    Svaki geometrijski oblik po Bezijeu moe da se definie konturom koja se sastoji ododreenog broja prevojnih taaka, tj. vorova i glatkih krivih linija izmeu njih. Takodefinisane konture nazivaju se Bezijeove krive.

    Kako je na ovaj nain odreena kriva linija definisana matematikom zavisnou (kubnipolinom) njena glatkoa ostaje ouvana bez obzira na rezoluciju koja se koristi i koja senaknadno moe menjati.

  • 7/30/2019 RacGraf Predavanja

    13/52

    Kod Bezijeovih krivih se specificiraju dve kontrolne take koje indirektno odreujuvektore tangente.

    Povezivanje dve Bezijeove krive linije se vri tako to je potrebno da se jedna krajnjataka iz prve krive poklopi sa jednom krajnjom takom iz druge. Da bi se kriveneprimetno spojile potrebno je da se urede spoljne kontrolne take tako da tangente u

    krajnjim takama pokazuju isti pravac.

    Da bi se uspeno koristile Bezijeove krive linije u nekom grafikom programskom alatunije neophodno ulaziti u tumaenje sloenih matematikih relacija na kojima se onezasnivaju. Tako npr. kada se u programskom paketu CorelDraw koristi alatka za crtanjeu Bezijeovom reimu rada, preko tastera mia se definie poetna i zavrna taka krivelinije i jednom se povue miem da bi se oblikovala eljena linija izmeu ovih taaka.Linija koja koja povezuje poetnu i krajnju taku tretira se kao kriva linija iji oblik moevrlo lako da se menja preko kontrolnih taaka.

    Neformalno se moe rei da se krive sastoje od putanja koje definiu njihov oblik, a

    putanje su povezane vorovima. Promena pravca krive se odraava na voru. Tepromene pravca (tzv. zaokreti) mogu biti vrlo oigledne ili toliko tanane da su skoroneprimetne. Kriva koju elimo nacrtati vrlo lako moe da se menja utiui na vorove,odnosno putanje sve dok se ne dobije kriva koju je korisnik zamislio. Obino se prvogrubo nacrta osnovni oblik, a zatim se on doteruje u nekoliko iteracija sve do postizanjaeljene preciznosti (dodaju se novi vorovi, koriste simetrini vorovi, glatki vorovi ivorovi sa vrkom).

    Bezijeove povrine se definiu skupom kontrolnih taaka (dvodimenzionalno) kojiodreuje aproksimativni oblik povrine. Povezivanje Bezijeovih povrina u jednu povrvri se tako to se one spajaju na ivicama. Ivice dveju Bezijeovih povrina se poklapajuukoliko 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 povrinemoraju leati na pravoj liniji.

  • 7/30/2019 RacGraf Predavanja

    14/52

    Digitalna geometrija

    Kompjuterska (raunarska) geometrija je skup geometrijskih disciplina okrenut realizacijina raunaru. Glavni predmet izuavanja su geometrijski algoritmi, kod kojih se postavljazahtev efikasnosti.

    Digitalna geometrija je podoblast kompjuterske geometrije koja se ograniava nadigitalne objekte objekte na celobrojnoj mrei. Sva razmatranja su ograniena natake sa celobrojnim koordinatama. Poto se kompjuterski ekran moe shvatiti kao deo2-dimenzione mree sledi da e se reavanje odreenih problema u digitalnoj ravnikoristiti u kompjuterskoj grafici za prikaz slike na ekranu.

    U digitalnoj geometriji javljaju se mogunosti za paralene teorije sa klasinomeuklidskom geometrijom.

    Npr. digitalni kvadrat se definie na jedan od sledea dva naina:

    1. kao digitalni 4-ugao koji nastaje celobrojnom aproksimacijom euklidskogkvadrata (svako teme tog kvadrata se zamenjuje najbliom celobrojnom takom)

    2. kao svaki 4-ugao ija celobrojna aproksimacija jeste kvadrat.

    Za ovako definisane digitalne kvadrate vae analogne teoreme koje vae za euklidskekvadrate.

    U digitalnoj geometriji pojavljuju se optimizacioni problemi, koji su se pojavili tekdigitalizacijom (celobrojnom aproksimacijom).

    Diskretna geometrija je geometrija u kojoj se odustalo od aksioma neprekidnosti

    (izmeu susednih ta

    aka postoji

    praznina

    ). Digitalna geometrija je uklju

    ena u ovuoblast.

    Digitalizacija

    Neka je:A euklidska konstantna slikaA` - unija svih piksela koji imaju neprazan presek sa AA`` - skup svih taaka pravougaone celobrojne mree, 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 f(S) uodreenom smislu ponaa 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

  • 7/30/2019 RacGraf Predavanja

    15/52

    Najbliu celobrojnu taku, iznad ili ispod krive.

    Ove dve eme su ekvivalentne: jedna se iz druge moe dobiti translacijom u vertikalnompravcu za . Po potrebi se kod strmo nagnutih krivih uloge x-koordinata i y-koordinatamogu zameniti.

    Prosta digitalizacija dui

    Neka je u koordinatnom sistemu (celobrojnoj kvadratnoj mrei, grid-u, rasteru) data dusa 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)] moe se definisati sledeim algoritmom:

    x:=x1;y:=y1;

    IF x y THENFOR x := x1 + 1 TO x2 DO BEGIN

    y : = y1 + m; WRITELN(x, ROUND(y)) ENDELSE

    FOR y := y1 + 1 TO y2 DO BEGINx : = x1 + 1/m; WRITELN(ROUND(x), y) END;

    Primenjena je ema digitalizacije sa zaokruivanjem. Korienjem apsolutnih vrednostiza x i y obezbeeno je da se jedinstveni algoritam digitalizacije prilagodi svakompoloaju prave u ravni.

    Sva razmatranja mogu se izvesti na I kvadrantu, pri emu se razlikuju nagibi manji i veiod 450.

    Ako je x y onda je potrebno poveati x-koordinatu za 1, a zatim zaokruivati y-koordinatu.

    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.

  • 7/30/2019 RacGraf Predavanja

    16/52

    (X,Y)i i (X+1,Y+m)i i

    (X+1,round(Y+m))i i

    Bresenhajmov algoritam digitalizacije prave

    Bresenham-ov algoritam

    Prosta digitalizacija dui ima jednu dosta veliku manu. Iako je algoritam namenjen radusa celobrojnim koordinatama, navedeni algoritam koristi i realnu aritmetiku, jer jekorieni nagib m realan broj (nastao deljenjem celih brojeva y i x , tj. m = y /x). To se negativno odraava na efikasnost izvravanja algoritma.

    Upotreba realne aritmetike potpuno je izbegnuta Bresenham-ovimalgoritmom.

    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 njimaodgovarajue 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``. Obeleimo 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)

  • 7/30/2019 RacGraf Predavanja

    17/52

    y`` = y` +1 (ordinata se podie).

    Bresenem-ov algoritam se bazira na sledeim opaanjima:

    1. Odluka o stagniranju ili podizanju ordinate na apscisi x`` donosi se na osnovu znakaveliine E(x) = (b(x) - a(x))x. Ako je taj znak pozitivan onda je taka (x``,y(x``)) bliataki (x``,y`) nego taki (x``,y`+1) pa se donosi odluka o stagnaciji ordinate priprelasku 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 moe odrediti sabiranjem ioduzimanjem celobrojnih vrednosti x i y.

    Prema tome, promena znaka veliine moe se pratiti posredstvom odgovarajuihcelobrojnih veliina, pa je otvorena mogunost za eliminaciju realne aritemetike.

    U sluaju podizanja ordinate (za E > 0) parametar E se umanjuje dodavanjem negativnecelobrojne veliine:

    2y - 2x.

    Obrnuto, u sluaju stagniranja ordinate (E < = 0) parametar E se uveava dodavanjempozitivne celobrojne veliine:

    2y.

    Implementacija Bresenem-ovog algoritma

    FOR petlja iz prethodnog algoritmaFOR x := x1 + 1 TO x2 DO BEGIN

    y : = y1 + m; WRITELN(x, ROUND(y)) ENDzameni se sa:E = 2y - 2x;FOR x := x1 + 1 TO x2 DO BEGIN

    IF (E < = 0) THEN E = E + 2yELSE 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 zadatogprozora. Kada je u pitanju isecanje teksta razlikuju se 3 nivoa:

  • 7/30/2019 RacGraf Predavanja

    18/52

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

    Glavna ideja Koen-Saderlendovog algoritma isecanja s obzirom na prozor odreenkrajnjim takama (xmin,ymin) i (xmax,ymax) sadrana je u kodiranju 9 oblasti ravni sobzirom 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)

    Unutranjost prozora je kodirana nula-vektorom. Za svaku taku ravni se formira 4-bitnikod:

    (iznad, ispod, desno_od, levo_od)

    Algoritam testira da li se razmatrana du treba u celosti da se prikae ili ne. Ukoliko tonije sluaj prelazi se na postupno odsecanje delova dui koje tre izvan prozora.

    ema Koen-Saderlendovog algoritma za du:

    IF NOT (du odbijena zato to konjunkcija binarnih kodova nije nula vektor) THENWHILE du nije prihvaena OR odbijena DO BEGINIF taka x2 je unutranja (ima kod (0,0,0,0)),a taka x1 lei van prozor THENrazmeni take x1 i x2;(* pogodno je fiksirati, npr. da je, taka x2

    spoljanja u odnosu na prozor, da bi se daljideo algoritma pisao na jedinstven nain *)

    IF taka x2 je gornja THEN skrati gornji deo dui ELSEIF taka x2 je donja THEN skrati donji deo dui ELSEIF taka x2 je desna THEN skrati desni deo dui ELSEIF taka x2 je leva THEN skrati levi deo dui;

    IF krajevi skraene dui su unutar prozora THENdu se prihvata za prikazivanje

    ELSE odbi jeEND;

  • 7/30/2019 RacGraf Predavanja

    19/52

    Algoritmi za popunjavanje mnogouglova

    Neke ideje za popunjavanje oivienih povri, unutranjosti zadatih kontura u rasteru:

    Algoritam poplave (flood fill) - rekurzivan postupak

    PROCEDURE oboji (x,y: INTEGER);BEGIN

    IF NOT (x,y) granini piksel THENBEGINdodeli boju pikselu (x,y);oboji (x+1, y);oboji (x-1, y);oboji (x, y-1);oboji (x, y+1);

    ENDEND;

    Ivini postupak - iterativni postupak

    Zrak udesno se moe realizovati petljom:

    y := y + 1;WHILE NOT (x,y) granini DO

    BEGINoboji (x, y);y := y + 1;

    END;

    Ksorovanje

    Primenom funkcije XOR razmena sadraja piksela na pozicijama cilj i izvor moe seizvriti bez posrednika.

    Funkcijom XOR se ureeni 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

  • 7/30/2019 RacGraf Predavanja

    20/52

    Rasterska i vektorska grafika

    Grafiki programi koji se koriste u dananje vreme u sutini rade na dva principa:proizvode take ili proizvode krive i prave linije na osnovu prorauna. Prvi princip svodise na slikanje a drugi na crtanje.

    Grafiki programi se prema tome, dele na dve grupe:

    na programe za rasterku grafiku (programi za slikanje, retuiranje slika, bitmapiranagrafika) i

    na programe za vektorsku grafiku (programi za crtanje).

    Rasterska grafika je pogodna za reprodukovanje fotografija i drugih slika koje sadremnogo 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 napravilnu mreu.

    Vektorska grafika je zasnovana na matematikom opisu oblika koji se mogu dobiti odkrivih (i pravih) linija. U klasu programa za rad sa vektorskom grafikom spadajuprogrami: CorelDRAW, Adobe Illustrator, Aldus Freehand i dr. Vektorska grafika dajekompaktne crtee koji su potpuno prenosivi i mogu se po potrebi poveavati ilismanjivati, te se programi za crtanje upotrebljavaju i za oblikovanje slova u raunarskimfontovima. Takvi crtei 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 saodre|enim centrom, poluprenikom, obimom, spoljnom i unutranjom bojom. Lako semoe 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 imaodre|enu boju. Te take zajedno lie na krug, ali ne nemaju osnovne osobine koje ihidentifikuju kao krug. Me|utim, krug se nee moi izmeniti a da se ne deformie. (Corel,str. 4).

    Karakteristike rasterskih programa: (Corel, str. 5)

    nepromenjena rezolucija (take na bitmapiranoj slici su fiksne veliinei na fiksnojudaljenosti jedna od druge),

    velike datoteke (kako su bit mape take one zauzimaju veliki prostor na disku ilimemoriji),

    izmene piksela (kontrola se uspostavlja nad samim takama, ne postoje nikakavematematike kontrolne take koje opisuju bitmapirane slike),

    velika realistinost (mogue je kontrolisati svaku taku i tako podraavati stvarnost).

    Karakteristike vektorskih programa: (Corel, str. 5)

  • 7/30/2019 RacGraf Predavanja

    21/52

    visoka rezolucuja odtampanog dokumenta (objekti e biti odtampani najveommoguom rezolucijom; prema vektorima i proraunima take se stavljaju to jemogue blie jedne drugima),

    bre tampanje i bre prikazivanje na ekranu (vodi se rauna o objektu u celini a neo pojedinanim pikselima, to znai da se alje puno manje podataka tampau iekranu nego neki program za slikanje),

    velika mogunost izmene (oblik objekta se odre|uje krivim linijama, vorovima idrugim kontrolnim takama kojima se moe lako upravljati),

    nedostatak realizma kod nacrtanih objekata (ne deluje stvarno kao bitmapiranagrafika).

    esto se u radu koristi kombinacija ovih grafikih programa. Npr. moe se kombinovatitekst sa sloenom vektorskom grafikom nastalom u programu za crtanje sa skeniranomslikom izmenjenom u programu za slikanje.

    Rasterske slike zahtevaju manje prevo|enje ali im datoteke mogu biti vrlo velike. Ako supotrebne iste spoljne i unutranje 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 prekopiksela, daju slike koje koriste maksimalnu rezoluciju izlaznog ure|aja na kome setampaju. Takve linije su onoliko iste i otre koliko to omoguava ure|aj zaosvetljavanje (str. 136). Ovakve linije su otrije i finije od linija dobijenih u nekomprogramu za rastersku grafiku kao to je npr. Photoshop.

    Crno-bela rasterska slika predstavlja najjednostavniju vrstu raunarske grafike. Sapoveanjem broja piksela, a smanjenjem njihove veliine dobija se vei broj detalja naslici. Kada oko vie ne razlikuje pojedinane elemente slike (piksele) vidi se samo slikakoji oni stvaraju. (str. 6)

    Osobine piksela

    U rasterskim slikama (Photoshop 3.0 korak dalje, str. 6):

    pikseli su pore|ani po gruboj mrei 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 izraenu u grafikim koordinatama x i y, to proizilaziiz konstrukcije mree. Preko adresa piksela raunar moe da locira pojedinane piksele ina taj nain da poredi slike piksel po piksel i da vie slika precizno postavi jednu preko

    druge. Takve operacije omoguavaju Photoshopu da napravi slike u koloru. Grupisanjempiksela u me|uton rasterska slika daje utisak postojanja sivih nijansi u zamenu zasmanjen broj detalja. Napravljeni su sistemi koji su radili sa sivim nijansama (broj sivihnijansi se poveao na 256=28, te se ovakve slike zovu 8-bitnim). Posle sivih nijansi bojapredstavlja logiki sled. Slika u boji se sastoji u uskla|ivanju tri ili etiri slike u sivimnijansama. 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 sivimnijansama, ija svetloa odgovara koliini osnovne boje. Tako u sluaju RGB (Red,

  • 7/30/2019 RacGraf Predavanja

    22/52

    Green, Blau) slike nivo svetloe svakog kanala odgovara nivou jedne od osnovnih bojakoje ine sliku (crvene, zelene ili plave).

    Adobe Photoshop ispod umetnike spoljanjosti krije sloen matematiki svemir. U raduse ne koristi direkto matematika ve se vizuelno komunicira sa programom. Model izradeslika 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 DRAW (crtanje), Corel PhotoPaint (obrada slika), Corel Chart (grafikoni), Corel Move (animacija), Corel Show (prezentacija), Corel Trace (vektorizacija), Corel Mosaic (izrada kataloga slika).

  • 7/30/2019 RacGraf Predavanja

    23/52

    Grafiki formati

    Dobro je poznato da je monitor rasterski ureaj i da se slika na njemu sastoji iz redova ikolona taaka, koje se nazivaju pikseli. Piksel je standardizovana jedinica za meru istokao metar ili in. Pojam rezolucije se u vezi sa monitorima tumai dvojako:

    Rezolucija ili rezolucija slike je gustina piksela na ekranu. Ona moe varirati od50 piksela/inu do 85 piksela/inu mada je opte prihvaeni standard 72piksela/inu. Postoje monitori sa veoma velikim rezolucijama od 100, 150 pa aki 200 piksela/inu ali je njihova cena veoma velika tako da su veoma retko uupotrebi.

    Raster dimenzija ili rezolucija ekrana pretstavlja veliinu slike koju monitor moeda prikae. Ona se izraava u broju piksela po irini i duini koji mogu da stanuna ekran i zavisi od monitora do monitora. Najea rezolucije koju standardni 14"(etrnest inni) monitori podravaju su od 640x480 do 1024x768 Vei monitori17 " i 21 " podravaju i vee rezolucije sve do 1600x1200.

    Rasterska grafika

    "Rasterska ili bitmap grafika, jednostavno reeno, odnosi se na grafiku proizvedenu odvelikog broja piksela" - "Graphic & Web Page Design"- Jon M. Duff and James L. Mohler.Rasterska slika se sastoji iz redova i kolona piksela sloenih 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 odreuje veliina grafike. Tu se misli naduinu i irinu slike.

    Trei bitan element za odreivanje grafike je broj boja koje nosi svaki piksel ?dubina boje. Broj boja je veoma bitan inilac za odreivanje krajnjeg kvalitetaslike i on se kree od 256 do preko 32 miliona boja.

    Vektorska grafika

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

    Tekst Linije (krive i prave) Pravougaonici ili kvadrati

    Krugovi ili elipse

    Boja se kod vektorske grafike odreuje po dimenzijama povrina objekata iz kojih sesastoji grafika, tako to kod, koji ide sa slikom, govori programu koja boja se nalazi ukojim dimenzijama poligona. Prednost vektorske grafike je, to se veoma lako vripromena njene veliine bez gubitka na kvalitetu. To je mogue poto je vektor grafika,kao to je ve reeno, skup matematikih jednaina prenesenih na ekran, tako da

  • 7/30/2019 RacGraf Predavanja

    24/52

    preraunavanjem jednaina po novim parametrima dobijamo efekat poveanja ilismanjenja.

    Najoptije gledano, sve grafike formate koji se javljaju na Internetu moemo podelitina:

    2D formate i 3D formate.

    2D formati

    Grafiki elementi korieni na Webu su uglavnom u bitmap obliku, s obzirom na slabupodranost vektorske grafike. Postoji na stotine formata u kojima se bitmape zapisuju iitave knjige su napisane o njima. Osnovne karakteristike svih formata su nivo korienekopresije (u skladu sa tim veliina datoteke) i kvalitet slike.Ovde e biti dat preglednajeih formata, sa malo irim osvrtom na najvanije, koji se upotrebljavaju na Web-u.

    Formati koji se najee 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 podatakaali istovremeno uspeva da sauva kvalitet slike. TIF daje prilino male datotekesa obzirom na kvalitet koji prua.

    EPS (Encapsulated Postscript) koristi postskript jezik tampaa koji je razvilafirma Adobe.Ogranienje je da tampa mora podravati postskript jezik. U ovomformatu se ne koristi kompresija tako da su datoteke prilino velike.

    BMP (Bitmap) je standardni format po kome je cela grupa formata dobila ime.Takoe ne koristi kompresiju, ali su datoteke u tom formatu opet znaajnomanje od EPS formata. Moe se rei da je ovo format veoma iroko korien uWindows okruenju.

    PICT (Macintosh Picture File) je standardni format za Macintosh platforme. Zanjega je zanimljivo da moe biti vektorski ili rasterski format. Ne preporuuje seza korienje, osim na Mac platformama.

    WFM (Windows Meta File) je ekvivalent PICT formatu, samo za Windowsplatforme. Takoe podrava i vektorski i rasterski oblik grafike.

    GIF

    Graphics Interchange Format je bitmap, platformski-nezavistan format kreiran od straneservisa Compuserve mree. GIF podrava do 256 boja (8 bita), a veliina datoteke jeodreena brojem boja i veliinom piksela. Veliina datoteke se smanjuje korienjemLZW (Lempel-ZivWelch) algoritma za kompresiju podataka, bez gubljenja na kvalitetu.Ovaj algoritam omoguava istovremeno dekompresovanje i uitavanje datoteke. Sve ovo

  • 7/30/2019 RacGraf Predavanja

    25/52

    ini ovaj format idealnim za korienje na Web dokumentima za odreene specifineelemente kao to su : dugmad, grafika zasnovana na tekstu ili bilo koja grafika koja nezahteva 24-bitnu paletu boja.

    Za razliku od drugih popularnih formata, kao to je JPEG, GIF podrava mnoge veomakorisne osobine.

    Transparentnost Interlace mod GIF Animacije

    Transparentnost je veoma korisna osobina koja se iroko koristi na Web-u. Dizajner je umogunosti da jednu od boja proglasi transparentnom ili nevidljivom (Slika1.). Obino sepozadinska boja proglasi za transparentnu i na taj nain se dobijaju veoma dobri efekti

    jer grafika izgleda kao sastavni deo stranice.

    Kod korienja ovog efekta mora se voditi rauna o nekoliko stvari da bi krajnji rezultat

    bio zadovoljavajui.

    Mora se paljivo izabrati transparentna boja, da se ne bi desilo da sa pozadinom ineke druge delove slike (sa istom bojom kao pozadinska) uinimo nevidljivim.

    Ako transparentna grafika ima primenjen anti-alias efekat videe se okvir okografike jer samo jedna boja moe biti transparentna. Reenje je jedino da se zagrafike 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 dapri uitavanju grafike browser na njeno mesto stavlja prazan okvir, dok se grafika upotpunosti ne prenese. Ovo, nekad, moe da bude prlino dosadno i ne-esteski,pogotovo kada se radi o veim grafikim datotekama. Da bi se to spreilo koristi seinterlace mod koji poinje prikazivanje grafike na 1/8 krajnje rezolucije i nastavlja svedok se itava datoteka ne prenese i prikae. Prikazivanje slike ide u nekoliko prolaza.

    GIF animacija je jo jedna, veoma efektna, mogunost koju prua ovaj format.Animacije se prave kao serija GIF slika, koje se prikazuju jedna za drugom i na taj nainstvaraju efekat pokreta. Kreiranje ovakvih datoteka je prilino jednostavno tako da suone iroko zastupljene na Web-u kao banneri (slue u reklamne svrhe) ili drugi grafikielementi kojima je svrha da privuku panju.

    Na kraju, potrebno je zapamtiti da u radu sa GIF formatom treba koristiti najvie 256boja, koliko je i podrano. U suprotnom, moe doi do pojave zvane ditering, kada

    sistem pokuava da u paletu od 256 boja uklopi vei broj boja (16,7 miliona). To moeda izazove prilino neoekivane i rune efekte.

    JPEG

    Joined Picture Expert Group - JPEG ili JPG je format koji je u veoma irokoj upotrebi naWeb-u, a naroito za vee slike. To je takoe format koji se moe koristiti na vieplatformi a njegova glavna prednost u odnosu na GIF je korienje 16.7 miliona boja

  • 7/30/2019 RacGraf Predavanja

    26/52

    (24-bita) i primenjeni lossy algoritam kompresije koji viestruko smanjuje veliinu JPEGdatoteke, ali utie na kvalitet slike. Na ovaj nain moemo dobiti veoma kvalitetne slikekoje nisu mnogo velike, tj. nije im potrebno dosta vremena za uitavanje i ba to jeglavni razlog veoma velike popularnosti ovog formata.

    Kompresija je metod koji smanjuje veliinu grafikih datoteka. Svi grafiki elementi naInternetu moraju biti preneseni preko mree, tako da je kompresija neophodna da bismanjili vreme uitavanja. Na drugoj strani, kod tampanja grafike esto je veoma bitnoda grafika zadri kvalitet, bez obzira na veliinu datoteke. U te svrhe je bolje koristitiformate koji upotrebljavaju lossless tehniku kompresije, koja uva kvalitet slike. Jedanod takvih formata je TIF.

    Kada se slika kompresuje, izdvajaju se podaci o svakom pikselu iz koda slike i smetajuse u matricu. Ideja je da se svakoj boji, koja je koriena, pridrue svi pikseli koji nosetu boju. Tako npr. ako imamo crnu liniju, kod bez kompresije bi definisao svaki piksel injegovu boju, dok bi kompresovan kod uzeo ceo red i dodelio mu crnu boju. Na ovomprimeru 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 moeodreivati nivo kompresije koji elimo. Obino je to dato u skali 1 - 10 ili procentualno1% - 100 %. Problem je to se veom kompresijom gubi na kvalitetu slike, tako da semora voditi rauna o odnosu kvalitet - kompresija. Dizajneri Web-a esto naukompromis tako da se loiji kvalitet slike izazvan kompresijom ne primeuje na ekranumonitora.Postoje dodaci za postojei software za obradu slika, koji JPEG formatu daju mogunostida 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 grafikihdatoteka, optimizovan za upotrebu na Internetu. Opte miljenje je, da je ovaj formatbudunost Web grafike. On predsatavlja kobinaciju najboljih karakteristika GIF i JPEGformata. Najvanije odlike PNG formata su:

    Podrava grayscale, 8-bitne, 24-bitne i 48-bitne vrste slika Korien je napredan losseless algoritam kompresije, koji daje odline

    rezultate.Nivo kopresije se moe menjati, a korienjem dodatnih filtera zakompresiju (moe ih biti pet) postiu se zapanjujui rezultati u smanjivanjuveliine komprimovane datoteke

    Varijabilna transparentnost je takoe podrana. To znai, da za razliku od GIFformata, gde piksel moe biti transparentan ili ne, kod PNG-a uvodi 254 nivoatransparentnosti

    Koristi se Gama korekcija koja ispravlaj razlike u izgledu grafike, koje se javljajukod razliitih platformi. (vidi poglavlje 3.)

    Interlaced nain prikazivanja koji je znatno unapredjen u odnosu na drugeformate koji podravaju sline naine prikazivanja(GIF i Progressive JPEG)

  • 7/30/2019 RacGraf Predavanja

    27/52

    Prema svemu iznetom, moe se zakljuiti je da je PNG grafiki format superioran meusvim formatima koji se koriste na Internetu.U njemu su implementirane najbolje osobinesvih ostalih formata (pre svega se misli na GIF i JPEG). Ali PNG jo uvek nije u irokojupotrebi meu korisnicima, a takoe nije podran u itaima na pravi nain. Ostajenada, da e se to u skorije vreme promeniti i da e ovaj format zauzeti visoko mesto,koje po svojim karakteristikama nesumnjivo zasluuje.

    3D formati

    Kao to je ve ranije pominjano, jedna od glavnih karakteristika kod 2D grafikihformata je stepen primenjene kompresije. Ova osobina je kod 3D formata jo izraenijasamim tim to su video datoteke viestruko vee, u odnosu na obinu 2D grafiku.Primenjuje se kompresija nad pojedinanim slikama, kao i nad nizom slika. Sve tehnikekompresije koriste algoritam "codec" (Compressor/Decompressor). Stopa kompresije sedefinie kao odnos veliine datoteke pre i posle kompresije, i najee se kree od 2:1do preko 200:1.

    Svi 3D grafiki format se prilino razlikuju, jer daju razliit kvalitet animacije i drugustopu kompresije. Postavlja se pitanje koji je od njih najbolji? Odgovor na ovo pitanje jeprilino teko dati, poto zavisi od mnogo faktora kao i od vrste raunarske platforme. Usvakom sluaju, najpopularniji su sledei formati:

    AVI ili Video for Windows je format napravljen radi distribucije video materijala uwindows okruenju. Ovaj format dozvoljava nekoliko razliitih codec-a zakompresiju datoteke. U principu, svi ti algoritmi daju veoma sline rezultate, takoda e prosean korisnik veoma teko primetiti razliku. Najpopularniji codec-i suCinepak - bolji je za kompresiju animacija koje se sastoje od nekoliko boja. Drugialgoritam je Indeo - koristi se za kompresiju video materijala koji sadri iroku

    paletu boja. Oba algoritma su lossy,to zna

    i da se kvalitet materijala smanjujesa veim stepenom kompresije.

    Apple QuickTime - MOV je prvi format koji se pojavio na tritu, i u sutini jeveoma slian AVI formatu. Ovaj format je namenjen korisnicima Macintoshplatformi. Takoe koristi Cinepak i Indeo codec-e.

    MPEG je najmlai format na tritu, ali zbog svojih kvaliteta (zadovoljavajuegkvaliteta slike i relativno male veliine datoteke) je veoma iroko rasprostranjen.Kod ovog formata algoritam kompresije je unapred zadat i ne moe se menjati.MPEG-1 kompresija je bazirana na prostornoj i vremenskoj komponentikompresije. Vremenska komponenta se oslanja na slinost dve sukcesivne slike ikoristi predvianje i kompenzaciju pokreta, dok je prostorna kompresijausmerena prema otklanjanju monotonih delova u okviru jedne slike (DCT

    transformacijom, kvantizacijom i entropijskim kodiranjem). MPEG - 2 je nastaokao odgovor na potrebu za generikim metodom kodiranja pokretnih slika iukljuivanja zvuka. Bitna razlika u odnosu na predhodni standard je podrkakonceptu preplitanja - interlace.

    Formati datoteka

  • 7/30/2019 RacGraf Predavanja

    28/52

    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)Slui kao standard nezavisan od platforme. Veliki je komunikator. Nudi kompresiju bezgubitka.

    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 moe da odtampa.Zauzima puno prostora.

    BMP (BitMaP)Primarni format za Windows grafiku, a podravaga ga i OS2. Generiki format slike.Opcija 1 bit podrazumeva da slika sadri dve boje, 4 bita - 16 boja, 8 bita - 256 boja i 24bita - 16.800.000 boja.

    PSDOvo 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 podrava ni TIFF ni JPEG

    snimiti je u formatu EPS.

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

    AIFormat Afobe Illustrator-aDXFFormat AutoCadCGMFormat 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 moe iz Corel-a da se izveze i u formatima:

  • 7/30/2019 RacGraf Predavanja

    29/52

    WMFFormat Windows MetaFileGEM

    Format koji moe koristiti Ventura, ali zastareo.HPGLFormat za posebne poslove, koji je pogodan za slanje ploterima

    Npr. Corel Trace vri vektorizaciju: bitmapirane formate (TIF, PCX, PCC, BMP, GIF, TGA)prevodi u EPS format.

  • 7/30/2019 RacGraf Predavanja

    30/52

    Anti-alising

    Ako se izbliza pogleda grafika na monitoru raunara (PC), primetie se take od kojih suobjekti napravljeni. Ako je objekat nacrtan pod odgovarajuim uglom, ivice objektamogu izgledati izlomljeno. Tekst, a posebno onaj koji je raen u velikim fontovima,moe izgledati prilino runo.

    Na sledeoj slici prikazana su uveanja linija i delova teksta. Jasno su vidljive isprekidanelinije. Ti prekidi se nazivaju aliasing.

    Aliasing se pojavljuje kada se prikazuje podaci u rezoluciji koja nije dovoljno velika zaprikazivanje svih vanih informacija. Veina kompjuterskih monitora ima rezoluciju od 96taaka po inu. Kada se prikae neki objekat na monitoru, njegova rezolucija je 96taaka po inu. Meutim, nae oi mogu da razlue mnogo veu rezoluciju. Ovo dovodido pojave aliasinga.

    Alialising se ne pojavljuje uvek. Na primer, kada se crtaju vertikalne ili horizontalne linijena ekranu. Take od kojih se sastoje ove linije sadre dovoljno vanih informacija, takoda linije izgledaju glatko.

    Drugi efekat koji proizilazi iz aliasinga je taj, da horizontalne i vertikalne linije izgledajutamniije od dijagonalnih.

    Na sledeoj slici prikazano je nekoliko vertikalnih i horizontalnih linija. Ako su ove linjeprikazane na monitoru sa rezlocijom od 96 taaka po inu, vertikalne i horizontalne linijee sadrati 96 taaka po inu. Poto su dijagonalne linije nacrtane pod uglom od 45

  • 7/30/2019 RacGraf Predavanja

    31/52

    stepeni, one e sadrati samo 2

    96

    taaka ili priblino 68 taaka po inu. Stoga edijagonalne 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 vae i za Visual Basic.

    Reavanje aliasing problema

    Na sledeoj slici (slici 3.) prikazana je izbliza kratka crna linija irine jedne take. Ivicaprikazuje lokaciju taaka na ekranu. Najlaki nain da se ovo nacrta jeste da se zatametake koje lee najblie centru linije kao na slici 4. Ovaj metod je jednostavan i brz.Naalost on moe prouzrokovati aliasing.

    slika 3 slika 4.

    Bolje reenje je oseniti svaku taku kroz koju linija prolazi sa stepenom koji jeproporcionalan 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 je40% od crne. Na slici 5. prikazana je linija koja je nacrtana na ovaj nain.

    slika 5.

    Ako se pogleda izbliza, linija e izgledati udno. Meutim, pogled sa normalneudaljenosti e imati zadovoljavajue efekte, tj. aliasing e biti redukovan.

    Supersampling

  • 7/30/2019 RacGraf Predavanja

    32/52

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

    Potrebno je izraunati procenat svake take koju prekriva objekat i nijansirati takuodgovarajuim iznosom. Meutim, u ovom sluaju matematika i te kako stoji iza ovekalkulacije. Mnogo je komplikovanije ako se eli izvesti anti-aliasing tekst karaktera kadase moda i ne znaju take tih karaktera.

    Supersampling ili postfiltering obezbeuju alternativni metod za anti-aliasing koji jemnogo jednostavniji za implementaciju. Supersampling je trostepeni proces, mada se upraksi drugi i trei korak obino odvijaju u isto vreme.

    1. Kao prvo, moe se napraviti slika u poveanoj rezoluciji. Na primer, umesto da senapravi sliks sa 96 piksela po inu, generie se sa 192 piksela po inu.

    2. Zatim se primeni tkz. LowPass filter da bi se uklonili visokofrekventne informacijekoje 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.Meutim, takav metod nije praktino mogue primeniti kada je u pitanju Delphi, VisualBasic ili neki slini programski jezik.

    U Delphiju i Visual Basicu ne postoji nain za kreiranje slike poveane rezolucije. Vrlo jekomplikovano napisati program koji odreuje koja taka e biti koriena kada se crta urezoluciji 192 take po inu. Meutim, ne mora se kreirati vie taaka po inu. Jedino to

    je potrebno je da slika koristi vie taaka.

    Jednostavan nain da se postignete ovaj cilj je da se slika nacrta u veliini koja je veanego normalna. Umesto crtanja slike u mnogo veoj rezoluciji, crtae se u normalnojrezoluciji, ali sa dva puta veom veliinom. Poto se na taj nain dobije dva puta vietaaka po X i Y pravcu, ovaj pristup e dati etiri puta vie taaka u slici. Mogu sekreirati uveane slike korienjem Delphijeve crtake komande MoveTo, LineTo, Circle,Ellipse i ostale ili kod Visual Basica Line, Circle i Print metode.

    Antialiasing je tehnika za izglaivanje nazubljenih linija, ivica i sl. Ovim procesom sepostiu meke ivice tako to se interpoliraju novi pikseli sa srednjom vrednou boja.

    U skorije vreme se na PC raunarima koristi i hardverska implementacija metodeantialising. Ovakva tehnologija omoguava ispravljenje greaka koje su se pojavljivalezbog aliasing efekta i daje lepe i realnije scene. Hardverski je implementirana tzv.

    metoda edge antialising. Inenjer Gary Tarolli je za PC raunare konstruisao T-bufferkoji predstavlja varijantu antialiasing-a koja se koristi na skupim radnim stanicama.

  • 7/30/2019 RacGraf Predavanja

    33/52

    Kornjaina grafika (Turtle graphics)

    Prelazak iz tekstualnog reima rada u grafiki reim rada na Turbo PROLOG-u se vripomou predikata graphics. Kada se pree u grafiki nain rada ekran se obrie i"kornjaa" (turtle) se postavlja u sredinu ekrana. Pomou ugraenih standardnihpredikata moe se odrediti pozicija kornjae, pravac i smer njenog pomeranja, kao imogunost crtanja, tj. ostavljanja traga njenog kretanja u odreenoj 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 polovestranice veeg kvadrata. Prema tome, ako se sa a obelei duina stranice veegkvadrata, onda se duina stranice manjeg kvadrata koja je obeleena sa b, dobija: b= a / 2 .

    Predicates

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

    goalgrafik.

    clausesgrafik :- 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 moese obeleiti sa krug i realizovati na sledei nain:

    predicateskrug

  • 7/30/2019 RacGraf Predavanja

    34/52

    goalgraphics(2,1,0), krug.

    clauseskrug:-forward(100), right(1), krug.

    Primer 3.

    Prikazati na ekranu jednakostranini mnogougao. Broj uglova unosi korisnik.

    predicatesgrafik.rekurz(integer,integer).

    goalgrafik.

    clausesgrafik :-

    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 jednakostraninitrougao. Kada se za broj uglova unese 4 (En=4) bie prikazan kvadrat, za En=5prikazae se jednakostranini petougaonik, za En=6 bie prikazan jednakostranini

    estougaonik, itd.

    Primer 4.

    Prikazati na ekranu zvezdasti mnogougaonik.

    predicatesgrafik.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).

  • 7/30/2019 RacGraf Predavanja

    35/52

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

    Kada se za argumente ovog predikata unesu vrednosti unos(190,10000) na ekranuraunara e se prikazati sledea slika.

  • 7/30/2019 RacGraf Predavanja

    36/52

    Neki poznati problemi

    KENINGSBERKI MOSTOVI

    Preko reke koja protie kroz grad Keningsberg (dananji Kaljingrad) i koju ostrvo A deli

    na dva rukavca, postoji sedam mostova a, b, c, d, e, f, g. Da li je mogue pre

    i svemostove ne prelazei ni preko jednog dva ili vie puta?

    Reenje:

    Ovaj zadatak je postavio i reio Leonard Ojler u XVIII veku. On je pokazao da sezadatak o keningsberkim mostovima svodi na zadatak o crtanju mree u ravni u

    jednom potezu (ne podiui olovku sa hartije), ne prelazei po ve povuenoj liniji.Takva jedna zatvorena mrea, koja se sastoji od taaka (vorova) i linija koje spajajuove take, a ne presecaju se meusobno, mogu se predstaviti pomou grafa. Dva vora

    grafa zovu se susedna ako su spojena linijom. Za grafove koji se mogu nacrtati napomenuti nain kae 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 keningsberkih mostova ima 4 vora neparnog stepenatako da, na osnovu Ojlerove teoreme, prelaz preko sedam keningsberkih mostova nijemogue izvriti u jednom potezu.

    Primena Ojlerovih puteva je u organizaciji pojedinih slubi (npr. po

    te) velikih gradova.

  • 7/30/2019 RacGraf Predavanja

    37/52

    AC B

    D

    a

    b

    c

    d

    fg

    e

    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 potezumogu prei svi mostovi, ne prelazei dva ili vie puta nipreko jednog?

    Graf za ovaj zadatak ima dva neparna vora (D i E), dok su svi ostali vorovi parni. Naosnovu Ojlerove teoreme sledi da se postavljeni zadatak moe reiti i to polazei iz

    jednog od vorova D ili E.

    Prelaz se moe 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.

  • 7/30/2019 RacGraf Predavanja

    38/52

    AC

    B

    D

    p

    n

    h

    g

    ki

    m

    El

    q

    de

    f

    b

    c

    a

    F UVARI MUZEJA

    Ako galerija ima n zidova, koliko je najmanje uvara potrebno da bi oni mogli potpunoda kontroliu celokupan prostor galerije?

    Reenje problema vezano je za Hvatalovu teoremu.

    Vaeh Hvatal (Univerzitet Mekgil u Montrealu, Kanada) dokazao je da ako galerijaima n zidova (tj. ako obrazuje n-tougaonik), tada je minimalan broj uvara koji jepotreban da nadgleda celu galeriju jednak celobrojnom delu n/3.

  • 7/30/2019 RacGraf Predavanja

    39/52

    Galerija od n strana se posmatra kao n-tougaonik, koji se moe podeliti na trouglovepomou nepresecajuih dijagonala koje spajaju njegova temena (tzv. triangulacija).Temena dobijenog grafa se oboje tako da ona koja pripadaju istoj dui budu obojenarazliitim bojama.

    Koristei metod matematike indukcije moe se dokazati da je za ovakvo bojenjedovoljno 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 trianguliranogn-tougaonika G(n>3).

    Ako se posmatra mnogougaounik G sa (n+1)-stranom koji se dobija iz G tako {to seumesto strane (zida galerije) AB posmatraju pridodate strane (zidovi) AC i CB. Poinduktivnoj pretpostavci temena trianguliranog n-tougaonika G su obojena pomou triboje. Temena A i B lee na istoj dui tako da su obojena razliitim bojama. Ako se temeC 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 trirazliite boje: a, b i c tako da meusobno povezana temena budu obojena razliitimbojama.

    Neka Na, Nb i Nc oznaava broj temena obojenih redom bojama a, b i c. Ako je n brojstrana trianguliranog mnogougaonika, moe se primetiti da razlika izmeu 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; usuprotnom 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 temenapostave uvari oni e kontrolisati itavu galeriju, jer e na ovaj nain kontrolisati svakiod trouglova na koje je podeljen n-tougaonik.

    A

    C

    B

    G

    G'

  • 7/30/2019 RacGraf Predavanja

    40/52

    Reenje 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 sloen i ini udne ornamente.Aproksimativno se moe uzeti da ravanski presek ovih prostorija ima oblikmnogougaonika.

  • 7/30/2019 RacGraf Predavanja

    41/52

    Teorija boje

    Boja ima dva znaenja i predstavlja:

    Subjektivni ovekov oseaj koji se javlja prilikom posmatranja svetlosti, odnosno Supstancu koja sadri pigmente.

    Boje se mogu opisati objektivnim i subjektivnim parametrima.

    Objektivni parametri boje:

    Talasna duina, istoa, Svetlosni fluks.

    Talasna duina i istoa odreuju hromatinost svetlosti, tj. oseaj boje.

    Objektivnim parametrima odgovaraju subjektivni parametri boje:

    Ton boje ili stepen obojenosti (Hue) odgovara talasnoj duini, Veliina zasienja (Saturation) odgovara istoi boje, Svetlina boje (Brightness) odgovara svtlosnom fluksu.

    Metod opisivanja boje subjektivnim faktorima obeleava se sa HSB. Veliina zasienjapredstavlja stepen odstupanja neke boje od sive boje iste svetline. Zasienje je obrnutosrazmerno udelu sivog u boji. Potpuno zasiena je ona boja koja ne sadri sivu, takve suspektralne 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 narandasta (= 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:

  • 7/30/2019 RacGraf Predavanja

    42/52

  • 7/30/2019 RacGraf Predavanja

    43/52

    Y

    R G B

    R G

    M C

    R

    RR

    G

    GG B

    B

    B

    B

    B

    B BBB

    YMYY

    R

    R R R R G G G G

    G

    C

    C

    MCM

    crna boja(Black)

  • 7/30/2019 RacGraf Predavanja

    44/52

    Transformacija slika u raunarskoj grafici

    Osnovne afine transformacije u 2d

    U okviru ove nastavne jedinice, bie obraene sledee transformacije:

    1. Translacija2. Skaliranje u 2D3. Rotacija oko koordinatnog poetka4. Smicanje u 2D5. Afina transformacija=linearna+translacija6. Homogenizacija afinih transformacija

    Translacija

    Translacija je odreena parom odgovarajuih taaka A i A. Radijus vektor (x,y) takeA odreuje 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 nezavisnopodeavanje odnosa veliina jedininih podeoka na razliitim koordinatnim osama.Matrica skaliranja, sa parametrima (argumentima) a i b je dijagonalna matrica:

  • 7/30/2019 RacGraf Predavanja

    45/52

    ( )

    =

    b

    abaH

    0

    0,

    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 takaA(x,y) preslikava na taku A(x,y) i neka je sa oznaen ugao koji poluprava OAodreuje sa pozitivnim krakom x-ose. Prema slici . vai:X=r cos y=r sin x=r cos(+) y=r sin(+)

    Primenom adicionih formula dobija se:

  • 7/30/2019 RacGraf Predavanja

    46/52

    X= r coscos - r sinsin = xcos - ysinY= r cossin + rsincos = xsin + ycos

    Moe da se zapie i A=A pri emu je matrica rotacije:

    ( )

    =

    cossinsincosR

    Smicanje u 2D

    Smicanje u pravcu neke ose je afina transformacija kojom se sve take ravni pomerajuparalelno toj osi, u jednom od dva mogua smera, za duinu koja je srazmerna njihovomodstojanju od ose. Ako sa A1 oznaimo sliku take A pri smicanju i sa A podnojenormale iz take A na razmatranu osu, onda veliinu smicanja odreujemo kao veliinuorijentisanog ugla

  • 7/30/2019 RacGraf Predavanja

    47/52

    =

    1

    01

    tgSxa

    Afina transformacija= linearna+translacija

    Postojanje upravo uvedenih matrica R(), H(a,b) i Sx() samo po sebi govori da surotacija oko koordinatnog poetka, skaliranje i smicanje linearne transformacije i usluaju kada se primenjuju nehomogene koordinate. to se tie translacije, videli smo daona pri radu sa nehomogenim koordinatama nije linearna transformacija. Sa drugestrane, translacija je svakako afina transformacija, budui da uva paralelnost pravih.Ispostavlja se da opta afina transformacija u euklidskom prostoru (u kome koristimonehomogene koordinate) moe da se definie kao kompozicija linearne transformacije L itranslacije T(a) za neki vektor a. Pritom vai:

    T(a)L=LT(aL)

    Na primer, ako se sa L oznai rotacija oko koordinatnog poetka za neki ugao a, onda naslici vai

    X=XT(a) , Xn=XL, Xm=XT(a)L=XLT(aL)

  • 7/30/2019 RacGraf Predavanja

    48/52

    Homogenizacija afinih transformacija

    Nakon homogenizacije, translacija za vektor (x,y) moe da se realizuje dejstvommatrice:

    ( )

    =

    1

    010001

    ,

    yx

    yxT

    Dok matrice R(), H(a,b) i Sx() redom dobijaju sledei izgled:

    100

    0cossin

    0sincos

    100

    00

    00

    b

    a

    100

    01

    001

    tg

  • 7/30/2019 RacGraf Predavanja

    49/52

    Zadatak

    Taka P(3,4) se rotiranjem za ugao = 45 oko take Q (1,2) prevodi na lokacijuP1(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 faktorimaskaliranja 2 i 1.5, redom po x i y osi. Odrediti matricu translacije i novu lokaciju P3(x3,y3)

    =

    =

    121

    010

    001

    *

    100

    071.071.0

    071.071.0

    *

    121

    010

    001

    121

    010

    001

    *

    100

    04

    cos4

    sin

    04

    sin4

    cos

    *

    121

    010

    001

    =

    113.071.1

    071.071.0071.071.0

    121

    010001

    *

    113.271.0

    071.071.0071.071.0

    [ ] [ ] [ ]184.41

    113.071.1

    071.071.0

    071.071.0

    *143111 =

    =yx

    P1(1,4.84)

    [ ] [ ] [ ]

    ( )

    =

    =+=

    =+=

    ++=

    =

    116.42

    010

    001

    16,.4,2

    16.484.49

    211

    184.41

    1

    010

    001

    *184.41191 `

    T

    DD

    DD

    DD

    DD

    yy

    xx

    yx

    yx

    =

    =

    15.11

    05.10

    002

    131

    010

    001

    *

    15.42

    05.10

    002

    131

    010

    001

    *

    100

    05.10

    002

    *

    131

    010

    001

  • 7/30/2019 RacGraf Predavanja

    50/52

    [ ] [ ] [ ]1121

    15.11

    05.10

    002

    191133 =

    ==yx

    P3(-1, 12)

  • 7/30/2019 RacGraf Predavanja

    51/52

    Transformacije u 3D grafici

    Translacija u 3D

    P` = P * T

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

    Skaliranje u 3D

    P` = P * S

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

    Matrica skaliranja S:

    Rotacija u 3D

    P` = P * R

    [ ]1zyxP=[ ]1```` zyxP=

    1000

    000

    000

    000

    Sz

    Sy

    Sx

    [ ] [ ] Szyxzyx *11``` =

    [ ]1zyxP=

    [ ]1```` zyxP=

    1

    0100

    0010

    0001

    DzDyDx

    [ ] [ ] Tzyxzyx *11``` =

    [ ]1zyxP=[ ]1```` zyxP=

  • 7/30/2019 RacGraf Predavanja

    52/52

    Ugao rotacije (obrtanja) meri se u smeru koji je suprotan smeru kretanja kazaljke naasovniku.

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

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

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

    1000

    0cossin0

    0sincos0

    0001

    10000100

    00cossin

    00sincos

    1000

    0cos0sin

    0010

    0sin0cos