Laboratorio di Grafica Interattiva A.A. 2002-3

Progetto finale

Mettiamo ora insieme (quasi) tutte le parti sviluppate nelle otto esercitazioni guidate in un'unico programma significativo.

Il programma permette di caricare uno o piu' solidi da file, li mostrar nelle tre viste ortografiche e in vista prospettica, permette di selezionarne uno, di spostare, rotare, cambiarne le dimensioni del solido selezionato, di cambiarne gli attributi di visualizzazione (es. il colore), di cambiarne la forma (spostando le facce).

Questo documento non contiene le specifiche complete, ma per molti dettagli fa' riferimento ai testi delle varie esercitazioni guidate. Per i punti piu' delicati e' indicato il numero dell'esercitazione.

Organizzazione della finestra

La finestra e' divisa in tre parti principali (come nell'esercitazione 2): area menu', area messaggi e area di lavoro, quest'ultima divisa a sua volta in quattro parti destinate ad ospitare rispettivamente la vista prospettica e le tre viste ortogonali (come nell'esercitazione 5).

Area menu'

L'area menu' e' cosi' chiamata impropriamente. In realta' contiene sia sotto-aree che si comportano come menu', sia sotto-aree che si comportano come bottoni.

In tutto abbiamo 6 sotto-aree:

  1. Un'area "file" su cui e' attivo un menu' pop-up con tre voci corrispondenti a La gestione del caricamento e dello scaricamento avviene come nell'esercitazione 5 - tappa di compito.
  2. Un'area "attributi" su cui e' attivo un menu' pop-up con quattro voci corrispondenti a: L'impostazione di point size e line width e' gestita come nell'esercitazione 2 - terza tappa. L'impostazione del polygon mode e del colore avviene da sottomenu' (come nell'esercitazione 1 - quinta tappa).
  3. Un'area "assi" che si comporta come un bottone e permette di mostrare o nascondere gli assi cartesiani e il pavimento.
  4. Un'area "luci" su cui e' attivo un menu' pop-up con cue voci corrispondenti a:
  5. Un'area "tasti + e -" che si comporta come un bottone e permette di scegliere l'effetto della pressione dei tasti suddetti:
  6. Un'area "mouse" che si comporta come un bottone e permette di scegliere l'effetto dello spostamento del mouse:

Le varie sotto-aree sono decorate con icone, oltre a portare il titolo (stringa) corrispondente.

Area messaggi

L'area messaggi informa sull'ultima operazione eseguita:

Inoltre simula un campo di input scrivibile per permettere all'utente di

Area di lavoro

L'area di lavoro, a sua volta suddivisa nelle quattro viste, mostra i solidi correntemente caricati e, se attivati, mostra gli assi cartesiani e il pavimento della scena.
In ciascuna delle quattro sotto-aree viene sempre mantenuta la aspect ratio della scena, quando l'utente cambia le dimensioni della finestra.

Gli assi sono disegnati tratteggiati, il pavimento a quadretti. Assi e pavimento emettono luce propria indipendentemente delle sorgenti luminose (come nell'esercitazione 8 - prima tappa).

Ciascun solido e' colorato di un colore unico. I solidi sono illuminati da due sorgenti luminose (come nell'esercitazione 8 - tappa di compito):

Il solido selezionato e la faccia selezionata sono evidenziati in modo opportuno.

Interazione

In qualsiasi area si trovi il mouse, la pressione dei tasti "q", "Q" e del tasto ESC provoca la terminazione del programma.

In tutte e quattro le viste:

Gli effetti dell'azione eseguita in una vista si ripercuotono anche sulle altre viste.

Nella vista prospettica il moto del mouse a bottone premuto ruota l'intera scena

In tutte e tre le viste ortografiche il moto del mouse a bottone premuto, a seconda di come impostato nell'area di menu', ruota o trasla l'oggetto selezionato (se esiste selezione).