UGO ERRA | FONDAMENTI DI GRAFICA TRIDIMENSIONALE

FONDAMENTI DI GRAFICA TRIDIMENSIONALE
SCUOLA di INGEGNERIA
Laurea Magistrale
INGEGNERIA INFORMATICA E DELLE TECNOLOGIE DELL'INFORMAZIONE
6
 CFUOreCicloDocente
1FONDAMENTI DI GRAFICA TRIDIMENSIONALE
6 48 Primo Semestre ERRA UGO 
 
Lingua insegnamento
 

Italiano

Obiettivi formativi e risultati di apprendimento
 

L’obiettivo principale del corso consiste nel fornire una introduzione teorica e applicativa alla grafica tridimensionale con particolare riferimento agli approcci basati sulla generazione di immagini fotorealistiche off-line.
Conoscenza e capacità di comprensione: lo studente deve dimostrare di conoscere e comprendere i modelli matematici e gli algoritmi che utilizzano il Ray Tracing nella generazione di immagini fotorealistiche; modella della camera, matrici di trasformazioni, modelli di illuminazione e di shading, texture mapping; illuminazione globale; implementazione mediante il linguaggio C/C++ di tutta la teoria illustrata a lezione.
Capacità di applicare conoscenza e comprensione: lo studente deve dimostrare di essere in grado di modificare e sviluppare autonomamente gli algoritmi a partire dalla teoria illustrata a lezione; sviluppare procedure in grado di generare immagini a partire dalla descrizione della scena; aggiungere e modificare gli approcci visti a lezione per espandere le possibilità di un sistema di rendering fotorealistico.
Autonomia di giudizio: lo studente deve essere in grado di saper valutare in maniera autonoma le proprietà fondamentali e le prestazioni di un algoritmo di rendering fotorealistico.
Abilità comunicative: lo studente deve avere la capacità di presentare in maniera chiara, utilizzando, se necessario, un linguaggio comprensibile anche a persone non esperte, le funzioni di un sistema di rendering fotorealistico a partire dai suoi nonché anche gli aspetti di efficienza ed efficacia.
Capacità di apprendimento: lo studente deve essere in grado di consultare in maniera autonoma testi e articoli scientifici di rendering al fine di estendere le conoscenze di base acquisite nel corso, anche con riferimento a domini applicativi anche e soprattutto alla computer graphics in real-time per coloro che vogliono seguire anche il corso di Grafica Tridimensionale Avanzata.

Prerequisiti
 

È consigliabile avere acquisito e assimilato le seguenti conoscenze e metodologie fornite dagli insegnamenti di
matematica e fisica di base, nonché dai corsi di “Programmazione Procedurale”, “Algoritmi e Strutture Dati” ed “Programmazione ad Oggetti”, in particolare:
• conoscenza di algebra lineare (vettori e matrici);
• conoscenza della programmazione procedurale (strutture dinamiche, puntatori, programmazione event-driven);
• conoscenza approfondita del linguaggio C ed una conoscenza di base del C++;
• capacità di realizzare algoritmi di calcolo in linguaggi procedurali.

Contenuti del corso
 

Richiami di matematica (2 ore di lezione): Algebra lineare, Trigonometria, Vettori, Curve e Superfici, Interpolazione Lineare, Triangoli;

Grafica Raster (2 ore di lezione): Immagini, Pixels e Geometria, Colori RGB, Alpha Blending;

Ray Tracing (4 ore di lezione): l'Algoritmo Ray-Tracing, Prospettiva, Calcolo dei raggi, Intersezione raggio-oggetto, Illuminazione, Ombre;

Matrici di Trasformazione (4 ore di lezione): Trasformazioni lineari 2D, Trasformazioni lineari 3D, Traslazione e Trasformazioni Affini, Matrici Inverse, Trasformazioni di Coordinate;

Il Modello della Camera (8 ore di lezione): Trasformazione della vista, Trasformazioni prospettica, Campo visivo;

