39
Vektorska grafika Multimediji Tehnološki fakultet Univerzitet u Banjoj Luci

03 GI Vektorska grafika.pptx

  • Upload
    haljimi

  • View
    22

  • Download
    0

Embed Size (px)

Citation preview

Vektorska grafika

Vektorska grafikaMultimedijiTehnoloki fakultetUniverzitet u Banjoj LuciTipovi multimedijalnih podatakaGrafikaFormat: konstruie se kompozicijom primitivnih objekata kao to su linije, poligoni, krunice, krive i lukoviUlaz: grafika se obino generie korienjem grafikog editora (npr. Illustrator) ili programski (npr. Postscript)Grafiku je obino mogue lako mijenjati ili revidirati (za razliku od slike)Grafiki ulazni ureaji: tastatura (kontrola kursora i unos teksta), mi, trackball, grafiki tablet,...Standardi: OpenGL, PHIGS, GKS, SVG,...U grafikim fajlovima se obino uvaju podaci o kombinovanju primitivaGenerisanje (rasterske) slike na osnovu opisa se naziva renderovanjeGrafiki fajlovi nemaju velike zahtjeve za memorijskim prostoromOvdje se govori o onome to se esto naziva i vektorska grafika. Sa druge strane, slika se naziva i rasterska grafika.

2Osnove vektorske grafikeKompaktnost, skalabilnost, nezavisnost od rezolucije i format lak za izmjene.Prostor na disku i propusni opseg na mrei.Formati za reprezentaciju vektorske grafike: PDF, Postscript, SVG, SWFSvaki piksel se moe identifikovati po piksel koordinatama (broj reda i kolone). Svaka taka u dvodimenzionalnom prostoru se moe identifikovati upotrebom ureenog para realnih koordinata (x, y).

Moda dati neke primjere za tvrdnje iz prvog stava.

3Koordinate

Piksel koordinateRealne koordinate i osePiksel koordinate su kvantovane i obino se izraavaju cijelim brojevima. Ovim koordinatama su u potpunosti odreene pozicije diskretnih piksela (nastalih odmjeravanjem). Pikseli u ovom koordinatnom sistemu nemaju dimenzije.Realne koordinate podrazumijevaju da piksel ima fizike dimenzije, odnosno, konanu povrinu i njihovim korienjem je mogue pristupiti svakoj taki u ravni. Najee se smatra da su koordinate centra svakog piksela u realnom koordinatnom sistemu iste kao koordinate tog piksela u piksel koordinatama.

4Reprezentacija linija i krivihLinije i krive se mogu predstaviti jednainama koje daju vezu izmeu x i y koordinata svake take na liniji ili krivojRenderovane linije mogu imati nepravilne (stepenaste) ivice (jaggies)

PrimjerLinija sa aliasingomNa ivicama linije postoji brza promjena intenziteta piksela visokofrekvencijski sadrajZbog konane rezolucije ureaja za prikazivanje slika je pododmjerena te dolazi do aliasingaRub linije je stepenastKako je mogue problem ublaiti?

Anti-aliasingEfekat se moe ublaiti anti-aliasingom: bojenje piksela u nijansama sive (za crnu liniju)anti-aliasing je vid niskopropusnog filtriranja kojim se ublaavaju otre ivice na slici (brze promjene)

JaggiesScreenshot iz igre Rescue on Fractalus! iz 1984. godineZbog karakteristinih artifakata vanzemaljci u igri su nazvani Jaggis, a predloeno je i da se igra zove Behind Jaggi Lines!

Vektorski objektiProgrami za crtanje i jezici vektorske grafike pruaju osnovni repertoar oblika koji se lako mogu matematiki predstaviti.Najei oblici su pravougaonici i kvadrati, elipse i krugovi, dui i Bzier krive.Pravougaonik

M (move) pomjeranje kursora na zadate koordinateH povlaenje horizontalne linije zadate duineV povlaenje vertikalne linije zadate duineDuina moe biti pozitivna i negativna ine se definie smjer linije.10Elipsa

Bzier kriveNazvane su po Pierreu Bzieru koji ih je koristio u dizajnu automobila u Renaultu.Koriste se u raunarskoj grafici za modelovanje glatkih krivih, animaciji za definisanje putanja po kojima se objekat kree, tipografiji za specifikaciju oblika znakovaBzier krive su glatke krive koje mogu biti odreene ureenim skupom kontrolnih taaka, prva i zadnja kontrolna taka su krajnje take krive.Kubna Bzier krivaBzier krive 3. stepena (kubne) imaju etiri kontrolne take: dvije krajnje take i dvije take pravca.Zakrivljenost Bzier krive odreuje se pomou duine, pravca i smjera dui pravca koje spajaju krajnje take i take pravca.

Kubna Bzier krivaKubna Bzier kriva se crta povlaenjem dui pravaca pomou pen tool

