70090 - COMPUTER GRAPHICS

Anno Accademico 2023/2024

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

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