Informazioni generali
-
I compiti dovranno essere inviati per email all’indirizzo apaoluzzi@gmail.com, con intestazione [grafica 2010] compito 4
-
I file di ogni studente dovranno essere contenuti dentro un archivio zip, denominato con il codice-studente di Roma Tre (es 123456.zip). Gli studenti ancora sprovvisti di codice lo invieranno come cognome.zip (NB: .zip, non .rar)
-
Lo studente dovrà realizzare piccoli programmi denominati come segue, e per ciascuno scrivere alcune righe di documentazione in un file py corrispondente:
-
risposta1.py,
-
risposta2.py, etc.,
-
doc1.py,
-
doc2.py, etc.
-
-
Ogni file _deve contenere una sola docstring (ovvero un commento delimitato da tripli doppi apici) recante
-
cognome, nome, matricola_ nella prima riga;
-
una seconda riga vuota;
-
la descrizione del codice del corrispondente esercizio nelle righe successive.
-
-
Ogni programma deve aprire una finestra corrispondente al modello richiesto.
-
Il termine di consegna è tassativo. I compiti inviati dopo la scadenza non saranno presi in considerazione.
Preliminari
Il compito richiede di generare in OpenGL il modello geometrico 3D delle strade di una piccola porzione della città.
-
Il modello della zona di residenza potrà consistere in una versione semplificata a piacere della vista di Google Maps.
-
I modelli prodotti dovranno contenere almeno 10 strade.
-
L’archivio .zip del compito dovrà contenere una immagine della planimetria e una immagine da satellite della zona, in formato .png (NON altri formati), con nomi rispettivamente: mappa.png e satellite.png.
-
I compiti privi di tali immagini NON saranno corretti.
Come sempre, la valutazione degli esercizi sarà inversamente proporzionale al numero di linee di codice scritte … :o)
ESERCIZI
-
Definire le linee d’asse delle strade del proprio comprensorio come POLYLINE 2D pyplasm e visualizzarle come STRUCT con una invocazione VIEW.
-
Scrivere una funzione Python denominata lineStripToQuadStrip che
-
accetti in ingresso una lista di punti visualizzabile come LINE_STRIP,
-
produca in uscita una lista di punti visualizzabile come QUAD_STRIP.
-
-
Realizzare una vista statica delle strade del proprio comprensorio con un semplice programma OpenGL, utilizzando primitive QUAD_STRIPE OpenGL. Si utilizzi per la costruzione del modello la precedente funzione lineStripToQuadStrip applicata ai dati usati nell’esercizio 1.
-
Si vuole realizzare la estrusione di una QUAD_STRIP in una striscia solida di altezza costante. Scrivere una funzione Python denominata quadStripToSolidStrip che
-
accetti in ingresso una lista di punti costituenti una QUAD_STRIP OpenGL,
-
produca in uscita 4 QUAD_STRIP OpenGL, corrispondenti a (a) strip inferiore, (b) strip superiore e (c) strip laterale destra, (d) strip laterale sinistra di una descrizione solida della strada.
-
-
Visualizzare in OpenGL il graticcio di solidi 3D corrispondenti alle strade del comprensorio.