- Docente: Giulio Casciola
- Crediti formativi: 6
- SSD: MAT/08
- Lingua di insegnamento: Italiano
- Modalità didattica: Convenzionale - Lezioni in presenza
- Campus: Bologna
-
Corso:
Laurea Magistrale in
Informatica (cod. 5898)
Valido anche per Laurea Magistrale in Ingegneria informatica (cod. 5826)
Laurea Magistrale in Matematica (cod. 5827)
-
dal 21/02/2024 al 15/05/2024
Conoscenze e abilità da conseguire
Al termine del corso, gli studenti conoscono i fondamenti della grafica 3D al calcolatore, tra cui i concetti di modellazione poligonale e resa in tempo reale. In particolare, sono in grado di modellare e rendere scene 3D mediante opportuni software e librerie open source.
Contenuti
Sistemi raster-scan, dispositivi di I/O, librerie grafiche, programmazione event-driven. Mesh 3D e loro rappresentazione grafica. Trasformazioni geometriche 2D/3D, trasformazioni di vista, proiezioni prospettica e parallela, trasformazione window-viewport. Pipeline grafica. Algoritmi di real-time rendering, rimozione delle parti nascoste (hidden line e hidden surface), modelli di illuminazione e algoritmi di shading (Z-buffer), texture mapping. Modellazione poligonale 3D. Il corso prevede una attivita' pratica in cui verra' utilizzato il linguaggio di programmazione HTML5 + JavaScript + libreria grafica WebGL e programmazione GLSL (modulo 1 (6 CFU)).
Nel modulo 2 (2 CFU) si vedrà la Libreria JavaScript cross-browser Three.js, API utilizzata per realizzare applicazioni di Computer Graphics 3D interattive e animate su Web mediante WebGL. Modellazione geometrica di curve e superfici NURBS con esempi in Three.js.
Testi/Bibliografia
Testi da consultare:
1.Peter Shirley, Fundamentals of Computer Graphics, AK Peters (2005);
2.Samuel R. Buss, Computer Graphics: A mathematical introduction with OpenGL, Cambridge University Press (2003);
3.Max K. Agoston, Computer Graphics and Geometric Modeling: Implementation and Algorithms, Springer (2004).
4.Max K. Agoston, Computer Graphics and Geometric Modeling: Mathematics, Springer (2005).
Metodi didattici
Lezioni frontali;
Esercitazioni pratiche;
Demo di software in aula;
Seminari.
Modalità di verifica e valutazione dell'apprendimento
La verifica dell'apprendimento avviene attraverso lo svolgimento di un progetto assegnato nelle ultime settimane del corso e che consiste nella realizzazione di una applicazione web 3D interattiva-grafica. Nello svolgere questo progetto lo studente deve utilizzare tutte le conoscenze acquisite durante il corso. La consegna del progetto deve essere accompagnata da una relazione (tipo tutorial) in linguaggio html. L'esame orale consiste nell'esporre il progetto e nel saper discutere gli argomenti trattati durante il corso.
Strumenti a supporto della didattica
Pagina Web del corso;
Slide;
Distribuzione software per esercitazione;
Demo in aula di software;
Videoproiettore, PC, lavagna.
Link ad altre eventuali informazioni
http://www.dm.unibo.it/~casciola/html/CG2324.html
Orario di ricevimento
Consulta il sito web di Giulio Casciola