10 - I sistemi Grafici Interrativi

Il settore della computer graphics che riguarda in modo diretto la progettazione di sistemi grafici che consentono all'utente di interagire con il computer, è chiamato computer graphics interattiva. Con il termine interattiva si vuole distinguere questo settore da altri rami della computer graphics in cui le immagini sono invece generate tramite plotter digitali, film recorder, stampanti, o comunque dispositivi che generano immagini permanenti. Certamente anche questi dispositivi risultano estremamente utili; tuttavia essi non possono essere realmente utilizzati per comunicare con un computer. Al contrario, un computer provvisto di un display è in grado di modificare velocemente le immagini generate, e dunque può rispondere in modo tempestivo alle sollecitazioni dell'utente; in questo modo utente e computer possono effettivamente comunicare tra loro. Le immagini non sono statiche, bensì dinamiche: gli oggetti possono essere mossi, ruotati, ingranditi, possono cambiare forma e colore. Il display di un computer presenta inoltre il vantaggio di permettere di elaborare e costruire immagini di oggetti non solo del mondo reale, ma anche di oggetti astratti, sintetici e di dati che non presentano un'inerente geometria.

Vediamo allora come descrivere, ad alto livello, un sistema grafico interattivo. A livello hardware, un computer riceve dati da un dispositivo di input, e invia delle immagini ad un display. Il software ha tre componenti. La prima, il programma applicativo, è responsabile della creazione e dell'aggiornamento, sulla base delle interazioni con l'utente, dei dati o degli oggetti da raffigurare sullo schermo, che sono memorizzati nella seconda componente, il modello applicativo. Il programma applicativo produce le immagini inviando alla terza componente, il sistema grafico, una serie di comandi grafici di output che contengono sia una descrizione geometrica dettagliata di cosa deve essere visualizzato, che gli attributi che specificano come gli oggetti dovranno apparire. Infine, il sistema grafico produce le immagini, e trasferisce l'input dell'utente al programma applicativo. Il sistema grafico agisce dunque da intermediario tra il programma applicativo ed il display hardware. Esso non solo trasforma gli oggetti descritti nel modello in immagini, ma anche le azioni dell'utente in input per il programma che, di conseguenza, modificherà il modello.