Fonfamenti di Computer Graphics (modulo 2) (C.d.S. Magistrale in Ingegneria Informatica) A.A.2019/20
(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
Modellazione con curve di Bezier e curve Spline/nurbs; modellazione con superfici Spline/nurbs.
Algoritmi di rendering di curve e superfici in WebGL.
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 29 aprile con il seguente orario:
Ma. ore 9.00-12.00 Aula Virtuale su Teams (in streaming)
Me. ore 9.00-13.00 Aula Virtuale su Teams (in streaming)
Lezioni e Argomenti trattati
- Me.29/04/20, ore 11.00-13.00, Aula Virtuale (Teams), Lezione 1.
Breve introduzione al modulo 2.
Curve Bezier nella CG (vedi lucidi: Curve di Bezier e Computer Graphics).
Introduzione alle curve in forma parametrica e al loro utilizzo nella CG;
curve di Bezier 2D e 3D e rappresentazione di forma, proprieta', algoritmo di
de Casteljau, discretizzazione e disegno in WebGL (visto codice).
Applicazioni WEB MD-spline e NURBS. Esempio di moto rettilineo con curva di Bezier.
- Ma.05/05/20, ore 9.00-12.00, Aula Virtuale (Teams), Lezione 2.
Curve di Bezier e Suddivisione: valutazione ricorsiva (rendering 2D e 3D), valutazione derivate
prime e seconde, valutazione Frenet Frame e applicazione a movimento su curve di oggetti e camera.
Cenno alle curve di Bezier a tratti (vedi lucidi: Curve di Bezier e Computer Graphics).
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; tassellazione uniforme, adattiva e mista; esempio di codice per
visualizzare patch di Bezier in WebGL (vedi lucidi: Patch di Bezier e Computer Graphics).
- Me.06/05/20, ore 9.00-11.00, Aula Virtuale (Teams), Lezione 3.
Esaminati alcuni codici messi a disposizione (vedi archivio WebGL_codes4.zip), descritte le
librerie anmglib.js (vedi lucidi: anmglibjs.pdf) e math.js. Curve su Superfici ed esempi di
surface analysis sfruttando il calcolo di valori, derivate prime e seconde di patch di Bezier.
- Me.06/05/20, ore 11.00-13.00, Aula Virtuale (Teams), Lezione 4.
Curve spline: dalle curve di Bezier a tratti alle curve spline; spazio spline, funzioni B-spline,
proprieta', curve spline, valutazione, valutazione derivate, algoritmo di de Boor, suddivisione,
conversione da spline a Bezier a tratti (vedi lucidi: Curve Spline e Computer Graphics).
- Ma.12/05/20, ore 9.00-12.00, Aula Virtuale (Teams), Lezione 5.
Curve spline chiuse e periodiche; knot-insertion e applicazioni; raffinamento. Curve nurbs.
Esempi con le web-app MD-spline Demo e NURBS Demo.
Superfici spline: valutazione esatta e raffinamento; superfici trimmate; superfici nurbs
(vedi lucidi: Superfici spline/NURBS).
- Me.13/05/20, ore 9.00-11.00, Aula Virtuale (Teams), Lezione 6.
Superfici da curve per estrusione, rigate, per rivoluzione, per swinging.
Esempi e demo con la Web-App Spline/NURBS Viewer: analizzata la web-app, visionati vari
modelli scaricati dal 3D NURBS Models del progetto XCModel e visionati alcuni 3D Modeling Projects.
Visionati alcune superfici generate da curve e le curve relative. Visionate superfici per teapot
a patches di Bezier e come nurbs. Caricamento modelli in formato IGES e XCModel. Messi a disposizione
tre archivi .zip contenenti modelli e superfici spline/nurbs.
- Me.13/05/20, ore 11.00-13.00, Aula Virtuale (Teams), Lezione 7.
Schemi di suddivisione; schema di chaikin e 4-point per curve; schema di suddivisione di
Catmull-Clark per superfici; valutazione esatta in corrispondenza di valori parametrici poposta da Stam.
(Vedi lucidi: Superfici di Suddivisione). Esempi e demo con la Web-App Catmull-Clark Subdivision Surfaces.
Superfici di suddivisione di Catmull-Clark in Blender.
Fine delle Lezioni.
Download Lucidi
Download Software e Manuali
Libri
Siti
Chi segue il Corso
Vedi:
modalita' d'esame
Torna alla
home page di Giulio Casciola