Kvadratne Bzier krive Bzier krive drugog stepena (kvadratne) imaju jednu taku pravcaJedine Bzier krive koje podrava SWFPDF i SVG podravaju kubne i kvadratne Bzier kriveTrue Type fontovi koriste kvadratne Bzier krive

Kvadratne Bzier krive

PutanjeKombinovanjem segmenata Bzier krivih kreiraju se putanje (zatvorene i otvorene)

PutanjeOtvorena (lijevo) i zatvorena (desno) putanja

PutanjeAko se dve krive nadovezuju u nekoj taki i dui pravca u toj taki formiraju jednu du, nadovezivanje e biti glatko. Ako to nije sluaj formirae se ugaona takaTake u kojima se segmenti krive nadovezuju su vorne take putanje.

PutanjePutanja mora imati boju i debljinu linije (stroke) da bi bila vidljiva.Za unutranjost zatvorene putanje se moe definisati boja, gradijent i uzorak (pattern).Postoji pravilo popunjavanja za odreivanje ta pripada unutranjosti putanjePravilo popunjavanja (fill rule) je algoritam koji se koristi da se odredi koja strana putanje je unutranja za dati oblik

Za proste zatvorene putanje oigledno je koja je strana unutranja. Meutim, za sloenije putanje koje se npr. sijeku sa samom sobom, pronalaenje unutranje strane moe biti komplikovano.

20Popunjavanje oblikaLinearno (gore) i radijalno (dole) gradijentno popunjavanje.

Popunjavanje oblikaPopunjavanje kompleksnih oblika

Transformacije vektorskih objekataVektorski objekti se mogu ureivati promjenom memorisanih vrijednosti kojima su predstavljeniTransformacije se mogu podijeliti na:Afine transformacijeDistorzijeAfine transformacijeAfine transformacije ouvavaju dui i njihovu paralelnostPrimjeri: translacija, skaliranje, rotacija, refleksija i smicanjeDirektno implementirane u softveru za vektorsku grafikuOve transformacije je mogue matematiki opisatiAfine transformacijeSkaliranje, rotacija, refleksija, smicanje i translacija

Afine transformacijeObjekat se moe transformisati primjenom afine transformacije na njegove vorne takeNekoliko objekata se moe grupisati i zajedno transformisatiDistorzijeTransformacije putanja se mogu postii i pomjeranjem vornih taaka i taaka pravacaMogu se koristiti i filteri koji mijenjaju sve vorne take i take pravaca. Neki filteri dodaju nove vorne takeOve transformacije nisu afine

3D grafika3D grafika je konceptualno jednostavno proirenje 2D grafike treom osomU praksi, 3D grafika je komplikovana i zahtjeva kompleksne alate

3D grafika3D objekti postoje u prostoru, ali se prikazuju na 2D ekranimaPrilikom renderovanja 3D objekata neophodno je uzeti u obzir izvor svjetlosti i teksturu3D modeliKonstruktivna (solid) geometrijaSlobodno (free form) modelovanjeProceduralno modelovanje3D modeliKonstruktivna geometrija koristi uniju, presjek i razliku da kombinuje geometrijska primitivna tijelaSlobodno modelovanje se zasniva na graninim povrinamaPovrine se mogu prikazati kao mree poligona ili pomou sloenijih elemenata kao to su Bzier putanje

Konstruktivna geometrija

Slobodno modelovanjeEkstruzija

Slobodno modelovanjeStrug

Proceduralno modelovanjeProceduralno modelovanje definie objekte algoritmima i proceduramaNpr. fraktalni algoritmi

Izvor: WikipediaFraktalni algoritmi

Izvor: WikipediaRenderovanje 3D objekata3D objekti se mogu renderovati kao iane mree (wire frame)

Renderovanje 3D objekataDa bi se dobila realna slika, skrivene povrine moraju biti uklonjene, a vidljive moraju biti renderovane korienjem algoritama za sjenenje koji modeluju efekat padanja svjetlosti na povrinuGouraud i Phong sjenenja se mogu koristiti za bojenje povrinaRay tracing ukljuuje interakciju izmeu objekata i izvora svjetlosti38Renderovanje 3D objekata

Phong shading rjeava problem odsjaja (specular reflection) koji postoji kod Gouraud shadinga. Poto Gouraud sjenenje vrijednosti intenziteta piksela u poligonu odreuje interpolacijom vrijednosti u tjemenima, ukoliko se tjemena ne nalaze u oblasti u kojoj postoji odsjaj on se nee pojaviti ni u unutranjosti poligona. Phong shading ovaj problem rjeava izraunavanjem vrijednosti odreivanjem vrijednosti intenziteta u svakom pikselu poligona. Phong sjenenje je raunski zahtjevnije od Gouraud sjenenja.

39