Computer graphics

A.A. 2023/2024
6
Crediti massimi
48
Ore totali
SSD
INF/01
Lingua
Italiano
Obiettivi formativi
L'insegnamento ha l'obiettivo di introdurre le nozioni di basi di Modellazione 3D e Rendering, nel contesto della Grafica Computazionale. L'insegnamento presenta le strutture dati principali per la modellazione digitale di oggetti tridimensionali, e gli algoritmi di rendering preposti alla sintesi di immagini digitali che ritraggono gli oggetti modellati (in tempo reale o offline). L'insegnamento presenta anche alcuni comuni strumenti software e linguaggi formali utilizzati in quest'ambito.
Risultati apprendimento attesi
Gli studenti acquisiscono le nozioni di Computer Graphics che permetteranno di individuare la soluzione adeguata ad un problema dato che richieda la modellazione digitale di oggetti tridimensionali e la loro visualizzazione (in uno qualsiasi dei numerosi campi di applicazione possibili). I principi matematici, algoritmici e di strutture dati impartiti, inoltre, forniscono una base di partenza atta ad implementare la soluzione individuata.
Corso singolo

Questo insegnamento può essere seguito come corso singolo.

Programma e organizzazione didattica

Edizione unica

Responsabile
Periodo
Secondo semestre

Programma
* [-] Introduzione

PARTE I: rappresentazioni di strutture 3D

** [M] Modelli 3D: introduzione e proprietà
** [M] Point Clouds [struttura dati]
** [G] Vector and Point algebra [sommario & ripasso]
** [M] Meshes [attributi, normali, modo indicizzato indicizzato]
* [M] Meshes [cenni sul processing: semplifcazione e remeshing]
* [M] Meshes [cenni sul processing: smooth, denoise, clean]
* [M] Meshes [rappresentazioni basate su half-edges]
** [M] Meshes: tessiture & UV mapping.
* [G] Superfici: normale, curvatura, smoothness.
** [M] Superfici di suddivisione: schemi
* [M] Height fields / Range Maps
** [M] Curve parametriche [Bézier curve]
* [M] Superfici parametriche [Bézier patch]
* [M] Volumetric models: voxelized [Oct-tree, marching cubes]
* [M] Volumetric models: Implicit models [CSG]
* [M] Volumetric models: mesh poliedrali.
* [M] Modelli 3D: Costruzione [cenni]
** [M] Modelli 3D: Acquisizione [Range Maps.]

PART II: 3D rendering

* [R] Rendering [intro]
* [R] Ray-tracing [intro]
* [P] Linguaggio GLSL
* [P] Ray-tracing in GLSL [ray casting di sfere]
** [P] Ray-tracing in GLSL [piani, intersezioni]
** [P] Ray-tracing in GLSL [ombre, riflessioni]
** [R] Rasterization [teoria e pipeline HW]
** [G] Trasformazioni spaziali [Trasformazioni affini]
** [G] Trasformazioni spaziali [Rotazioni e traslazioni]
** [G] Trasformazioni spaziali [sistemi di riferimento]
** [R] Pipeline di trasformazioni [Overview. Model matrix]
* [R] Pipeline di trasformazioni [View Matrix]
* [R] Pipeline di trasformazioni [Projection]
** [P] Rasterization in three.js [hello triangle]
* [R] Rasterization in three.js [meshes]
* [P] Rasterization in three.js [textures]

Legenda:
* = 1 ora
[M] Modellazione (1ma parte)
[R] Rendering (2nda parte)
[G] Geometria (basi matematiche)
[P] Programmazione (2nda parte)
Prerequisiti
Sono molto utili per il superamento dell'insegnamento le conoscenze di base di Algebra Lineare, e, in secondo piano, Analisi Funzionale, Algoritmi, e Programmazione. Tuttavia, non sono previste propedeuticità formali.
Metodi didattici
La maggior parte degli argomenti sono esposti attraverso lezioni frontali. Nella prima parte (3D modelling) ci si avvale di strumenti di modelling e geometry processing per esemplificare gli argomenti trattati. Nella seconda parte (3D rendering) le lezioni sono alternate con sessioni di live coding in aula, che ripercorrono gli argomenti proposti. A questo scopo, si fa uso di apposite librerie e linguaggi.
Materiale di riferimento
Nel sito del corso (su piattaforma Ariel) sono forniti lucidi e materiali didattici.

Il seguente libro di testo può essere di ausilio per il background matematico:
Mathematics for 3D Game Programming and Computer Graphics (any edition) - Eric Lengyel - Course Technology

Il seguente libro di testo può essere di ausilio alla preparazione di alcuni degli argomenti trattati:
"Introduction to Computer Graphics: A Practical Learning Approach" M Corsini, F Ganovelli, S Pattanaik, M Di Benedetto
Modalità di verifica dell’apprendimento e criteri di valutazione
L'esame si svolge in modalità scritta attraverso la piattaforma Moodle SEB, e consiste in una sequenza di domande (chiuse, aperte, risoluzione di piccoli esercizi...) che vertono sull'intero programma.

La valutazione è tesa a verificare la piena comprensione degli argomenti trattati nel corso, la capacità di individuare le soluzioni esistenti idonee ad affrontare le sfide tecniche relative alla computer graphics, l'acquisizione del vocabolario tecnico proprio della disciplina, e, in maniera precipua, il grado di familiarità raggiunto nell'uso degli strumenti matematici preposti allo scopo.
INF/01 - INFORMATICA - CFU: 6
Lezioni: 48 ore
Docente: Tarini Marco
Docente/i
Ricevimento:
Martedì 14:30-17:30 (o su appuntamento)
Dipartimento (Via Celoria 18) -- Stanza 4006.