Docenti

Alberto Paoluzzi, Dipartimento Informatica e Automazione, Università Roma Tre

Giorgio Scorzelli, Scientific Computing and Imaging Institute, University of Utah

Obiettivi

Il corso intende sviluppare la capacità di (a) realizzare modelli geometrici di componenti e strutture sia industiali che naturali di elevata complessità, e di (b) partecipare al progetto e allo sviluppo di sistemi informatici orientati alla modellazione e alla simulazione. Il corso offre pertanto un insieme di richiami e di approfondimenti delle tecniche geometrico-matematiche necessarie, e fornisce gli elementi essenziali delle aree informatiche coperte (computer graphics, geometric computing e computational geometry), accompagnando la teoria con la pratica implementativa in un moderno ambiente di programmazione interpretato basato su Python.

Verbalizzazioni esame
Grafica computazionale

Venerdì 16 luglio, ore 14:00, aula riunioni DIA (I piano)

Grafica computazionale, Informatica grafica, Progettazione assistita da calcolatore

Martedì 20 luglio, ore 14:00, aula riunioni DIA (I piano)

Grafica computazionale

Martedì 28 settembre, ore 14:00, aula N10

Testi di esame

Esame giugno 2010

Progetto

Il progetto è individuale, e va presentato pubblicando sullo spazio web dell’account openafs assegnato allo studente (modulo di richiesta, da presentare compilato in linea, stampato e firmato), alcune pagine web scritte con asciidoc.

Il tema del progetto 2010 riguarda la modellazione del quartiere di residenza dello studente, secondo modalità specificate nella terza prova intermedia, ma curando maggiormente il dettaglio geometrico delle strade e degli edifici, se necessario utilizzando modelli digitali del terreno (approssimati a piacere), texture e colori. La pagina web di presentazione includerà i sorgenti Pyplasm, immagini fotografiche e sintetiche, oltre ad una succinta descrizione in inglese del lavoro svolto.

Programma del corso

PRIMO MODULO

Equivalenza con il corso di Progettazione assistita da calcolatore (D.M. 509)

Programmazione geometrica

Introduzione al linguaggio Python, al linguaggio Plasm, libreria pyplasm.

Elementi di algebra lineare, geometria poliedrale e differenziale

Spazi vettoriali e affini, insiemi convessi, complessi simpliciali e poliedrali, campi e operatori differenziali.

Elementi di Computer Graphics

Trasformazioni affini, Primitive grafiche, Strutture gerarchiche, Pipeline 3D, Proiezioni, Texture mapping, Ricostruzione 3D

Elementi di Geometric Computing

Curve, superfici e solidi parametrici sia polinomiali che razionali. Patches rettangolari, simpliciali e multivariate. Modellazione geometrica transfinita.

SECONDO MODULO

Equivalenza con il corso di Informatica grafica (D.M. 509)

Elementi di programmazione con PyOpenGL

Introduzione all’uso del binding cross-platform di Python con OpenGL e le relative API. Elementi di programmazione con shader/buffer/texture model di OpenGL 3.x.

Elementi di Computational Geometry

Intersezione di segmenti in una e pi√π dimensioni. Guscio convesso. Triangolazioni. Complessi duali.

Libreria per topologia/geometria/fisica computazionale

Complessi simpliciali, complessi di celle. Catene e cocatene. Complessi di catene e cocatene. Operatori di bordo e cobordo. Rappresentazione con matrici sparse. Triangolazioni gerarchiche. Operazioni caratteristiche.

Esempi di progetti di modellazione/simulazione grafica

Ricostruzione dei palazzi imperiali al Palatino; Modellazione del sistema delle metropolitane romane; sviluppo del modello parametrico di un centro commerciale

Materiale didattico

Lezioni: 30, 31, 33, 34, 35, 36, 37, 39,

Dispense: 30, 31, 33, 34, 35, 36, 37, 39,

Sorgenti: simplexn02, integr

Modalità di esame

  • 9 crediti: 60 ore di lezioni, 30 ore di esercitazioni.

  • Esame: (1) progetto; (2) prova di programmazione.