CODICE 80412 ANNO ACCADEMICO 2025/2026 CFU 6 cfu anno 1 COMPUTER SCIENCE 11964 (LM-18) - GENOVA 6 cfu anno 1 MATEMATICA 11907 (LM-40 R) - GENOVA 6 cfu anno 2 MATEMATICA 9011 (LM-40) - GENOVA SETTORE SCIENTIFICO DISCIPLINARE INF/01 LINGUA Inglese SEDE GENOVA PERIODO 2° Semestre PRESENTAZIONE 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. OBIETTIVI E CONTENUTI OBIETTIVI FORMATIVI 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. OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO 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: Comprendere i concetti di base della modellazione geometrica. Conoscere i fondamenti della geometria differenziale discreta. Risolvere problemi di elaborazione geometrica in Python, con l'ausilio di una libreria di programmazione che include i relativi strumenti di programmazione numerica. Sviluppare applicazioni pratiche relative agli argomenti del corso. PREREQUISITI Algebra lineare: vettori, matrici, sistemi lineari Calcolo differenziale in più variabili: derivate parziali, gradiente, Laplaciano, Hessiano Programmazione imperativa: Python MODALITA' DIDATTICHE Lezioni teoriche frontali. Compiti/progetti svolti autonomamente dagli studenti. Assistenza da parte dei docenti. PROGRAMMA/CONTENUTO Modelli di forme geometriche discrete Un quadro generale per la modellazione di forme Rappresentazioni parametriche Rappresentazioni di contorno: patch parametriche e mesh geometriche Rappresentazioni implicite Curve e superfici Curve e superfici polinomiali a tratti: definizioni e proprietà Curve e superfici di suddivisione: definizioni e proprietà Schemi di suddivisione in 2D e 3D Mesh geometriche Entità e relazioni topologiche Strutture dati per superfici discretizzate come mesh triangolari Operatori per la manipolazione di complessi di celle e simpliciali Ricostruzione di superfici Stima della normale Ricostruzione di mesh con metodi impliciti Geometria differenziale discreta Rappresentazione parametrica di linee e superfici: vettore tangente e piano, normale, matrice jacobiana, mappa di Gauss, derivate direzionali Prima e seconda forma fondamentale Curvature principali, operatore di forma, tensore di curvatura, linee di curvatura, ombelicali Funzioni sulle superfici: gradiente e operatore di Laplace-Beltrami Stima discreta del differenziale Proprietà sulle mesh Elaborazione della geometria Smoothing e fairing Parametrizzazione Deformazione della mesh Calcoli geodetici Linee geodetiche e distanze sulle superfici Algoritmi per la stima dei percorsi più brevi e dei campi di distanza Applicazioni alla decorazione di superfici Spline sulle superfici TESTI/BIBLIOGRAFIA 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 DOCENTI E COMMISSIONI ENRICO PUPPO 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 CLAUDIO MANCINELLI LEZIONI INIZIO LEZIONI In accordo con il calendario didattico approvato dal Consiglio dei Corsi di Studio in Informatica: https://corsi.unige.it/corsi/11964/studenti-orario Orari delle lezioni L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy ESAMI MODALITA' D'ESAME 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. MODALITA' DI ACCERTAMENTO 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. ALTRE INFORMAZIONI Per ulteriori informazioni, consultare il modulo Aulaweb dell'insegnamento o contattare il docente. Agenda 2030 Istruzione di qualità Parità di genere Lavoro dignitoso e crescita economica Imprese, innovazione e infrastrutture