69225 - FONDAMENTI DI COMPUTER GRAPHICS

Anno Accademico 2021/2022

  • Docente: Giulio Casciola
  • Crediti formativi: 6
  • SSD: MAT/08
  • Lingua di insegnamento: Italiano

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