rač unarska grafika - tfzr predavanja.pdf · ekranski pikseli obično imaju prečnik od 1/72 inča...

Download Rač unarska Grafika - TFZR Predavanja.pdf · Ekranski pikseli obično imaju prečnik od 1/72 inča (0,35mm). ... 2 3 1 3 1 2 /* Latinski kvadrati */ domains x=symbol predicates znak(x)

If you can't read please download the document

Upload: dangquynh

Post on 06-Feb-2018

227 views

Category:

Documents


3 download

TRANSCRIPT

  • 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 vie 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 definie 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, poboljanje kvaliteta ili promena sadr aja)

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

  • GKS predstavlja posrednika izme u aplikativnog programa i grafike opreme raunarskog sistema. Standrad definie 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 savreni kvadrati. Svaki piksel na raunarskoj slici je savren kvadrat, na savrenoj 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 (vie 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 obriu neki od njenih piksela rezolucija se smanjuje. to su pikseli koji ine sliku manji, to je vie detalja koje oni mogu da prika u, a to je vie detalja to je vea rezolucija slike. (Photoshop 3.0 korak dalje, str. 6) Kako se

  • smanjuje veliina piksela potrebno je mnogo vie 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 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 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 P B T A A Q 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 P B S T A A Q lim 2 arc tg e x/k = 2 arc tg e 0 = 2 arc tg 1 = /2 k Klain je naao potpunu interpretaciju cele ravni Lobaevskog. Klain je uvo enjem svog modela re io problem neprotivurenosti geometrije Lobaevskog. Ako imamo neku konturu K, tada njena unutranjost 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 karakterie 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

  • Projektivna geometrija Koordinatni sistemi Polo aj neke take na pravoj, u ravni, u prostoru mo e da se zapie uz pomo pogodno odabranih brojeva, tzv. koordinata. Koordinate uspostavljaju most izme u geometrije i aritmetikei 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

    Kona ne 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 prava 2. Za svake dve razne prave tano jedna zajednika taka 3. Postoji potpun 4-temenik 4. 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: Kvadrat ure enih 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 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 reenja. 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), 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?

  • Crtanje u Bezijeovom na inu rada Crtanje slobodnom rukom spada u jednu od najee korienih 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 miem, ne mogu dobiti krive linije sa velikom preciznou. Crtanje u Bezijeovom nainu rada eliminie 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 zavrne 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 definie 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 zavisnou (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 uspeno 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 mia se definie poetna i zavrna taka krive linije i jednom se povue miem 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 definiu 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 vrkom). Bezijeove povr ine se definiu 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 reavanje 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 definie 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 f(S) u odre enom 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

  • 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. Korienjem 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 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.

  • (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 du i ima jednu dosta veliku manu. Iako je algoritam namenjen radu sa celobrojnim koordinatama, navedeni algoritam koristi i realnu aritmetiku, jer je korieni nagib m realan broj (nastao deljenjem celih brojeva y i x , tj. m = y / x). To se negativno odra ava na efikasnost izvravanja 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)

    Unutranjost 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 unutranja (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

    spoljanja 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, unutranjosti 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 dananje 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 unutranjom 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 deformie. (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 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 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 vie 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 vie 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 spoljanjosti 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 DRAW (crtanje), Corel PhotoPaint (obrada slika), Corel Chart (grafikoni), Corel Move (animacija), Corel Show (prezentacija), Corel Trace (vektorizacija), Corel 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. Najea 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 korieni 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 koriene kopresije (u skladu sa tim veliina datoteke) i kvalitet slike.Ovde e biti dat pregled najeih formata, sa malo irim osvrtom na najva nije, 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 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 korien 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 korienje, 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 korienjem 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 korienje 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 korienja 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. Reenje 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 najvie 256 boja, koliko je i podr ano. U suprotnom, mo e doi do pojave zvane ditering, kada sistem pokuava 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 vie platformi a njegova glavna prednost u odnosu na GIF je korienje 16.7 miliona boja

  • (24-bita) i primenjeni lossy algoritam kompresije koji viestruko 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 koriena, 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 Korien je napredan losseless algoritam kompresije, koji daje odline

    rezultate.Nivo kopresije se mo e menjati, a korienjem 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 viestruko 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 definie kao odnos veliine datoteke pre i posle kompresije, i najee 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 teko 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 teko 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 podrka 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

  • stepeni, one e sadr ati samo 296

    taaka ili pribli no 68 taaka po inu. Stoga e 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 reenje 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, generie 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 koriena kada se crta u rezoluciji 192 take po inu. Me utim, 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 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 vie taaka po X i Y pravcu, ovaj pristup e dati etiri puta vie taaka u slici. Mogu se kreirati 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 izgla ivanje nazubljenih linija, ivica i sl. Ovim procesom se posti u meke ivice tako to se interpoliraju novi pikseli sa srednjom vrednou boja. U skorije vreme se na PC raunarima koristi i hardverska implementacija metode antialising. Ovakva tehnologija omoguava ispravljenje greaka koje su se pojavljivale zbog aliasing efekta i daje lepe 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 obrie 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

    grafik. dkvadrat(integer). kvadrat(integer). goal 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 graphics(2,1,0), krug. clauses 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 unos(190,10000) na ekranu raunara e se prikazati sledea slika.

  • 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 prei sve mostove ne prelazei ni preko jednog dva ili vie puta?

    Reenje: Ovaj zadatak je postavio i re io Leonard Ojler u XVIII veku. On je pokazao da se zadatak o keningsberkim 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 keningsberkih mostova ima 4 vora neparnog stepena tako da, na osnovu Ojlerove teoreme, prelaz preko sedam keningsberkih mostova nije mogue izvr iti u jednom potezu. Primena Ojlerovih puteva je u organizaciji pojedinih slu bi (npr. po te) velikih gradova.

  • 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 potezu mogu prei svi mostovi, ne prelazei dva ili vie 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.

  • 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 potpuno da kontroliu celokupan prostor galerije?

    Reenje problema vezano je za Hvatalovu teoremu. Vaeh 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.

    A

    C

    B

    G

    G'

  • 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 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 Kontrast boje prema boji, o Svetlo-tamni kontrast, o Hladno-topli kontrast, o 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 R R R - - Komponenta 2 G G - G - Komponenta 3 B - B B - Rezultat bela uta magenta 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. Viebojna 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 viebojni 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).

  • Y

    R G B

    R G

    M C

    R

    RR

    G

    G G B

    B

    B

    B

    B

    B B B B

    Y M Y Y

    R

    R R R RG G G G

    G

    C

    C

    M C M

    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. Translacija 2. Skaliranje u 2D 3. Rotacija oko koordinatnog poetka 4. Smicanje u 2D 5. Afina transformacija=linearna+translacija 6. 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 podeavanje odnosa veliina jedininih podeoka na razliitim koordinatnim osama. Matrica skaliranja, sa parametrima (argumentima) a i b je dijagonalna matrica:

  • ( )

    =

    ba

    baH0

    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 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 zapie i A=A pri emu je matrica rotacije:

    ( )

    =

    cossinsincos

    R

    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

  • =

    101

    tgSxa

    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 definie 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:

    ( )

    =

    1010001

    ,yx

    yxT

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

    1000cossin0sincos

    1000000

    ba

    10001001

    tg

  • 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)

    =

    =

    121010001

    *100071.071.0071.071.0

    *121010001

    121010001

    *

    100

    04

    cos4

    sin

    04

    sin4

    cos

    *121010001

    =

    113.071.1071.071.0071.071.0

    121010001

    *113.271.0071.071.0071.071.0

    [ ] [ ] [ ]184.41113.071.1071.071.0071.071.0

    *143111 =

    =yx

    P1(1,4.84)

    [ ] [ ] [ ]

    ( )

    =

    =+==+=

    ++=

    =

    116.42010001

    16,.4,2

    16.484.49211

    184.411010001

    *184.41191 `

    T

    DDDD

    DDDD

    yy

    xx

    yx

    yx

    =

    =

    15.1105.10002

    131010001

    *15.4205.10002

    131010001

    *10005.10002

    *131010001

  • [ ] [ ] [ ]112115.1105.10002

    191133 =

    ==yx

    P3(-1, 12)

  • 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 =

    1000000000000

    SzSy

    Sx

    [ ] [ ] Szyxzyx *11``` =

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

    1010000100001

    DzDyDx

    [ ] [ ] Tzyxzyx *11``` =

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

  • 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:

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

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

    10000cossin00sincos00001

    1000010000cossin00sincos

    10000cos0sin00100sin0cos