Grafica (C.d.S. Informatica) A.A.2009/10
Modulo "Geometric Modelling"
Scopo
Dare i fondamenti della grafica 3D al calcolatore, sviluppando
i concetti di modellazione geometrica con curve e superfici
e di resa realistica.
Contenuto
Modulo Geometric Modeling:
Modellazione con curve e superfici NUBS e NURBS in forma parametrica.
Strumenti per la modellazione di forma, rappresentazione di curve e superfici
geometriche classiche, tecniche automatiche di progettazione di forme.
Algoritmi di rendering realistico (ray-tracing).
Il corso prevede l'utilizzo del sistema
sistema XCModel per la modellazione e resa di curve e superfici NURBS e la
visione/utilizzo di alcuni pacchetti commerciali di modellazione.
Lezioni e Argomenti trattati
- Me.17/02/10, ore 13.30-15.30, aula E2
, Lezione 1.
Presentazione introduttiva su modellazione 3D: primitive di modellazione: Mesh poligonali,
NURBS e Subdivision; definizioni e tecniche di modellazione; sistemi
di modellazione di superfici e solidi; modellazione approssimata ed esatta;
rapresentazione e visualizzazione;
(vedi lucidi: Introduzione alla Modellazione)
- Lu.22/02/10, ore 13.30-15.30, aula E2
, Lezione 2.
Richiami di geometria delle curve: curva in forma parametrica; limite, derivata e integrale;
continuita' C^k, grafico della curva, curva regolare e regolare a tratti, punto semplice di
una curva e curva semplice, cambio di parametro, prorieta' invarianti per parametrizzazione.
- Me.24/02/10, ore 13.30-15.30, aula E2
, Lezione 3.
Retta tangente, vettore tangente, lunghezza di una curva, ascissa curvilinea
(parametrizzazione della lunghezza ad arco); vettore normale e binormale,
vettore curvatura, curvatura e raggio di curvatura.
Curve in forma parametrica polinomiali; scelta della base di rappresentazione.
Curve di Bezier; polinomi di Bernstein; proprieta'; algoritmo di de Casteljau;
suddivisione ricorsiva e visualizzazione grafica; joining di curve di Bezier.
(vedi lucidi: Curve di Bezier)
- Lu.01/03/10, ore 13.30-15.30, aula E2
, Lezione 4.
Ancora su joining di curve di Bezier: join C^0, C^1, G^1, ecc.;
difficolta' di modellazione di forme complesse.
Funzioni spline (NUBS) a nodi multipli; spazio e dimensioni; partizione estesa e base
delle B-spline Normalizzate: definizione via formula ricorrente;
utilizzo della formula per definizione esplicita delle funzioni base.
(vedi Dispensa: Modellazione Geometrica con Curve)
- Me.03/03/10, ore 13.30-15.30, aula E2
, Lezione 5.
Valutazione via formula ricorrente; ordine e numero nodi;
funzioni B-spline e loro supporto; B-spline non nulle in un intervallo nodale.
Proprieta': supporto locale; non negative; partizione dell'unita';
Esempi di spazi NUBS e rappresentazione grafica delle loro basi B-splie.
Formula per la derivata destra di B-spline.
- Lu.08/03/10, ore 13.30-15.30, aula E2
, Lezione 6.
Derivata di una NUBS, derivate di ordine superiore;
proprieta' di variation diminishing.
Relazione fra numero di CP, ordine e numero nodi; esempi.
Curve NUBS: esempi e parametri; nodi aggiuntivi coincidenti, punto iniziale e finale.
Proprieta': guscio convesso globale e locale, controllo locale della curva,
invarianza per trasformazioni affini; approssimazione di forma della poligonale di controllo.
- Me.10/03/10, ore 13.30-15.30, aula E2
, Lezione 7.
Derivata di una curva NUBS, vettori tangenti agli estremi, CP consecutivi coincidenti,
CP consecutivi allineati, curve chiuse e periodiche.
Visionato pacchetto XCCurv di XCModel per la gestione di curve NUBS 2D.
- Lu.15/03/10, ore 13.30-15.30, aula E2
, Lezione 8.
Algoritmo di de Boor; curve NUBS di interpolazione e di approssimazione in norma.
Knot-Insertion: algoritmo di inserzione di un nodo, esempio.
- Me.17/03/10, ore 13.30-15.30, aula E2
, Lezione 9.
Tool knot-insertion: inserzione multipla (valutazione, splitting e valutazione
vettori tangente); Demo con il paccheto XCCurv: insert-knot, insert-cp (inverse knot insertion)
splitting, standard representation, refinement, multiresolution analysis.
- Lu.22/03/10, ore 13.30-15.30, aula E2
, Lezione 10.
Ancora su applicazioni del knot-insertion;
Definizione di funzione NURBS; spazio NURBS e funzioni base RB-spline.
Generalizzazione delle proprieta` viste per NUBS a NURBS; curve NURBS;
definizione geometrica di curva NURBS 2D (proiezione di curve NUBS 3D);
significato geometrico dei coefficienti pesi.
- Me.24/03/10, ore 13.30-15.30, aula E2
, Lezione 11.
Rappresentazione quadratica razionale delle sezioni coniche;
rappresentazione standard mediante riparametrizzazione;
classificazione delle coniche;
determinazione della NURBS arco di cerchio;
determinazione della NURBS cerchio (rappresentazione a 9 punti).
Demo con il pacchetto XCCurv.
- Lu.29/03/10, ore 13.30-15.30, aula E2
, Lezione 12.
Funzioni NUBS bivariate prodotto tensoriale, funzioni B-spline bivariate,
proprieta', valutazione funzioni NUBS;
superfici NUBS in forma parametrica, griglia dei punti di controllo;
superfici come schema bidirezionale di curve NUBS 3D; propieta' delle superfici NUBS.
(vedi Dispensa: Modellazione Geometrica con Superfici)
- Me.31/03/10, ore 13.30-15.30, aula E2
, Lezione 13.
Superfici periodiche; knot-refinement per superfici e sue applicazioni: valutazione,
valutazione tangenti, splitting.
Superfici NURBS; funzioni RB-spline bivariate; proprieta'.
- Me.07/04/10, ore 13.30-15.30, aula E2
, Lezione 14.
Superficie bilineare come combinazione affine di segmenti; rappresentazione come NURBS;
combinazione affine di curve NURBS e rappresentazione NURBS della superficie;
superfici da curve: cilindrica (o per estruzione) e cilindrica generalizzata (rigata).
Superfici di rivoluzione; superfici classiche come cilindro, cono,
sfera, toro, ecc.
Superfici swinging (generalizzazione di rivoluzione); rivoluzione e swinging con curve 3D.
Superfici sweeping.
- Lu.12/04/10, ore 13.30-15.30,
Lezione soppressa.
- Me.14/04/10, ore 13.30-15.30, aula E2
, Lezione 15.
Superfici skinning o per interpolazione di curve.
Presentazioni delle funzionalita' del pacchetto XCSurf di XCModel:
dimostrazione su curve 3D e superfici. Ambienti di modellazione Numeric e Interactive;
costruzione di superfici da curve: extruding.
- Lu.19/04/10, ore 13.30-15.30, aula E2
, Lezione 16.
Presentazioni delle funzionalita' del pacchetto XCSurf di XCModel:
costruzione di superfici da curve: revolution, swinging, tubular, skinning;
ambiente di modellazione interattiva; modellazione dinamica mediante Albero di Costruzione;
- Me.21/04/10, ore 13.30-15.30, aula E2
, Lezione 17.
Presentazioni delle funzionalita' del pacchetto XCSurf di XCModel: inbetween,
tecniche di deformazione (Bending, Twisting e Tapering).
Superfici NURBS trimmate: definizione e applicazioni per la composizione solida, per la
composizione di superfici e per la modellazione gerarchica.
Presentazioni delle funzionalita' del pacchetto XCSurf di XCModel: superfici
trimmate e modellazione gerarchica.
- Lu.26/04/10, ore 13.30-15.30, aula E2
, Lezione 18.
Demo con Rhino: visionato il pacchetto CAD 3D commerciale Rhinoceros;
progettazione di superfici da curve: extrusion, revolve, rail revolve, sweep 1 rail, loft, ecc.
Scambio modelli con XCModel via formato igs; operazioni booleane fra solidi e
superfici nurbs trimmate.
- Lu.03/05/10, ore 13.30-15.30, aula E2
, Lezione 19.
Introduzione al ray-tracing per la resa realistica di scene 3D: modello di
illuminazione locale e globale, albero dei raggi, ricorsione e test di arresto.
Intersezione raggio/superfici NURBS e NURBS trimmate; tecniche di accelerazione del ray-tracing.
- Lu.10/05/10, ore 13.30-15.30, aula E2
, Lezione 20.
Ancora sul ray-tracing: tecniche di accelerazione, texture mapping, texture 3D, antialiasing.
(vedi lucidi: Ray-Tracing)
Presentazione della libreria descriptor per la creazione di uno scene-graph mediante codice C;
(vedi lucidi: descriptor library: lo scene-graph di XCModel)
- Me.12/05/10, ore 13.30-15.30, aula E2
, Lezione 21.
Esempi di utilizzo della libreria descriptor;
Pacchetto XCRayt per il caricamento di
uno scene-graph ed esecuzione del ray-tracer di XCModel.
Esempi di script.c e resa con ray tracing;
(vedi lucidi: XCRayt e XCView)
- Lu.17/05/10, ore 13.30-15.30, aula E2
, Lezione 22.
Esempi di di piccole animazioni procedurali con script C e libreria descriptor.
Utilizzo di XCRayt per la creazione di uno scene-graph in maniera interattiva.
Descrizione setting parametri camera e parametri di resa.
- Me.19/05/10, ore 13.30-15.30, aula E2
, Lezione 23.
Ancora su esempi con XCRayt.
Introduzione al Photon Mapping; una implementazione in hrayt di XCModel.
(vedi lucidi: Photon Mapping)
Esempi di progetti di Modellazione, Resa e Animazione di anni precedenti;
Assegnato e discusso Progetto_GM
Modellazione e Resa realistica con XCModel ;
Progetto d'esame
-
Modellazione e Resa realistica con XCModel Assegnato il 19/05/2010
Download pacchetti corso
-
README_xcmodel
-
xccurvusr.tar.gz
-
xcsurfusr.tar.gz
-
xcraytusr.tar.gz
Siti
-
ucsc links
-
Siti vari
-
Siti OpenGL
Torna alla
home page di Giulio Casciola