Visualizzazione scientifica (2017/2018)

Codice insegnamento
4S02714
Docente
Andrea Giachetti
Coordinatore
Andrea Giachetti
crediti
6
Altri corsi di studio in cui è offerto
Settore disciplinare
INF/01 - INFORMATICA
Lingua di erogazione
Italiano
Periodo
II sem. dal 1-mar-2018 al 15-giu-2018.

Orario lezioni

Vai all'orario delle lezioni

Obiettivi formativi

Il corso mira a fornire allo studente gli strumenti indispensabili a comprendere gli algoritmi ed i metodi
computazionali su cui si basano molte delle applicazioni grafiche interattive. L'enfasi è sulla comprensione della
teoria (geometria, radiometria) e degli aspetti computazionali (algoritmi, programmazione) che stanno dietro alla
creazione di immagini al calcolatore, piuttosto che sull'impiego di strumenti software di modellazione o rendering.
Al termine del corso gli studenti saranno in grado di
-comprendere il funzionamente della pipeline grafica dei calcolatori moderni
-conoscere gli algoritmi alla base della modellazione 3D e del rendering
-progettare e realizzare semplici applicazioni grafiche e di visualizzazione.

Programma

1. Introduzione alla grafica
- Grafica al calcolatore, paradigmi
- Schema di una applicazione grafica
- Applicazioni

2. Fondamenti matematici
- Spazi vettoriali ed affini
- Matrici e trasformazioni
- Richiami di geometria analitica
- Poligoni
- Strutture dati geometriche

3. Modellazione geometrica
- Rappresentazione poligonale
- Curve e superfici (cenni)
- Geometria costruttiva solida (cenni)
- Partizionamento spaziale (cenni)

4. Rendering ed illuminazione
- Introduzione al rendering: ray casting
- Modello fisico: cenni di radiometria, BRDF, equazione del rendering

5. Modelli di illuminazione
- Modello di Phong
- Modello di Cook-Torrance (cenni)
- Tipi di luci
- Ray tracing: modello di Whitted, intersezioni, tecniche di sfoltimento
- Radiosity

6. Rasterizzazione
- Trasformazioni geometriche
- Clipping
- Rimozione delle superfici nascoste: list-priority, depth-buffer
- Scan conversion
- Shading: Flat, Phong e Gouraud
- La pipeline di OpenGL
- Tecniche multi-pass

7. Tecniche di mappatura
- Texture mapping
- Bump mapping

8. Fotorealismo
- Mappe di riflessione
- Light map
- Ombre geometriche
- Trasparenza

9. Visualizzazione scientifica
- Il processo di visualizzazione
- Algoritmi: isosuperfici, slicing, colormap. Problematiche percettive

10. Laboratorio (24h)
-Modellazione 3D: creazione di semplici modelli triangolati
- Introduzione alla programmazione in OpenGL: sviluppo guidato di applicazioni

Modalità d'esame

La verifica del profitto avviene mediante prova scritta (20/30) e valutazione delle attività di laboratorio (10)

Per passare l'esame lo studente deve dimostrare
-Di aver compreso i concetti di base della geometria Euclidea e sulla modellazione di oggetti 3D e del rendering
-Di aver compreso il funzionamento della pipeline grafica di rasterizzazione
-Di saper descrivere i suddetti concetti in modo chiaro ed esaustivo
-Di saper applicare le conoscenze acquisite risolvendo esercizi o sviluppando progetti di codifica

Prova scritta:
La prova scritta consiste di alcune domande a risposta aperta sugli argomenti di teoria, inclusi eventuali esercizi che dimostrino la comprensione di concetti base di modellazione geometrica (e.g. matrici di trasformazione/proiezione)

Prova di laboratorio
La valutazione di laboratorio avviene mediante consegna di codice in itinere, che implementi modifiche a applicazioni base discusse durante le lezioni e che viene discusso oralmente alla fine del corso.
In alternativa gli studenti possono presentare un progetto personalizzato di cui vengono preventivamente definite le specifiche, sempre discutendo il codice sviluppato in una breve interrogazione.

Statistiche per i requisiti di trasparenza (Attuazione Art. 2 del D.M. 31/10/2007, n. 544)

I dati relativi all'AA 2017/2018 non sono ancora disponibili