UNIVERSITA' degli STUDI di BOLOGNA
Facoltà di Ingegneria, Bologna
Corso di Laurea Specialistica in Ingegneria Informatica/Elettronica


Corso di Metodi Numerici per la GRAFICA
A.A. 2006/2007

II ciclo, CFU 6

ORARIO:

MARTEDI' 14-16 AULA 0.6
MERCOLEDI' 9-11 LAB 2
GIOVEDI' 14-17 AULA 7.9 (CIRAM primo piano)

 


Programma del corso

Scopo del corso:
Il corso si propone di fornire elementi di computer graphics, modellazione e resa al calcolatore. Alla teoria si affianchera' una fondamentale attività di laboratorio.
Programma del corso :
Pipeline grafica: modellazione e resa. Programmazione con la libreria di grafica avanzata OpenGL. Dispositivi di input/output. Tecniche avanzate di input 3D. Geometria per la computer graphics. Trasformazioni geometriche 2D/3D, trasformazione window-viewport, trasformazioni di vista, proiezioni prospettica e parallela. Algoritmi di grafica di base, algoritmi di clipping, algoritmi di scan conversion, algoritmi di real-time rendering, ray tracing. Modelli di illuminazione e algoritmi di shading. Texture mapping e bump mapping. Gestione del colore. Modelli poligonali 2D/3D. Curve e superfici in forma parametrica, modellazione geometrica di curve e superfici spline e spline razionali (NURBS), strumenti per la modellazione geometrica. Superfici a topologia triangolare ed arbitraria. Tecniche di subdivision: teoria e pratica.Ricostruzione di superfici a partire da dati acquisiti tramite scanner 3D. Tecniche di animazione digitale. L'animazione per fotogrammi chiave; motion capture; animazione lungo un percorso; tecniche di animazione avanzata: cinematica e dinamica diretta ed inversa; L'animazione di figure articolate.
Il corso prevede un'attività di laboratorio in cui verrà utilizzato il linguaggio di programmazione C/C++ e le librerie grafiche OpenGL.


Esami

Modalità d'Esame:

L'esame consiste nella consegna e discussione di alcuni progetti di laboratorio assegnati durante le lezioni. Alternativamente si possono sostituire due dei progetti con un progetto individuale concordato con il docente o con un seminario in aula su di un argomento concordato con il docente.

Appelli:

contattare il docente per sostenere l'esame.
22 marzo 2007 (CIRAM, secondo piano)
16 aprile 2007 (Dip. Matematica)
23 aprile 2007 (Lab2) ore 9:30
10 maggio 2007 (CIRAM, Lab. I piano) ore 9:30
7 giugno 2007 (Dip. Matematica) ore 9:15
15 giugno 2007 (CIRAM) ore 9:15

Testi di Riferimento

  • Shreiner, Woo, Neider, and Davis, OpenGL Programming Guide ,
    fourth edition, Addison-Wesley.


  • Möller and Haines, Real-Time Rendering,
    second edition, A K Peters, 2003.


  • Edward Angel, Interactive Computer Graphics: A Top-down Approach with OpenGL,
    Addison-Wesley III edition (2003).


  • Foley, van Dam, Feiner, and Hughes, Computer Graphics: Principles and Practice,
    second edition in C, Addison-Wesley.


  • A. Watt, 3D COMPUTER GRAPHICS,
    III edition, Addison Wesley, 2000.


  • Bibliografia: Computer Graphics e Scientific Visualization
  • Bibliografia disponibile presso la Biblioteca del Dip. di Matematica
  •  


    Dispense e lucidi delle lezioni


    Lezione del 23/01/2007
    Lezione del 25/01/2007
    Lezione del 25/01/2007
    Lezione del 30/01/2007
    Esercitazione LAB CG0 31/01/2007
    Lezione del 01/02/2007
    Lezione del 01/02/2007
    Lezione del 01/02/2007
    Lezione del 06/02/2007
    Esercitazione LAB CG1 07/02/2007
    Lezione del 08/02/2007
    Lezione del 08/02/2007
    Lezione del 13/02/2007
    Esercitazione LAB CG2 14/02/2007
    Lezione del 15/02/2007
    Lezione del 20/02/2007 + Lezione del 27/02/2007
    Lezione del 20/02/2007
    GLUI: librerie, esempi, manuale: WINDOWS & UNIX (leggere il README)
    Esercitazione LAB CG3 21/02/2007
    Lezione del 22/02/2007
    Programmi openGL luci del 22/02/2007
    Esercitazione 3bis del 28/02/2007
    Lezione del 1/03/2007
    Lezione del 6/03/2007 Versione b/w Lezione del 6/03/2007
    Lezione del 06/03/2007
    Esercitazione LAB CG4 7/03/2007
    Lezione del 13/03/2007
    Lezione del 13/03/2007
    Esercitazione LAB CG5 14/03/2007
    Lezione del 15/03/2007

    Graphics LINK

  • Indice di alcuni siti di grafica
  • Nate Robins TUTORIALS
  • OpenGL
  • Ambiente Visual Studio .NET
  • Compilare con OpenGL sotto Windows
  • Libreria GLUI
  • BLENDER: Programma OpenSource di Modellazione/Grafica e animazione 3D sotto Windows/Linux
  • Tutorial su BLENDER
  • Altri Tutorial su BLENDER
    • WARNING: Using Win32 environment, please download glut32.dll and put it at c:\windows\system32\ . If you want to compile the source codes on Win32 environment using Visual Studio (ex. ver. .NET 2003), please put glut.h and glut32.lib to c:\program files\microsoft visual studio .net 2003\vc7\include\gl and c:\program files\microsoft visual studio .net 2003\vc7\lib , respectively.

  • Argomenti tesi

  • TESI E TIROCINIO AGLI ISTITUTI ORTOPEDICI RIZZOLI (IOR), Bologna: Utilizzo di uno scanner 3D flatbed per la ricostruzione mediante shape-from-shading e approccio stereo-fotometrico;
  • TESI E TIROCINIO AL DIP. DI ARCHITETTURA-ING.EDILE, Bologna: ricostruzione di oggetti 3D, tecnologia ottica 3D scanner, gestione errori in ricostruzioni ed allineamenti;
  • TESI E TIROCINIO ALL'ENEA: ricoprimento di superfici parametriche mediante superfici elementari, applicazione a modelli di oreficeria;
  • CINECA : LOD and bump mapping
  • A partire da modelli tridimensionali generati da acquisizione con scanner laser 3D ad alta risoluzione studio e implemetazione di metodi di ottimizzazione per generazione modelli a vari LOD ( Level of detail ) che conservino la qualità di rendering del modello a piu' alta risoluzione con uso tecniche di bump mapping e light map.
  • Discrete fairing di oggetti acquisiti mediante scanner 3D
  • Mipmapping e magnification: un approccio diffusivo
  • Smoothing su scheda grafica programmabile
  • Ricostruzione di superfici e determinazione di buchi da dati acquisiti mediante scanner 3D
  • Semplificazione ed ottimizzazione di mesh
  • TESI E TIROCINIO ALL'ENEA: prototipazione rapida e ricostruzione di superfici da scanner laser 3D
  • TESI AL CINECA: Mapper multipipe per il Visualisation Toolkit: e' una tesi che richiede una conoscenza di base di OpenGL. Il Mapper e' un pezzo di codice OpenGL che consente di passare dal dataset al disegno delle primitive grafiche. Renderlo Multipipe vuol dire interfacciarlo con una libreria SGI che gestisce il rendering multipipe.
  • Skinning e key-frame animation via vertex shader
  • Per altre tesi contattare il docente