Fonfamenti di Computer Graphics (modulo 2) (C.d.S. Magistrale in Ingegneria Informatica) A.A.2021/22
(2^ semestre, 2^ anno)
Esame orale
CFU 2
Docente Prof. Giulo Casciola
Scopo
Dare i fondamenti della grafica 3D al calcolatore, tra cui i concetti di modellazione poligonale e
resa in tempo reale. Modellazione e rappresentazione grafica di scene 3D mediante opportuni
software.
Contenuto
Libreria JavaScript cross-browser Three.js. API utilizzata per realizzare applicazioni di Computer Graphics 3D interattive e animate su Web mediante WebGL. Se avremo tempo faremo un salto nel mondo della geometria esatta (curve e superfici NURBS e di suddivisione) con esempi in Three.js.
Testi Consigliati
- Peter Shirley, Fundamentals of Computer Graphics, AK Peters (2005);
- Samuel R. Buss, 3D Computer Graphics: A mathematical introduction with OpenGL, Cambridge University Press (2003);
- Max K. Agoston, Computer Graphics and Geometric Modeling: Implementation and Algorithms, Springer (2004).
- Max K. Agoston, Computer Graphics and Geometric Modeling: Mathematics, Springer (2005).
Orario delle Lezioni
- Le lezioni inizieranno il 16 maggio con il seguente orario:
Lu. ore 15:30-18:30 Aula E1 e su Teams (in streaming)
Me. ore 9:00-11:00 Aula E1 e su Teams (in streaming)
Lezioni e Argomenti trattati
- Me.11/05/22, ore 10.00-11.00, Aula E1 e Straming, Lezione 1.
Breve introduzione al modulo 2.
- Lu.16/05/22, ore 15.30-18.00, Aula E1 e Straming, Lezione 2.
introduzione alla libreria three.js con slide in three.js ed esempi in three.js; (vedi threejs-slide-intro.zip in Download Software e Materiale). La lezione è terminata alle ore 18:00.
- Me.18/05/22, ore 9.00-11.00, Aula E1 e Straming.
LEZIONE ANNULLATA
- Lu.23/05/22, ore 15.30-18.30, Aula E1 e Straming, Lezione 3.
(vedi slide: Learning Three.js) seguendo il libro e i codici/esempi della III edizione, si
sono esaminati i primi 4 capitoli. Insieme sono state fatte piccole modifiche ai codici e sono stati proposti
semplici esercizi.
- Me.25/05/22, ore 9.00-11.00, Aula VII piano Dip.Mat., Lezione 4.
(vedi slide: Learning Three.js) seguendo il libro e i codici/esempi della III edizione, si
sono esaminati i capitoli 5-9. Sono state fatte piccole modifiche ai codici e sono stati proposti
semplici esercizi.
- Lu.30/05/22, ore 15.30-18.30, Aula E1 e Straming, Lezione 5.
(vedi slide: Learning Three.js) seguendo il libro e i codici/esempi della III edizione, si
è esaminato il capitoli 10.
Esercizio: sviluppo di una applicazione web per moto di un oggetto lungo un percorso 3D definito
da una curva NURBS in three.js (vedi slide: NURBS in three.j e slide: Curve: da Bezier a spline/NURBS).
Introduzione alle curve, alle curve di Bezier, Bezier a tratti, spline e quindi NURBS.
Scaricata l'ultima versione di three.js ed esaminati gli esempi che utilizzano curve e superfici NURBS.
- Me.1/06/22, ore 9.00-11.00, Aula E1 e Streaming, Lezione 6.
(vedi slide: NURBS in three.js: NURBSCurve e NURBSUtils) seguendo la traccia sulle slide si e' modificato un codice di esempio in three.js per risolvere l'Esercizio che si era proposto; in particolare si è estesa la classe NURBSCurve con il metodo computeFrenetFrames.
- Lu.6/06/22, ore 15.30-18.30, Aula E1 e Straming, Lezione 7.
Ripreso e concluso l'Esercizio sul moto di un oggetto lungo un percorso 3D NURBS.
Esercizio: sviluppo di una applicazione web per moto di un oggetto lungo un percorso 3D definito da una curva su una superficie NURBS.
Patch di Bezier; dalle superfici bilineari alle superfici prodotto tensoriale nella base si Bernstein.
Valutazione della superficie utilizzando algoritmi di valutazione di curve; proprieta', piano tangente
e vettore normale alla superficie.
Superfici spline e NURBS; tassellazione uniforme, adattiva e mista;
superfici trimmate; curve su superfici (vedi slide: Superfici: da Bezier a spline/NURBS).
(vedi slide: NURBS in three.js: NURBSSurface e NURBSConS) seguendo la traccia sulle slide si e' modificato un codice di esempio in
three.js per risolvere l'Esercizio proposto; nel contempo si è estesa la classe NURBSSurface e si è progettata e sviluppata la nuova classe NURBSConS in three.js.
Fine delle Lezioni.
Download Slide
Download Documenti
Download Software e Materiale
Libri
Siti
Chi segue il Corso
Vedi:
modalità d'esame
Torna alla
home page di Giulio Casciola