OBIETTIVI FORMATIVI
Aristotele affermava che non
c'è pensiero senza le immagini, ed è infatti evidente che le
immagini hanno un ruolo di primo piano nel pensiero astratto (non a
caso si parla di immaginazione). Si intuisce quindi
l'importanza della componente visuale nella interazione tra uomo e
calcolatore: in questa interazione l'apparato visivo umano interpreta
immagini genarate dal calcolatore. La grafica al calcolatore si occupa
di produrre queste immagini. 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 programmazione e sulla comprensione
dei meccanismi (geometria, radiometria) che consentono di creare
immagini al calcolatore, piuttosto che sull'impiego di strumenti di
modellazione. Il corso si collega idealmente a quelli di Elaborazione
di Immagini e Suoni, Interazione Uomo Macchina, Psicologia della
Percezione e Visione Computazionale, assieme ai quali copre una
porzione rilevante di quella disciplina che va sotto il nome di
Visual Computing.
ATTIVITÀ FORMATIVE
Il corso viene svolto in 32 ore di lezione frontale e 12 ore di
esercitazione in laboratorio, nell'arco di un periodo.
PROGRAMMA DEL CORSO
- Introduzione alla grafica (2h)
- Grafica al calcolatore, paradigmi
- Schema di una applicazione grafica
- Cosa vedremo e cosa non vedremo nel corso
- Informazioni generali
- Fondamenti matematici (3h)
- Spazi vettoriali ed affini
- Matrici e Trasformazioni
- Elementi di geometria computazionale (7h)
- Operazioni di test elementari
- Inviluppo convesso:Graham's scan, Quickhull, Jarvi's march.
- Intersezione di segmenti: plane sweep
- Triangolazioni: generica e di Delaunay (GKS)
- Problemi di prossimità: algoritmo di Shamos, diagrammi di Voronoi.
- Ricerca geometrica: localizzazione di un punto, range search (kd tree)
- Strutture dati geometriche: Quadtree ed Octree, BSP tree
- Modellazione tridimensionale (4h)
- Maglie (mesh) poligonali.
- Superfici parametriche (cenni).
- Geometria solida costruttiva (cenni).
- Suddivisione spaziale (cenni).
- Rendering ed Illuminazione (2h)
- Introduzione al rendering: ray casting
- Equazione della radianza: BRDF, soluzioni approssimate
- Modelli di Illuminazione (3h)
- Modello di Phong
- Modello di Cook-Torrance (cenni)
- Tipi di luci
- Ray tracing
- Radiosity
- Pipeline Reendering (4h)
- Trasformazioni geometriche
- Clipping
- Rimozione delle superfici nascoste: object-space, image-space
- Scan conversion
- Shading: Flat, Phong e Gouraud
- La rendering pipeline di OpenGL.
- Tecniche di mappatura (2h)
- Texture mapping
- Bump mapping
- Fotorealismo (2h)
- Mappe di riflessione
- Light map
- Ombre geometriche
- Trasparenza
- Visualizzazione dei dati (2h)
- Rendering volumetrico
- Estrazione di isosuperfici
- Tecniche avanzate (1h)
- Da definire in base agli interessi.
- Esercitazioni di laboratorio (12 h)
- Introduzione alla programmazione in OpenGL (12h)