Questo insegnamento introduce i principi della modellazione di oggetti geometrici da una prospettiva matematica e computazionale. Dopo aver introdotto gli schemi di base per la modellazione solida e i concetti fondamentali della geometria differenziale, l'insegnamento si concentra su mesh geometriche e strutture dati e algoritmi correlati. L'insegnamento include compiti a casa e/o un progetto finale sviluppato in Python o in C++ utilizzando una libreria per l'elaborazione geometrica.
Apprendere le basi teoriche, le tecniche e le metodologie per la rappresentazione e manipolazione di oggetti solidi, superfici e campi scalari 2D e 3D, e le relative tecniche computazionali. Apprendere tecniche computazionali per la risoluzione di problemi geometrici (geometria computazionale ed elaborazione geometrica). Applicazioni di riferimento: computer grafica, visualizzazione scientifica, sistemi CAD, sistemi informativi geografici, realtà virtuale.
Gli studenti apprenderanno i fondamenti teorici della modellazione geometrica e i fondamenti matematici e gli algoritmi correlati per la risoluzione di problemi di base nell'elaborazione geometrica e nella geometria differenziale discreta.
Saranno esplorate le applicazioni di tali tecniche a campi quali computer grafica, animazione, FEM, fabbricazione digitale, ecc.
Al termine del corso, gli studenti saranno in grado di:
Algebra lineare: vettori, matrici, sistemi lineari
Calcolo differenziale in più variabili: derivate parziali, gradiente, Laplaciano, Hessiano
Programmazione imperativa: Python
Lezioni teoriche frontali. Compiti/progetti svolti autonomamente dagli studenti. Assistenza da parte dei docenti.
Modelli di forme geometriche discrete
Curve e superfici
Mesh geometriche
Ricostruzione di superfici
Geometria differenziale discreta
Elaborazione della geometria
Note e slide disponibili su Aulaweb. Le note contengono riferimenti a libri e articoli di riferimento per approfondimenti.
Alcuni libri consigliati (disponibili in biblioteca):
M. Mantyla, An Introduction to Solid Modeling, Computer Science Press, 1988
M.K. Agoston, Computer Graphics and Geometric Modeling, Springer Verlag, 2005
M. Botsch, L. Kobbelt, M. Pauly, P. Alliez, B. Lévy, 2010, Polygon Mesh Processing, A.K. Peters, ISBN 978-1-56881-426-1
Ricevimento: Su appuntamento via email a enrico.puppo@unige.it Durante il periodo di lezione si possono fissare appuntamenti per gruppi di persone postando sul forum AulaWeb
ENRICO PUPPO (Presidente)
CLAUDIO MANCINELLI (Presidente Supplente)
In accordo con il calendario didattico approvato dal Consiglio dei Corsi di Studio in Informatica: https://corsi.unige.it/corsi/11964/studenti-orario
L'esame consisterà nella valutazione del compito/progetto svolto e in un colloquio orale.
I compiti a casa consistono in semplici esercizi da svolgere individualmente da ogni studente, per familiarizzare con la libreria geometrica.
Il progetto finale consiste in un problema più elaborato da affrontare in un gruppo di due/tre studenti, all'interno dello stesso framework di programmazione.
Compito a casa e progetto possono essere proposti alternativamente o insieme, a seconda del livello complessivo di competenze di programmazione della classe.
Indicazioni per studenti con certificazione di DSA, di disabilità o di altri bisogni educativi speciali sono disponibili a partire da https://corsi.unige.it/corsi/11964/studenti-disabilita-dsa
I compiti/progetti saranno valutati in base alla correttezza della soluzione, all'efficienza e al corretto utilizzo della libreria software.
L'esame orale includerà domande che possono riguardare l'intero programma. Non è richiesto agli studenti di ricordare a memoria tutti i dettagli matematici, ma è necessario conoscere i passaggi logici di tutti i metodi ed essere in grado di spiegare tutti i dettagli consultando le slide.
Per ulteriori informazioni, consultare il modulo Aulaweb dell'insegnamento o contattare il docente.