Grafica (C.d.S. Informatica) A.A.2001/02
Argomenti trattati a Lezione
- Ve 01/03/02, ore 11.30-13.30, Lezione 1. Introduzione al corso: rilevazione
statistica mediante compilazione scheda informativa, equazione
"grafica=modellazione+resa", alcune applicazioni della grafica:
sistemi CAD/CAM, produzione film digitali, ecc.
- Lu.04/03/02, ore 14.00-16.00, Lezione 2. Considerazione su rilevazione statistica
effettuata la prima lezione, spiegazione del taglio del corso che si intende
fare e presentazione del programma del corso; visione di immagini rappresentanti
fasi di modellazione 2D, 3D e resa realistica per far ben comprendere cosa
si intende per grafica secondo l'equazione data la prima lezione.
- Gi.07/03/02, ore 16.00-19.00, Lezione3. Hardware e Software per un
sistema grafico interattivo: display raster-scan (CRT, frame buffer, DPU,
CRT a colori, tipi di frame buffer), dispositivi per l'input grafico
interattivi (mouse e tastiera), il problema dell'interattivita`, ciclo
di polling, coda degli eventi, funzioni di libreria che gestiscono la coda
degli eventi; Sistemi Software per grafica interattiva: il Sistema X Window
(architettura del sistema, X Client, rete, X Server, X Protocol, Xlib,
Window Manager, toolkit per GUI).
- Ve.08/03/02, ore 11.00-13.00, Lezione4. Cosa settare perche' l'X Client
usi un X Server e l'X Server metta a disposizione le sue risorse per l'X Client;
politica di bufferizzazione e svuotamento del buffer delle richieste; proprieta'
e atomi, caratteristiche delle window, gerarchia delle window; primi
elementi di programmazione X Window: esaminati alcuni semplici programmi
Client che fanno esclusivo uso di Xlib.
- Lu.11/03/02, ore 14.00-16.00, Lezione 5. Ancora su programmazione X con
alcuni elementi aggiuntivi come mapping e visibility, depth e visual,
primitive grafiche, XPending, XSetSelectionOwner e XGetSelectionOwner;
introduzione alla libreria xtools per la progettazioni di GUI, descrizione
degli oggetti disponibili, esempio di programma.
- Gi.14/03/02, ore 16.00-19.00, Lezione 6. Sistema di coordinate 3D
Cartesiano e sferico, punti 3D come vettori, rappresentazione B-rep,
struttura dati PSP, formati .m, wavefront .obj, e cenni ad altri;
trasformazioni geometriche 3D in forma matriciale, composizione di
trasformazioni mediante prodotto di matrici, trasformazioni elementari:
traslazione, scala, rotazione e shear, trasformazione del sistema di
riferimento, cenno ad alcune trasformazioni composte come scala rispetto
ad un punto o simmetria rispetto ad un asse o ad un piano; descrizione
degli elementi che definiscono una trasformazione di vista e una
trasformazione window-viewport.
- Ve.15/03/02, ore 11.30-12.30, Non si e` tenuta lezione per malattia
del docente.
- Lu.17/03/02, ore 14.00-16.00, Non si e` tenuta lezione per malattia
del docente.
- Gi.21/03/02, ore 16.00-19.00, Lezione 7. Proiezioni prospettiche e
parallele:
proiezioni centrali (1 punto di fuga) con determinazione delle formule per il
viewing 3D; proiezioni da un punto di vista arbitrario (3 punti di fuga)
con determinazione delle formule per il viewing 3D; trasformazioni come
cambio di base con introduzione del view_up; trasformazioni Window-Viewport;
discussione dei parametri di vista e del loro effetto.
- Ve.22/03/02, ore 11.30-12.30, Lezione 8. Introduzione agli algoritmi
di rendering ed in particolare agli algoritmi di real-time rendering;
wire-frame, depth-cueing, hidden-line; descritto in particolare un algoritmo
di hidden line quasi esatto per mesh triangolari e rettangolari (struttura
PSP).
- Lu.25/03/02, ore 14.00-16.00, Lezione 9. Si e` presentata la libreria trim
per il real-time rendering di oggetti poligonali (memorizzati secondo la struttura
PSP); si sono presentati i programmi esempio xmview, xtreeview, xctrim e si e`
introdotto il pacchetto xcrayt in cui e` possibile sperimentare il posizionamento
della camera al fine di una visualizzazione 3D.
- Gi.04/04/02, ore 16.00-19.00, Lezione 10. Introduzione all'algoritmo Z-buffer
per la rappresentazione shading di oggetti poligonali o PSP; descrizione
dell'algoritmo in termini di pseudocodice e utilita` del buffer Z;
proiezione prospettica dallo spazio 3D dell'oggetto in coordinate
dell'osservatore nello spazio 3D di proiezione con la proprieta' di trasformare
rette in rette e piani in piani con l'obiettivo di conservare le corrette relazioni
di profondita` degli oggetti poligonali gestiti; introduzione ad un semplice
modello di illuminazione.
- Ve.05/04/02, ore 11.30-12.30, Lezione 11. Elementi costituenti il semplice
modello di illuminazione, dovuto a Phong e considerato la lezione precedente:
luce ambiente e riflessione diffusa, sorgente di luce puntiforme con riflessione
diffusa e speculare. Esempi mediante immagini rese con differenti parametri.
Tecnica Flat-shading, Gouraud-shading e Phong-shading per la determinazione
del colore da assegnare ad ogni pixel dell'immagine prodotta. Visione di un
cortometraggio digitale (Geri's Game della Pixar-Walt Disney) per illustrare
le fasi di modellazione e resa nella realizzazione di un film.
- Lu.08/04/02, ore 14.00-16.00, Lezione 12. Primitiva grafica segmento: algoritmo
incrementale e parametrico incrementale, anche in coordinate esclusivamente intere.
Scan conversion di un poligono: algoritmo generale senza restrizioni di forma sul
poligono; cenno al Filling di un poligono.
- Gi.11/04/02, ore 16.00-19.00, Lezione 13. Dettagli sullo scan conversion di un
poligono nell'ambito di un algoritmo di Z-buffer; algoritmo di linea di Bresenham
mediante metodo dei due punti, algoritmo TAM per lo scan conversion di poligoni
convessi; introduzione a shadow e texture in un algoritmo di Z-buffer.
- Ve.12/04/02, ore 11.00-13.00, Lezione 14. Errata-corridge e dettagli su argomenti
precedenti; Shadow: funzionalita' e osservazioni; una proposta di gestione di shadow
in un algoritmo di Z-buffer mediande uno shadow-buffer, problema dell'aliasing e
approccio di antialiasing, calcolo delle pre-immagini. Mostrate e analizzate alcune
immagini di oggetti con applicazione di texture 2D e 3D.
- Lu.15/04/02, ore 14.00-15.00, Lezione 15. La lezione verra` svolta al
Cineca (Via Magnanelli 6/3 - Casalecchio di Reno (BO)) durante la visita al
Teatro Virtuale.
- Gi.18/04/02, ore 16.00-19.00, Lezione 16. Riflessione sulle demo viste durante la
visita al Teatro Virtuale. Texture mapping 2D per oggetti pologonali con Z-Bufferr;
attributi utilizzati: modifica normale alla superficie, coeff. Ka e Kd, colore;
come si procede: mapping da texture space 2D a object space 3D (parametrizzazione)
e proiezione allo spazio schermo; inverse-mapping con problema di minification e
magnification delle texture (filtering; esempio di mipmapping, parametrizzazione; esempio
di two-part mapping con superficie intermedia (S-mapping e O-mapping)), bump-mapping.
- Ve.19/04/02, ore 11.00-13.00, Lezione 17. Il fenomeno dell'Aliasing nella computer
graphics, l'Antialiasing come attenuazione del fenomeno, il supersampling adattivo,
visionate molte immagini senza e con antialiasing con differenti livelli e soglie;
Visione di un cortometraggio digitale (Luxo Jr. della Pixar, 1986) per illustrare
le fasi di modellazione e resa nella realizzazione di un film. Dati da visionare i
due articoli: J.Lasseter, Principles of traditional animation applied to 3D computer
animation, SIGGRAPH'87, 27-31, 1987 e T.DeRose, M.Kass, T.Truong, Subdivision Surfaces
in Character Animation, SIGGRAPH'98, 85-94, 1998 relativi ai due cortometraggi Luxo Jr.
e Geri's Game.
- Lu.22/04/02, ore 14.00-16.00, Lezione 18. Introduzione alle OpenGL; assegnato progetto
n.1.
- Gi.25/04/02. Festa Nazionale.
- Ve.26/04/02. Abbiamo fatto il ponte.
- Lu.29/04/02, ore 14.00-16.00, Lezione 19. Modellazione con curve e superfici in
forma parametrica in contrapposizione a modellazione poligonale. Introduzione alle
curve e superfici in forma parametrica come funzioni vettoriali in una o due variabili;
definizione delle funzioni NUBS (Non Uniform B-Spline) scalari in una variabile;
dimensione dello spazio NUBS; base delle B-spline Normalizzate; rappresentazione
di una funzione NUBS come combinazione lineare di B-spline Normalizzate.
- Gi.02/05/02, ore 16.00-19.00, Lezione 20. Formula ricorrente per la definizione
e calcolo delle B-spline Normalizzate; proprieta`; esempio del loro andamento grafico
nel rispetto delle proprieta` e delle condizioni di raccordo nei nodi;
calcolo di una funzione spline mediante B-spline o mediante l'algoritmo di deBoor sui
coefficienti; introduzione alle curve NUBS 2D.
- Ve.03/05/02, ore 11.00-13.00, Lezione 21. Proprieta` VD per una funzione NUBS;
definizione di approssimazione di forma o VDA di una poligonale; le curve NUBS sono
approssimanti di forma della poligonale di controlloe che le definisce; proprieta`
geometriche delle curve NUBS. Presentato, mediante una cassetta demo e una cassetta
tutorial, il sistema commerciale di modellazione LightWave.
- Lu.06/05/02, ore 14.00-16.00, Lezione 22. Derivata destra di una funzione NUBS
rappresentata nella base delle B-spline normalizzate; osservazioni sulla geometria
delle curve NUBS con nodi multipli o punti di controllo coincidenti; punti di controllo
allineati, curve chiuse con regolarita`. Il tool Knot-Insertion: algoritmo stabile
e prime applicazioni.
- Gi.09/05/02, ore 16.00-19.00, Lezione 23. Ulteriori applicazioni del knot-insertion nella
modellazione di curve 2D NUBS; cenno ai tool: knot-removal (esatto e approssimato),
degree-elevation, degree-reduction (esatto ed approssimato), knot-refinement. Estensione
a curve NUBS 3D e def. di approssimazione di forma per una curva 3D. Definizione geometrica
di curva NURBS 2D e sua espressione analitica come combinazione lineare di funzioni base
RB-spline. Introduzione al pacchetto di modellazione di curve NURBS 2D xccurv
e dimostrazione pratica delle sue funzionalita`. Messo a disposizione il relativo codice,
con archivio curve 2D e guida utente.
- Ve.10/05/02, ore 11.00-13.00, Lezione 24. Generalizzazione per NURBS di tutte le
proprieta` viste per NUBS; analisi dei pesi NURBS e loro influenza sulla forma della
curva; rappresentazione razionale delle sezioni coniche, riparametrizzazione di una curva,
rappresentazione razionale in forma standard di una sezione conica. E` stato presentato
il "dietro le quinte" del film digitale "Dinosauri" della Walt Disney Pictures.
- Lu.13/05/02, ore 14.00-16.00, Lezione 25. Ancora sulla rappresentazione NURBS
delle coniche: classificazione delle coniche e determinazione della NURBS arco
di cerchio e cerchio (rappresentazione a 9 punti). Funzioni spline bivariate
come prodotto tensoriale, superfici NUBS in forma parametrica, griglia dei
punti di controllo, schema bidirezionale di curve NUBS 3D.
- Gi.16/05/02, ore 16.00-19.00, Lezione 26. Cenno alla rappresentazione grafica
di una curva 3D o superficie NUBS; Superfici NURBS in forma parametrica, griglia
dei punti di controllo, schema bidirezionale di curve 3D NURBS. Modellazione
di superfici per curve: superfici extruded, superfici rigate, superfici di
rotazione. Introduzione al pacchetto di modellazione di curve 3D e superfici NURBS
xcsurf e dimostrazione pratica delle sue funzionalita`. Messo a
disposizione il relativo codice, con archivio curve 3D, superfici e guida utente.
- Ve.17/05/02, ore 11.00-13.00, Lezione 27. Presentazione del sistema di
modellazione commerciale MAYA complete 4.0 della Alias-Wavefront; la dimostrazione
in aula e` stata fatta dal Dott. Paolo Ottana`.
- Lu.20/05/02, ore 14.00-16.00, Lezione 28. Generalizzazione delle tecniche di
extruding e rotazione; tecniche di swinging, skinning e sweeping; superfici tubular;
superfici piatte come un disco e poligonali con NURBS; assegnato progetto n.2.
- Gi.23/05/02, ore 16.00-19.00, Lezione 29. Rappresentazione NURBS di superfici a
topologia non rettangolare; superfici NURBS trimmate; loro applicazione nella composizione
solida mediante operazioni booleane; loro applicazione nella modellazione gerarchica
sculturata; mediante il sistema xcsurf si sono sperimentate le tecniche di
swinging, extruding, skinning, tubular, intepolazione di griglie di punti, modellazione
con superfici trimmate. Visionati alcuni progetti di modellazione e resa realizzati
negli anni passati e fruibili sulla pagina web del sistema xcmodel.
- Ve.24/05/02, ore 11.00-13.00, Lezione 30. Presentazione dei formati dei file dati
utilizzati dai vari pacchetti di xcmodel. Algoritmo di ray-tracing per la resa
realistica di scene 3D: idea fondamentale del suo funzionamento, necessita` di un modello
di illuminazione globale, estensione di un semplice modello, trasparenza, modello di Whitted-Kay.
- Lu.25/05/02, ore 14.00-16.00, Lezione 31. Presentazione della libreria descriptor e del
pacchetto xcrayt di xcmodel per la descrizione mediante codice C o interattiva
di una scena al fine di una resa realistica mediante un algoritmo di ray-tracing.
- Gi.30/05/02, ore 16.00-19.00, Lezione 32. Tecniche di accelerazione delle prestazioni
per un algoritmo di ray-tracing, cenno alla tecnica di intersezione raggio superficie,
gestione dell'antialiasing via supersampling, gestione delle texture 3D e 2D.
Tassellazione uniforme o adattiva di una superficie NURBS e di una superficie NURBS trimmata
per il real-time rendering.
- Ve.31/05/02, ore 11.00-13.00, Lezione 33. Presentazione del sistema di
modellazione commerciale 3D Studio MAX R31 della Kinetix; la dimostrazione
in aula verra` effettuata da Luigi Valentini. Fine del corso.
Torna alla
home page di Giulio Casciola