Obiettivi formativi
L’obiettivo del corso è fornire allo studente competenze teoriche e
applicative nell'ambito della grafica tridimensionale e in particolare:
- Fondamenti di grafica 3D
- Algoritmi fondamentali della grafica 3D
- Fondamenti di modellazione geometrica 3D
Capacità di applicare conoscenza e comprensione:
- Progettare e realizzare applicazioni grafiche in ambiente OpenGL
- Programmazione in linguaggio C per il calcolo scientifico
- Analizzare e descrivere l'architettura di un sistema grafico
Prerequisiti
Sono richieste conoscenze di informatica e matematica di base. Sono
richieste conoscenze di programmazione in linguaggio C.
Contenuti dell'insegnamento
E' un corso di introduzione alla Computer Graphics.
Descrive metodi ed algoritmi per la programmazione e la visualizzazione di entità grafiche 3D.
Programma esteso
Introduzione. Definizioni, strumenti, applicazioni.
Hardware grafico. Architettura di un sistema grafico.
Ripasso di nozioni di matematica.
Calcolo vettoriale e matriciale.
Geometria Cartesiana nel piano e nello spazio.
Modellazione geometrica 3D. Modellazione wireframe, modellazione solida (B-rep, CSG, decomposizione spaziale, sweeping).
Trasformazioni geometriche 2D e 3D. Trasformazioni composte.
Trasformazioni di vista. Proiezioni parallele. Proiezioni prospettiche.
Trasformazioni windows-to-viewport.
Algoritmi pipeline grafica: Clipping, scan conversion, antialiasing, backface culling, rimozione di parti nascoste.
Rendering visivo. Modelli di illuminazione.
Lighting, shading, ray tracing, radiosity. Texture mapping e bump mapping.
Introduzione alla pipeline grafica programmabile (shaders programmabili).
Curve e superfici parametriche.
Curve e superfici polinomiali, cubiche, spline, di Bezier, B-spline, NURBS e loro proprietà.
Bibliografia
1) Peter Shirley, Michael Gleicher, Fundamentals of Computer Graphics,
Third Edition, A K Peters/CRC Press.
2) R. Scateni, P.Cignoni, C.Montani, R.Scopigno, Fondamenti di grafica
tridimensionale interattiva, McGraw-Hill.
Metodi didattici
Lezioni in aula (22 ore).
Esercitazioni di laboratorio su programmazione OpenGL (20 ore).
Modalità verifica apprendimento
Non sono previste prove in itinere.
1) Prova scritta di laboratorio basata su programmazione C/OpenGL.
La prova di laboratorio consiste nello sviluppo di una applicazione grafica
sugli argomenti delle esercitazioni di laboratorio.
Durata della prova: 4 ore.
Incidenza della prova sulla votazione finale: 50%
2) Prova orale sui contenuti delle lezioni in aula.
Incidenza della prova sulla votazione finale: 50%
Altre informazioni
- - -
Obiettivi agenda 2030 per lo sviluppo sostenibile
- - -