Surface Shading (8 ore di lezione): Modello di illuminazione di Phong, Diffuse Shading, Phong Shading;

Texture Mapping (4 ore di lezione): Definizione di Texture, Coordinate di Texture, Applicazioni del texture mapping;

Ray Tracing Avanzato (8 ore di lezione): Trasparenze e Riflessioni, Ray Tracing distribuito;

Illuminazione Globale (8 ore di lezione): Particle Tracing, Path Tracing, Physically based rendering.

Metodi didattici
 

L’occasione didattica principale sarà la lezione in classe; durante la lezione saranno presentati i principali contenuti del programma del corso. Insieme agli aspetti teorici, verranno presentate delle applicazioni pratiche e delle esercitazioni per invogliare lo studente a mettere in pratica immediatamente i concetti introdotti a lezione. Durante il corso saranno fornite anche delle domande di riepilogo per facilitare l'autovalutazione dell'apprendimento sui temi delle lezioni. Di solito sono domande con difficoltà eterogenea, vanno dalle semplici definizioni, a richieste di confronto di soluzioni/tecniche, fino ad arrivare a domande che cercano di spingervi a trovare le motivazioni ad alcune scelte. Si consiglia fortemente la frequenza.

Modalità di verifica dell'apprendimento
 

Le verifica dell’apprendimento sarà effettuata in tre fasi:
1. Durante il corso ci saranno due momenti distinti in cui saranno assegnate delle prove individuali per accertare la comprensione degli argomenti fino a quel momento. Ogni prova individuale consiste di circa 5 esercizi in cui lo studente dovrà implementare completamente o in parte alcuni aspetti teorici illustrati a lezione. La somma delle due prove individuali darà un punteggio massimo di 10 punti.
2. Verso la fine del corso gli studenti sono invitati a comporre dei gruppi (massimo 3 persone) per lo sviluppo di un progetto il cui argomento può essere proposto insieme al docente. Per poter sostenere l’esame è necessario consegnare il progetto con una breve relazione ed un sito web. Il progetto può essere preventivamente valutato dal docente che può chiedere modifiche e/o integrazioni. La valutazione finale del progetto darà un punteggio massimo di 15 punti.
3. La prova orale consiste in una discussione del progetto e delle prove individuali utili a valutare il grado di maturità ed autonomia nell’affrontare problemi applicativi nell’ambito della computer graphics, nonché le capacità di presentare in modo chiaro e sintetico il lavoro svolto. La prova orale darà un punteggio massimo 5 punti.
Il voto finale sarà determinato dalla somma delle prove individuali, del progetto e della discussione orale ma anche sulla base della correttezza, della profondità delle conoscenze acquisite, nonché sul livello di partecipazione che lo studente ha mostrato durante il corso.

Testi di riferimento e di approfondimento, materiale didattico Online
 

Fundamentals of Computer Graphics, Fourth Edition, Steve Marschner, Peter Shirley. December 18, 2015 by A.K. Peters/CRC Press, ISBN 9781482229394.
• Sito web del corso con codice C/C++ degli algoritmi illustrati a lezione, tool di sviluppo software e tutorial.

Metodi e modalità di gestione dei rapporti con gli studenti
 

All’inizio del corso il docente descrive obiettivi, programma e metodi di verifica del corso, indicando dove reperire il materiale didattico on line. L’orario di ricevimento è fissato per Martedì e Mercoledì dalle ore 10:30 alle ore 12:30 presso lo studio del docente o nel laboratorio di computer graphics. Oltre all’orario di ricevimento settimanale, il docente è disponibile in ogni momento per un contatto con gli studenti, attraverso la propria e-mail o alla fine della lezione.

Date di esame previste
 

4/2/2020, 18/2/2020, 6/5/2020, 1/7/2020, 15/7/2020, 23/9/2020, 16/12/2020

 
Fonte dati UGOV