- 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
Matematica (cod. 5827)
Valido anche per Laurea Magistrale in Ingegneria informatica (cod. 0937)
Laurea Magistrale in Informatica (cod. 8028)
Conoscenze e abilità da conseguire
Al termine del corso, lo studente conosce i fondamenti della computer graphics 3D, con attenzione agli aspetti matematici sia teorici che computazionali ed è in grado di sviluppare algoritmi per la modellazione geometrica 3D, la grafica real-time e la visualizzazione scientifica.
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. Modelli poligonali 3D, curve e superfici in forma parametrica, modellazione geometrica di curve e superfici spline e spline razionali (NURBS), strumenti per la modellazione geometrica. Il corso prevede una attività pratica in cui verrà utilizzato il linguaggio di programmazione JavaScript e libreria grafica WebGL/GLSL (C/C++ e librerie grafiche OpenGL/GLSL).
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).
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 (per esempio un videogioco 3D). 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 argomenti trattati durante il corso.
Strumenti a supporto della didattica
Pagina Web del corso;
Dispense del docente;
Distribuzione software per esercitazione;
Demo in aula di software;
Videoproiettore, PC, lavagna.
Link ad altre eventuali informazioni
http://www.dm.unibo.it/~casciola/html/CG2122.html
Orario di ricevimento
Consulta il sito web di Giulio Casciola