||| Natrag: Arhitekture grafičkih sustava | Gore: Računarska grafika | Naprijed: Grafički standardi |
Pojam interaktivnosti u računarskoj grafici podrazumijeva interakciju između korisnika i sustava na način da korisnik upravlja sadržajem, strukturom i pojavom objekta i njegovih predočenih slika uporabom ulaznih uređaja (tipkovnica, miš, zaslon osjetljiv na dodir...).
Grafička interakcija s uporabom grafičkih terminala s rasterskim zaslonima je zamijenila tekstualne interakcije s uporabom alfanumeričkih terminala. Ona omogućava:
|
Koncept interaktivne računarske grafike podrazumijeva dvije razine: sklopovsku i programsku (softversku).
Sklopovska razina koncepta interaktivne računarske grafike može se sažeto opisati na sljedeći način:
računalo prima ulazne informacije od interakcijskih uređaja i prenosi slike prikaznom uređaju.
Programska razina koncepta interaktivne računarske grafike može se sažeto opisati na sljedeći način:
aplikacijski model predstavlja podatke ili objekte koji se prikazuju na zaslonu;
aplikacijski program prima i obrađuje informacije od aplikacijskog modela i korisnika, razvija aplikacijski model, generira skup grafičkih izlaznih naredbi koje sadrže detaljan geometrijski opis onoga što treba prikazati kao i načina na koji se pojedini objekti prikazuju;
grafički sustav proizvodi sliku na temelju detaljnog opisa u obliku grafičkih naredbi koji generira aplikacijski program i prenosi ulaznu informaciju od korisnika aplikacijskom programu na obradu.
Koncept interaktivne računarske grafike prikazan je na slici 2.13:
Slika 2.13 Koncept interaktivne računarske grafike.
Aplikacijski model
Funkcije aplikacijskog modela su sljedeće:
aplikacijski model sadrži sve podatke, objekte i odnose među njima koje koriste prikazni i interakcijski dio aplikacijskog programa ili negrafički moduli za obradu podataka;
aplikacijski model predstavlja objekte kombinacijom podataka i proceduralnih opisa neovisnih o prikaznom uređaju.
Aplikacijski model sadrži sljedeće:
primitivne oblike (točka, crta, višekutni likovi u 2D ili 3D, različitih prostornih ploha u 3D...) od kojih je sastavljen model objekta,
atribute objekata (vrsta crte, boja, struktura površine...),
odnose među objektima i dijelovima objekata (povezivanje, spajanje...),
podatke o položaju objekata i dijelova objekata.
Aplikacijski model sadrži sljedeće vrste podataka:
geometrijske podatke,
negeometrijske podatke (tekstualni i brojčani podatci).
podatci u aplikacijskom modelu mogu biti organizirani kao:
jednostavni niz podataka o koordinatama točaka,
povezane liste koje predstavljaju umrežene strukture podataka,
relacijske baze podataka.
Aplikacijski program
Aplikacijski program pretvara opis dijela modela koji treba prikazati u pozive procedura ili naredbi grafičkog sustava koji se koristi za stvaranje slikovnog prikaza u dva koraka:
pretraživanje aplikacijske baze podataka i izlučivanje podataka nužnih za prikaz odabranog dijela modela,
pretvorba podataka u format prikladan za ulaz u grafički sustav.
U slučaju da aplikacijski model sadrži geometrijske primitivne oblike koji nisu podržani u grafičkom sustavu aplikacijski program ih mora svesti na one koje grafički sustav podržava.
Grafički sustav
Grafički sustav posreduje između aplikacijskog programa i prikaznog uređaja.
Zadaće grafičkog sustava su:
izlazna transformacija (transformira objekt u aplikacijskom modelu u slikovni prikaz modela);
ulazna transformacija (transformira korisničko djelovanje u ulaznu informaciju za aplikacijski program na temelju kojih aplikacijski program djeluje na promjenu modela i/ili slike).
Osnovna zadaća dizajnera interaktivnog grafičkog aplikacijskog programa je specificiranje podataka i objekata koje treba grafički prikazati i načina odvijanja interakcije između korisnika i aplikacijskog programa s ciljem kreiranja i modificiranja modela i njegove vizualne predodžbe.
Grafički sustav sastoji se od skupa izlaznih podprograma koji odgovaraju različitim primitivnim oblicima, atributima i drugim elementima. Ovi podprogrami tvore biblioteku grafičkih podprograma ili grafički paket i mogu se pozivati iz programskih jezika visoke razine (C, Pascal, LISP). Podprogrami pokreću prikazne uređaje i na taj način generiraju slikovni prikaz geometrijskih primitivnih oblika i atributa specificiranih aplikacijskim programom. Pri tome se koriste logički prikazni uređaji koji razdvajaju razinu aplikacijskog programa od sklopovske razine i razine upravljačkih programa pojedinih uređaja.
Logički ulazni uređaji omogućavaju grafičkom programeru da stvarne ulazne uređaje (miš, palica, digitalizator...) tretira kao lokacijski logički uređaj koji generira koordinate lokacije na zaslonu.
Aplikacijski program može od grafičkog sustava zatražiti:
periodičko uzorkovanje ulaznih uređaja,
čekanje u određenom stanju na pokretački događaj.
Tipičan oblik interakcije definirane aplikacijskim programom naziva se petlja pokretana događajima. Petlja predstavlja sekvencijalni automat s konačnim brojem stanja sa središnjim stanjem čekanja. Prijelazi u druga stanja uzrokovani korisničkim ulaznim događajima. Ovaj model interakcije ograničen je na sekvencijalni dijalog između korisnika i sustava (ping-pong model izmjeničnih korisničkih upita i odgovora računala). Složeniji koncepti interakcije uključuju više paralelnih komunikacija.
Pseudokod petlje pokretane događajima može se napisati na sljedeći način:
stvori
početni prikaz na temelju aplikacijskog modela
while(!kraj) {
/* korisnik nije odabrao opciju kraj */
omogući izbor naredbenih objekata
/* program čeka beskonačno na korisnikovo
djelovanje */
čekaj korisnikov izbor
switch(izbor)
{
obradi izbor i upotpuni naredbu ili izvrši
upotpunjenu naredbu
te promijeni model ili prikaz na zaslonu po zahtjevu
}
}
Povratak na: Početak stranice | Sadržaj
||| Natrag: Arhitekture grafičkih sustava | Gore: Računarska grafika | Naprijed: Grafički standardi |
Inženjerska grafika, Copyright © D.Begusic