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.

  1. Le risposte dovranno utilizzare funzioni pyOpenGL, eventualmente integrate da oggetti/metodi/funzioni simplexn02 (chompy), per calcolare/visualizzare oggetti/modelli geometrici specificati nel seguito

  2. 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

  1. 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.

  2. 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.

  3. 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 …

  4. 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).

  5. 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.

  6. OPZIONALE: costruire una natura morta con due o più dei solidi (mappati col proprio cognome) sopra elencati.