Informazioni generali
-
I compiti dovranno essere inviati per email all’indirizzo apaoluzzi@gmail.com, con intestazione [grafica 2010] compito 5
-
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 che produce una rappresentazione grafica della risposta richiesta.
-
Il termine di consegna è tassativo. I compiti inviati dopo la scadenza non saranno presi in considerazione.
Preliminari
Il compito richiede di implementare e visualizzare alcune funzioni di calcolo geometrico.
-
Le risposte dovranno utilizzare funzioni pyOpenGL, eventualmente integrate da oggetti/metodi/funzioni simplexn02 (chompy), per calcolare/visualizzare oggetti/modelli geometrici specificati nel seguito
-
Non è obbligatorio utilizzare il modulo simplexn2. E' invece obbligatorio utilizzare pyOpenGL.
Come sempre, la valutazione degli esercizi sarà inversamente proporzionale al numero di linee di codice scritte … :o)
ESERCIZI
-
Generare una decomposizione simpliciale di una grid 3D 8x8x2 di esaedri unitari. Visualizzarne (isomorficamente) i vari scheletri (0D, 1D, 2D, 3D) nelle quattro sottofinestre di una finestra GLUT, scegliendo opportunamente i 4 modelli di vista relativi.
-
Come sopra, ma scrivendo, nel baricentro di ogni d-simplesso, il valore ordinale (0,1,2,3,…) della cella nel d-scheletro di appartenenza, utilizzando caratteri GLUT bitmap.
-
Su una griglia 2D 80x8, scrivere il proprio cognome in wire-frame colorando un sottoinsieme di celle 1D in un colore chiaro diverso da quello delle altre (colorate in un colore scuro). A questo scopo preparare uno schema preliminare su carta quadrettata …
-
Su una griglia 2D 80x8, scrivere il proprio cognome colorando un sottoinsieme di celle 2D in un colore chiaro diverso da quello delle altre (colorate in un colore scuro).
-
Applicare il proprio cognome sopra un solido elementare (cubo, sfera, cilindro, cono, oppure toro). Si scelga a piacere il tipo di operazione da usare e il tipo di scrittura (1D o 2D). Non utilizzare texture mapping, ma solo geometria e/o trasformazioni.
-
OPZIONALE: costruire una natura morta con due o più dei solidi (mappati col proprio cognome) sopra elencati.