46
Računalna grafika Računalna grafika Elementi slike Vektorski i grafički rasterski sustavi Koncept interaktivne grafike

računalna grafika

Embed Size (px)

DESCRIPTION

opis

Citation preview

  • Raunalna grafika

    Raunalna grafika

    Elementi slike

    Vektorski i grafiki rasterski sustavi

    Koncept interaktivne grafike

  • Raunalna grafika

    2014/2015 Predavanje 2 2

    Osnovni elementi slike

    Primitivi: osnovni objekti od kojih se sastoji neka slika

    Primitivi mogu biti:

    o polilinije

    o tekst

    o ispunjena podruja (povrine)

    o rasterske slike

  • Raunalna grafika

    2014/2015 Predavanje 2 3

    Polilinije

    Polilinija - povezana sekvenca ravnih crta

  • Raunalna grafika

    2014/2015 Predavanje 2 4

    Polilinije

    Uveanje dijela slike:

    krivulja zapravo nije

    glatka ve se sastoji od

    vie ravnih segmenata

    Slike napravljene od

    polilinija ponekad

    nazivamo i linijski crtei

  • Raunalna grafika

    2014/2015 Predavanje 2 5

    Polilinije

    Najjednostavnija polilinija je obina ravna crta koja je

    odreena s poetnom tokom (x1, y1) i krajnjom tokom

    (x2, y2).

    Primjer rutine za crtanje linije:

    drawLine (x1, y1, x2, y2).

    Specijalni sluaj:

    segment se skrauje na jednu toku: drawDot (x1, y1).

  • Raunalna grafika

    2014/2015 Predavanje 2 6

    Polilinije

    Polilinije moemo odrediti

    pomou liste vrhova s njihovim

    koordinatama:

    (x0, y0), (x1, y1), (x2, y2),...(xn,yn).

    Na primjer, polilinija prikazana na

    slici zadana je nizom (2,4), (2,11),(6,14), (12,11), (12,4),...

    Naredba za crtanje polilinije npr.

    drawPolyline (poly)

    poly - lista vrhova polilinije

  • Raunalna grafika

    2014/2015 Predavanje 2 7

    Polilinije

    Vani atributi polilinija:

    boja

    debljina rubova

    nain na koji su rubovi povueni

    nain na koji se rubovi spajaju

    Uobiajeno je da svi rubovi

    jedne polilinije imaju iste

    atribute

    Slika gore i ispod:

    polilinije s razliitim

    atributima

  • Raunalna grafika

    2014/2015 Predavanje 2 8

    Tekst

    Naini prikaza:

    tekstualni

    grafiki

    Tekstualni nain:

    jednostavni ulaz/izlaz alfanumerikih znakova

    koristi ugraeni generator znakova

    znakovi se obino ne mogu postaviti proizvoljno na zaslonu

  • Raunalna grafika

    2014/2015 Predavanje 2 9

    Tekst

    Grafiki mod ispisa teksta

    Primjer naredbe za ispis

    teksta: drawString (x, y, string)

    Uobiajeni atributi teksta:

    izgled

    boja

    veliina

    razmak

    orijentacija

    Font je skup alfanumerikih znakova specifina izgleda u

    odreenom stilu i veliini

  • Raunalna grafika

    2014/2015 Predavanje 2 10

    Ispunjena podruja (povrine)

    Primitiv ispunjenog podruja je obris ispunjen nekom bojom

    ili uzorkom.

    Rub ispunjenog podruja - obino poligon a mogu biti i

    sloenija podruja

  • Raunalna grafika

    2014/2015 Predavanje 2 11

    Ispunjena podruja (povrine)

    Primjer naredbe za crtanje ispunjenog poligona:

    fillPolygon (poly, pattern);

    poly liste vrhova

    pattern - opis uzorka

    Koritenje ispunjenih

    poligona za sjenenje

    3D objekta.

  • Raunalna grafika

    2014/2015 Predavanje 2 12

    Rasterske slike

    Pravilno rasporeeni elementi fiksne veliine i oblika za

    koje je odreena boja i nivo osvijetljenosti

    Elementi - slikovni elementi ili pikseli.

    Ako su slikovni elementi dovoljno mali i gusto

    rasporeeni

    ljudsko oko ih nee prepoznati kao zasebne

    elemente, ve e ih povezati u kontinuiranu

    sliku.

  • Raunalna grafika

    2014/2015 Predavanje 2 13

    Rasterske slike

    Rasterska slika:

    - U raunalu pohranjena kao polje numerikih vrijednosti.

    - Ova matrica naziva se bitmapa (cb) ili pixmapa (boja)

    Slika se pohranjuje zapisivanjem pozicije, boje ili

    osvijetljenosti (razine sivog) svakog slikovnog elementa.

  • Raunalna grafika

    2014/2015 Predavanje 2 14

    Rasterske slike

    bitovna matrica (bitmap) - matrica iji elementi (1, 0)

    predstavljaju svjetlou (ili boju) odgovarajuih elemenata

    pravokutnog rasporeda osvjetljivih toaka zaslona (slikovnih

    elemenata) u dvorazinskom sustavu (informacijski kapacitet 1

    bit/piksel)

    matrica slikovnih elemenata (pixmap - pixel map) - matrica

    iji elementi predstavljaju boju odgovarajuih elemenata

    pravokutnog rasporeda osvjetljivih toaka zaslona (slikovnih

    elemenata) u vierazinskom sustavu (informacijski kapacitet n

    bit/piksel)

  • Raunalna grafika

    2014/2015 Predavanje 2 15

    Rasterske slike

    Dvorazinska slika kurzora (a) i njegova bitmapa (b)

  • Raunalna grafika

    2014/2015 Predavanje 2 16

    Rasterske slike

    Slika sa 8 moguih razina sivog (a) i vrijednosti slikovnih

    elemenata lijevog gornjeg kuta za prikazanu sliku (b)

  • Raunalna grafika

    2014/2015 Predavanje 2 17

    Rasterske slikeMemorijski zahtjevi

    Crno-bijele slike: jedan bit (0 bijelo, 1 crno)

    256 razina sivog 8 bitova

    Slike u boji jo su memorijski zahtjevnije. Boja odreenog

    slikovnog elementa odreena je sa tri broja koja predstavljaju

    razinu crvene, zelene i plave boje ijim mijeanjem nastaje

    eljena boja

    true color mod 24 bita za svaki slikovni element tj. po

    jedan bajt za svaku komponentu boje

    Broj bita po slikovnom elementu - dubina boje.

  • Raunalna grafika

    2014/2015 Predavanje 2 18

    Rasterske slike

    Primjer raspodjele 16-bita za boje.

    Bit 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00

    Data x R R R R R G G G G G B B B B B

    X obino G

    Zato ?

    Osjetljivost oka

  • Raunalna grafika

    2014/2015 Predavanje 2 19

    Rasterske slike

    Prilikom prikazivanja pohranjene slike:

    isitavanje podataka za svaki slikovni element istim

    redoslijedom kojim su i zapisivani.

    Nije potrebno zapisivati poziciju svakog slikovnog elementa

    slike i pojednostavnjeno je zapisivanje i rekonstrukcija slike.

    Obino: slika se sprema red po red, s lijeva na desno i od gore

    prema dole.

    Redove slikovnih elemenata nazivamo rasterske scan linije

  • Raunalna grafika

    2014/2015 Predavanje 2 20

    Rasterske slike Monokromatski rasteri se takoer mogu koristiti za prikaz

    kontinuiranih tonskih prelaza koritenjem grupe tehnika -

    polutonske transformacije (halftone approximation).

    Koriste se ogranienja prostorne razluivosti oka - jedan

    slikovni element se prikazuje grupom slikovnih elemenata u

    bitmapi (klaster piksela)

  • Raunalna grafika

    2014/2015 Predavanje 2 21

    Vektorski i rasterski grafiki sustavi

    Ovisno o arhitekturi grafikog sustava, moemo ih podijeliti na

    dvije osnovne grupe:

    1. vektorski grafiki sustavi (sustavi s proizvoljnom putanjom

    otklonjene zrake)

    2. rasterski grafiki sustavi (sustavi sa sekvencijalnom

    putanjom otklonjene zrake)

  • Raunalna grafika

    2014/2015 Predavanje 2 22

    Vektorski grafiki sustavi

    Masovno u upotrebi od sredine ezdesetih do sredine

    osamdesetih godina 20 og stoljea

    vektor = crta

    Crta koja povezuje dvije (proizvoljno) odabrane toke na

    zaslonu osnovni je element grafikog prikaza (random scan).

    Putanja zrake odreena je slijedom naredbi iz prikazne liste ili

    prikaznog programa i povezuje krajnje toke pojedinih crta

  • Raunalna grafika

    2014/2015 Predavanje 2 23

    Vektorski grafiki sustavi

    Tipini vektorski sustav sastoji se od sljedeih dijelova:

    prikazni procesor prikljuen kao U/I ureaj na glavni

    procesor (CPU)

    prikazna privremena memorija (display buffer memory)

    vektorski generator

    prikazni ureaj

  • Raunalna grafika

    2014/2015 Predavanje 2 24

    Vektorski grafiki sustavi

    Prikazna privremena memorija ili meuspremnik za

    osvjeavanje sadri prikaznu listu ili prikazni program.

    Prikazna lista (ili program): niz naredbi za crtanje toaka i

    linija sa koordinatama krajnjih toaka (x, y) kao i naredbi za

    ispis karaktera

    Naredbe za crtanje toaka, linija i karaktera interpretiraju se u

    prikaznom procesoru koji digitalne koordinate toaka

    prosljeuje vektorskom generatoru

    Vektorski generator pretvara digitalne koordinate u analogne

    vrijednosti napona za otklonski sustav katodne cijevi

  • Raunalna grafika

    2014/2015 Predavanje 2 25

    Vektorski grafiki sustavi

    Arhitektura grafikog sustava s vektorskim prikaznim ureajem

  • Raunalna grafika

    2014/2015 Predavanje 2 26

    Vektorski grafiki sustavi

    Nedostaci:

    Vektorski grafiki sustavi nemaju mogunost prikaza

    ispunjenih povrina, manipulaciju bitovima i tablicama

    Prednosti:

    Mogu ostvariti vee rezolucije od rasterskih sustava

    Mogu prikazivati glatke kose crte.

  • Raunalna grafika

    2014/2015 Predavanje 2 27

    Rasterski grafiki sustavi

    Poetkom sedamdesetih godina 20-tog stoljea dolazi do

    razvoja jeftine rasterske grafike zasnovane na televizijskoj

    tehnologiji

    Rasterski prikazni ureaji pohranjuju primitivne oblike u

    prikaznu privremenu memoriju u obliku njihovih osnovnih

    sastavnih slikovnih elemenata - piksela.

    Cjelovita slika prikazuje se na rasteru koji predstavlja niz

    paralelnih horizontalnih redova slikovnih elemenata

  • Raunalna grafika

    2014/2015 Predavanje 2 28

    Rasterski grafiki sustavi

    Arhitektura grafikog sustava s rasterskim prikaznim ureajem

  • Raunalna grafika

    2014/2015 Predavanje 2 29

    Rasterski grafiki sustavi

    Putanja zrake (raster scan) pri kreiranju prikaza na rasterskom

    prikaznom ureaju

  • Raunalna grafika

    2014/2015 Predavanje 2 30

    Rasterski grafiki sustavi

    Usporedba naina kreiranja

    grafikog prikaza na rasterskom i

    vektorskom prikaznom ureaju:

    a) idealna slika

    b) slika generirana na

    vektorskom ureaju

    c) slika generirana na rasterskom

    prikaznom ureaju

    d) rasterski prikaz s ispunjenjem

    slike.

  • Raunalna grafika

    2014/2015 Predavanje 2 31

    Rasterski grafiki sustavi

    Za razliku od vektorskog prikaza - potrebno je eksplicitno

    pohraniti cijelu sliku od N x M slikovnih elemenata.

    Realizacija putanje zrake mnogo je jednostavnija i jeftinija

    (kod vektorskih ureaja je potrebno osigurati vrlo veliku

    preciznost vektorskih generatora).

    Pojava jeftine RAM memorije - omoguila prevlast rasterske

    tehnologije poetkom sedamdesetih godina

  • Raunalna grafika

    2014/2015 Predavanje 2 32

    Rasterski grafiki sustavi

    Osnovne prednosti rasterske grafike:

    cijena

    mogunost prikaza ispunjenih podruja

    neovisnost procesa osvjeavanja slike o njenom sadraju

    Rasterski grafiki sustavi nisu u stanju prikazati glatku,

    neprekinutu liniju ili krivulju ve samo njihove aproksimacije

    Aliasing - pojava koja nastaje kao posljedica pogreke

    uzorkovanja

    Tehnike njenog odstranjivanja - antialiasing (primjena gradacije

    osvjetljenja susjednih slikovnih elemenata na rubovima primitiva)

  • Raunalna grafika

    2014/2015 Predavanje 2 33

    Koncept interaktivne grafike

    Koncept interaktivne raunalne grafike

  • Raunalna grafika

    2014/2015 Predavanje 2 34

    Koncept interaktivne grafike

    Na sklopovskoj razini raunalo prima ulazne informacije

    od interakcijskih ureaja i prenosi slike prikaznom ureaju.

    Programska razina moe se podijeliti u tri dijela:

    aplikacijski model

    aplikacijski program

    grafiki sustav

  • Raunalna grafika

    2014/2015 Predavanje 2 35

    Aplikacijski model

    Aplikacijski model predstavlja podatke ili objekte koji se

    prikazuju na zaslonu.

    Funkcije:

    sadri sve podatke, objekte i odnose meu njima koje koriste

    prikazni i interakcijski dio aplikacijskog programa ili

    negrafiki moduli za obradu podataka;

    predstavlja objekte kombinacijom podataka i proceduralnih

    opisa neovisnih o prikaznom ureaju.

  • Raunalna grafika

    2014/2015 Predavanje 2 36

    Aplikacijski model

    Aplikacijski model sadri:

    primitivne oblike (toka, crta, viekutni likovi u 2D ili 3D,

    razliitih prostornih ploha u 3D...) od kojih je sastavljen

    model objekta,

    atribute objekata (vrsta crte, boja, struktura povrine...),

    odnose meu objektima i dijelovima objekata (povezivanje,

    spajanje...),

    podatke o poloaju objekata i dijelova objekata.

  • Raunalna grafika

    2014/2015 Predavanje 2 37

    Aplikacijski program

    prima i obrauje informacije od aplikacijskog modela i

    korisnika

    razvija aplikacijski model

    generira skup grafikih izlaznih naredbi koje sadre

    geometrijski opis onoga to kao i naina na koji se pojedini

    objekti prikazuju.

    pretvara opis dijela modela koji treba prikazati u pozive

    procedura ili naredbi grafikog sustava koji se koristi za

    stvaranje slikovnog prikaza (pretrauje aplikacijske baze podatakai izluivanje podataka nunih za prikaz odabranog dijela modela,

    pretvorba podataka u format prikladan za ulaz u grafiki sustav)

  • Raunalna grafika

    2014/2015 Predavanje 2 38

    Grafiki sustav

    Proizvodi sliku na temelju detaljnog opisa u obliku grafikih

    naredbi koji generira aplikacijski program i prenosi ulaznu

    informaciju od korisnika aplikacijskom programu na obradu.

    Posreduje izmeu aplikacijskog programa i prikaznog

    ureaja

  • Raunalna grafika

    2014/2015 Predavanje 2 39

    Grafiki sustav

    Zadae:

    izlazna transformacija (transformira objekt u aplikacijskom

    modelu u slikovni prikaz modela);

    ulazna transformacija (transformira korisniko djelovanje u

    ulaznu informaciju za aplikacijski program na temelju kojih

    aplikacijski program djeluje na promjenu modela i/ili slike).

  • Raunalna grafika

    2014/2015 Predavanje 2 40

    Grafiki sustav

    Sastoji se od skupa izlaznih potprograma koji odgovaraju

    razliitim primitivnim oblicima, atributima i drugim

    elementima.

    Ovi potprogrami tvore biblioteku grafikih potprograma ili

    grafiki paket i mogu se pozivati iz programskih jezika

    visoke razine (C, C++, C#, Pascal, LISP).

    Potprogrami pokreu prikazne ureaje i na taj nain

    generiraju slikovni prikaz geometrijskih primitivnih oblika i

    atributa specificiranih aplikacijskim programom.

  • Raunalna grafika

    2014/2015 Predavanje 2 41

    Upravljanje interakcijom

    Aplikacijski program moe od grafikog sustava zatraiti:

    1. periodiko uzorkovanje ulaznih ureaja

    Aplikacijski program periodiki postavlja upit o

    trenutnoj vrijednosti logikog ulaznog ureaja i

    nastavlja s radom.

    Uzorkovanje ove vrijednosti se obavlja bez obzira da li

    je dolo do promjene vrijednosti ulaznog ureaja).

    Zahtjevno za interaktivne aplikacije i optereuje CPU

  • Raunalna grafika

    2014/2015 Predavanje 2 42

    Upravljanje interakcijom

    Periodiko uzorkovanje

  • Raunalna grafika

    2014/2015 Predavanje 2 43

    Upravljanje interakcijom

    2. ekanje u odreenom stanju na pokretaki dogaaj

    interrupt driven interaction; rad aplikacije se prekida

    nekim od dogaaja.

    Tipian oblik interakcije: petlja pokretana dogaajima

    (event-driven loop)

    Trenutana vrijednost ulaznog ureaja zajedno se s

    identifikatorom ureaja pohranjuje u tzv. red dogaaja

    (engl. event queue) svaki put kada doe do promjene

    stanja.

    Izbjegava se veliko optereenje CPU-a

  • Raunalna grafika

    2014/2015 Predavanje 2 44

    Upravljanje interakcijom

    ekanje na pokretaki dogaaj

  • Raunalna grafika

    2014/2015 Predavanje 2 45

    Upravljanje interakcijom

    Primjer pseudokoda petlje pokretane dogaajima:

    stvori poetni prikaz na temelju aplikacijskog modela

    while(!kraj) { /* korisnik nije odabrao opciju kraj */

    omogui izbor naredbenih objekata

    /* program eka beskonano na korisnikovo djelovanje */

    ekaj korisnikov izbor

    switch(izbor) {

    obradi izbor i upotpuni naredbu ili izvri

    upotpunjenu naredbu te promijeni model ili prikaz na

    zaslonu po zahtjevu

    }

    }

  • Raunalna grafika

    2014/2015 Predavanje 2 46

    Sljedei put:

    - Grafiki cjevovod

    - Osnovni algoritmi rasterske grafike