Docente:
Marco Tarini (me!)
Orario:
Martedì 10:30..12:30 - Aula Tau, via Celoria 18
Giovedì 14:30..16:30 - Aula Alfa, via Celoria 18
Lingua:
Italiano
Modalità:
Le lezioni sono in presenza.
L'aula sarà accessibile solo agli studenti in possesso di un certificato Covid-19 (green pass).
Secondo il regolamento dell'Università, gli studenti che non possono partecipare a causa di (a) restrizioni di viaggio (dall'estero), (b) quarantena, o (c) problemi di salute, possono seguire le lezioni in live streaming. Seguire il link qui sotto.
Se possibile, avvertire il docente in anticipo, quando si progetta di seguire una lezione in live streaming.
Live Streaming link: Microsoft Teams meeting.
Calendario & slide:
I lucidi, resi disponibili dopo ogni lezione, sono intesi come un supporto visivo alla lezione, e costituiscono anche un diario dettagliato degli argomenti svolti; non sono necessariamente un materiale di studio autoesplicativo e sufficiente alla preparazione.
Le "PREVIEW slides" sono lucidi forniti in anteprima prima della lezione, al solo scopo di consentire agli studenti che vogliano usufuirne per seguire la lezione più agevolmente. Si consiglia di scaricare la versione riveduta e corretta fornita dopo la lezione.
Il seguente calendario è soggetto a cambiamenti!
0-00 | 2022-03-01 10:30..12:30 Martedì Aula MN |
Presentazione del corso. Introduzione - cosa è e a cosa serve la CG |
1-00 | 2022-03-08 10:30..12:30 Martedì Aula MN |
Modelli 3D: intro generale. Nuovole di punti - part I. MATH-01: Punti e vettori - somma, differenza, norma. |
1-01 | 2022-03-10 14:30..16:30 Giovedì Aula Alfa |
Nuovole di punti - part II. |
1-02 | 2022-03-15 10:30..12:30 Martedì Aula MN |
Mesh Poligonali: definizioni, surface reconstruction. |
1-03 | 2022-03-17 14:30..16:30 Giovedì Aula Alfa |
MATH-02: Interpolazione e coordinate baricentriche. Mesh Poligonali: attributi. |
1-04 | 2022-03-22 10:30..11:30 Martedì Teledidattica |
Mesh Poligonali: Regolarità; Modellazione. |
14:30..16:30 Giovedì Aula Alfa |
LEZIONE SOSPESA |
|
1-05 | 2022-03-29 10:30..12:30 Martedì Teledidattica |
MATH-03: Prodotto Cross. Mesh Poligonali: computo normali; geometry processing 1/2. |
1-06 | 2022-03-31 14:30..16:30 Giovedì Teledidattica |
Mesh Poligonali: gemetry processing 2/2. Mesh Poligonali: data structures. |
1-07 | 2022-04-04 10:30..12:30 Martedì Teledidattica |
Mesh Poligonali: UV-maps e tessiture. |
1-08 | 2022-04-07 14:30..16:30 Giovedì Aula Alfa |
Curve e superfici parametriche. |
1-09 | 2022-04-08 14:30..16:30 Venerdì Aula Beta |
Modelli volumetrici: mesh poliedrali, voxel, modelli impliciti. |
1-10 | 2022-04-12 10:30..12:30 Martedì Aula MN |
Modelli volumetrici: oct-tree e poisson reconstruction. Modelli regolari: hieght field, range scan. Note su forma e normali. |
1-xx | 2022-04-26 10:30..12:30 Martedì Aula Omega |
compitino parte 1 |
2-00 | 2022-04-28 14:30..16:30 Giovedì Aula Alfa |
Subdivision surfaces: cenni. Immagini digitali e colori. Ray-tracing 1/2: intro e ray-casting. |
2-01 | 2022-05-03 10:30..12:30 Martedì Aula MN |
MATH-04: Prodotto Dot. Ray-tracing 2/2: note matematiche. Rasterization-based: intro. |
2-02 | 2022-05-05 14:30..16:30 Giovedì Aula Alfa |
MATH-05: Trasformazioni affini 1/3. |
2-03 | 2022-05-10 10:30..12:30 Martedì Aula MN |
MATH-05: Trasformazioni affini 2/3. |
2-04 | 2022-05-12 14:30..16:30 Giovedì Aula Alfa |
MATH-05: Trasformazioni affini 3/3. Trasformazioni nel rendering: intro. |
2-05 | 2022-05-17 10:30..12:30 Martedì Aula MN |
Trasformazioni nel rendering: Model. Trasformazioni nel rendering: View. |
2-06 | 2022-05-19 14:30..16:30 Giovedì Aula Alfa |
Trasformazioni nel rendering: Projection. |
2-07 | 2022-05-24 10:30..12:30 Martedì Aula Tau |
Note su GPU e API grafiche. Rasterizzazione di primitive. PROG-00: intro. |
2-08 | 2022-05-26 14:30..16:30 Giovedì Aula Alfa |
PROG-01: mini-mesh, scena, animazione. [cgLab01.html] |
2-09 | 2022-05-31 10:30..12:30 Martedì Aula Tau |
Rimozione superfici nascoste. Partecipating media. Lighting (1/2). [cgLab02.html] |
2-10 | 2022-06-07 10:30..12:30 Martedì Aula Tau |
Lighting (2/2). [cgLab03.html] PROG-02: import di una mesh in three.js. |
2-xx | 2022-06-09 14:30..16:30 Giovedì Aula GAMMA |
compitino parte 2 |
Libri di testo suggeriti:
(Nessun libro di testo è strettamente necessario)
Per la parte matematica: Mathematics for 3D Game Programming
and Computer Graphics
Un sottoinsieme degli argomenti: Introduction to Computer Graphics
A Practical Learning Approach
Modalità di esame:
L'esame si può superare in due modi:
Link ufficiali:
Pagina del corso su Ariel
Programma del corso (dal manifesto)
Current rules for lectures at Unimi
Alcuni software pubblici citati a lezione:
Meshlab, una suite gratuita e OpenSource per geometry processing
Sculptris Alpha, una software gratuito per digital sculpting
Wings 3D, un software gratuito e OpenSource per direct low-poly modelling
Blender, una software gratuito e OpenSource per modellazione 3D
Instant Meshes, una software per remeshing semiregolare
Meshes Repair Tool, una collezione di software specializzato per mesh repairing
Link di iteresse citati a lezione:
Polygonal Mesh processing, un libro introduttivo sul mesh processing (non è un libro di testo del corso)
Symposium on Geometry Processing 2019, un simposio tenuto ad UniMi nel 2019 sul Geometry Processing
Dataset:
Alcune Point Clouds di esempio:
[1]
[2]
Sketchfab: un repository di point clouds catturate
Info sul mini-lab di C++:
Cosa non è: Il mini-lab di C++ non è parte del corso di Computer Graphics (e non è rilevante per il suo esame), ma può essere di interesse per gli studenti che seguono il corso di CG, dato che il C++ è uno dei linguaggi più usati nella CG, e che il mini-lab userà come esempi alcuni dei concetti visti nel corso di CG. Ai fini del corso di CG, non è in alcun modo necessario partecipare a questo mini-lab; le informazioni sul mini-lab sono messe qui solo per convenienza.
Cosa è: E' una piccola serie di lezioni pratiche aperte, nelle quali i partecipanti scrivono insieme al docente una libreria in C++ per gestire strutture dati utili alla Computer Graphics e alla matematica utilizzata in CG (punti, vettori, etc).
Come partecipare: Basta presentarsi in Aula 400 (via Celoria 18) i Lunedì dalle ore 17:30 alle ore 18:30, con un laptop funzionante (e con batteria ben carica!) e un IDE qualsiasi (come per esempio Visual Studio per C++) in grado di compilare un programma Hello World in C++. NOTA: valgono le regole per la prenotazione dei posti in aula. E' anche disponibile il live streaming
Codice sorgenti:
00 (07 Mar 2022): minilab00.zip
01 (14 Mar 2022): minilab01.zip
02 (21 Mar 2022): minilab02.zip
03 (28 Mar 2022): minilab03.zip
04 (04 Apr 2022): minilab04.zip
05 (11 Apr 2022): minilab05.zip
06 (02 Mag 2022): minilab06.zip
07 (09 Apr 2022): minilab07.zip (qui: un raytracing funzionante!)
08 (16 Apr 2022): minilab08.zip
09 (23 Apr 2022): minilab09.zip
10 (30 Apr 2022): minilab10.zip
11 (06 Apr 2022): minilab11.zip (finale)