Primo progetto di Grafica Interattiva A.A. 2003-4

Grafica bidimensionale

Scopo

Realizzare un programma per il disegno basato su poligoni.

Descrizione generale

Un poligono e' definito da una lista di vertici e puo' essere disegnato tracciando una o piu' delle seguenti cose:

  1. l'interno del poligono pieno
  2. il contorno del poligono
  3. i vertici del poligono
Ciascuna delle tre cose ha i suoi attributi pittorici: colore per tutte (ciascuna il suo: es. interno giallo, contorno blu e vertici verdi), spessore per le linee, grandezza per i punti.

Un poligono puo' avere anche meno di tre vertici: in questo caso non puo' essere tracciato l'interno.
Puo' avere un solo vertice: in questo caso possono essere tracciati solo i vertici (il vertice).

Sui poligoni sono possibili varie operazioni:

Inoltre il programma permette di mostrare gli assi cartesiani, mostrare una griglia quadrettata per guidare il disegno, traslare o scalare (pan e zoom) l'intera scena, cambiare il colore di sfondo.

Specifiche dettagliate

La finestra e' divisa in due zone: area toolbar e area grafica. Nell'area grafica avviene il disegno. L'area toolbar simula una serie di bottoni radio per la scelta della modalita' di funzionamento correntemente attiva.

Modalita' di funzionamento

Le modalita' di funzionamento sono tre: normale (default), inserimento, modifica. Per ogni modalita' e' presente un "bottone" sulla toolbar.

Le icone dei "bottoni" devono essere pixmap. Non e' indispensabile che sia una "figura", potete usare anche una scritta fatta con qualche font non fornita da Glut.
Ciascuno dei "bottoni" ha due icone: una per quando e' attivo e una per quando non lo e' (puo' cambiare semplicemente il colore).

In qualsiasi momento esattamente un bottone e' attivo (inizialmente quello della modalita' di default). Il click su un bottone provoca l'attivazione di questo bottone e la disattivazione di quello che era attivo precedentemente.

In modalita' normale sono possibili in area grafica le seguenti interazioni:

La modalita' inserimento permette all'utente di creare nuovi poligoni. L'entrata in modalita' inserimento inizializza un nuovo poligono in costruzione, finora senza vertici.

Al nuovo poligono costruito vengono dati attributi di default (che devono essere sensati).

La modalita' modifica permette all'utente di cambiare la geometria di un poligono gia' esistente.

Vedere anche

Suggerimenti

Informazioni sulla consegna (scadenza, materiale da consegnare)