COMPUTER GRAFICA AVANZATA
Anno accademico 2024/2025 - Docente: Giovanni GALLORisultati di apprendimento attesi
Il corso intende coprire nozioni teoriche e offrire formazione in alcune applicazioni della Computer Grafica nelle applicazioni scientifiche e nei multimedia.
- Conoscenza e capacità di comprensione (knowledge and understanding):
Il corso presenta
a) i principi di base di una buona grafica a supporto della comunicazione tecnico-scientifica e dell'analisi dati. In particolare si farà riferimento al paradigma della "Grammar of Graphics" (Wilkinson, 1996).
b) esempi di "visual programming" applicati alla grafica 3d. In particolare verranno introdotti i principi di design dei "node graph" nell'ambiente Blender per la geometria, lo shading e il compositing.
- Capacità di applicare conoscenza e comprensione (applying knowledge and understanding):
a) I principi generali di cui sopra verranno applicati in laboratori relativi alle aggiornate librerie Python per la visualizzzione scientifica.
b) Lo studente sarà in grado di realizzare alcuni prodotti di grafica 3d (geo-nodes, shader, sistemi di compositing) utilizzando i node-editor dell'ambiente Blender.
- Autonomia di giudizio (making judgements):
Lo studente acquisirà criteri di valutazione circa la efficacia comunicativa, la qualità e l'appropriatezza delle varie modalità di presentazione grafica dei dati.
Lo studente maturerà la capacità di valutare i vantaggi in una applicazione grafica dell'utilizzo, ove appropriato) delle tecniche di modeling, shading e compositing procedurale e parametrico
- Abilità comunicative (communication skills):
Lo studente sarà in grado di produrre grafici che comunichino in maniera chiara e trasparente le proprietà dei dati che l'analista vorrebbe si mettessero in evidenza.
Lo studente sarà in grado di eseguire e presentare esempi di grafica tridimensianle nei quali i pricipi della programmazione visuale e procedurale consentano flessibilità di impiego e tuning alle esigenze dei committenti.
- Capacità di apprendimento (learning skills)
Lo studente perfezionerà le proprie capacità di coding nel campo dell'analisi dati integrandole con la conoscenza delle più diffuse librerie di grafica scientifica seguendone i successivi aggiornamenti.
Lo studente assumerà dimestichezza con le tecncihe di programmazione visuale applicabili in numerosi software oltre quelli specializzati alla grafica 3d.
Modalità di svolgimento dell'insegnamento
Prerequisiti richiesti
Conoscenza di nozioni di statistica descrittiva.
Conscenza di nozioni di Analisi di variabili reali.
Conoscenza del linguaggio Python.
Conoscenza di un ambiente di sviluppo 3d (blender)
Frequenza lezioni
Contenuti del corso
Il corso di Computer Grafica Avanzata esplora diverse tecniche e
strumenti per la rappresentazione grafica di dati complessi e la
creazione di contenuti visivi avanzati.
Centrale è la visualizzazione
dei dati multidimensionali, dove gli studenti imparano
a utilizzare librerie Python come Matplotlib e Seaborn per creare
grafici personalizzati, applicando la Grammar of Graphics.
Il corso
introduce inoltre all'uso di Blender, con focus sulla programmazione
visuale tramite nodi, che abilita alla creazione di
scene 3D mediante visual coding e permette la familiarizzazione delle tecniche parametriche di modellazione di asset digitali.
Una parte finale è dedicata all'uso del visual coding per la produzione di shader e per il compositing.
Testi di riferimento
Puntatori a risorse on line
Programmazione del corso
Argomenti | Riferimenti testi | |
---|---|---|
1 | Scientific Visualization | dispense docente |
2 | Laboratory of Scientific visualization | manuali on line |
3 | Basics of CAGD | dispense docente |
4 | Basics of Geometry processing | dispense docente |
5 | Python scripting for Blender | manuali on line |
6 | Visual programing in Blender (lab) | manuali on line |
Verifica dell'apprendimento
Modalità di verifica dell'apprendimento
verifiche sui seguenti elementi:
a) visualizzazione di dati assegnati dal docente; (30%)b) sviluppo di un semplice progetto usando i geometry nodes (proposto dallo studente) (35%)
d) sviluppo di une progetto che faccia uso del compositing in Blender (35%)
In caso di necessità, a seguito di apposite indicazioni da parte degli organi di Ateneo, la verifica potrà essere effettuata in modalità telematica, con le necessarie variazioni rispetto a quanto dichiarato in precedenza.
Le prove sono finalizzate per ottenere una valutazione complessiva della preparazione dello studente Il voto è attribuito secondo il seguente schema:
Non approvato: lo studente non ha acquisito i concetti di base e non è in grado di rispondere ad almeno il 60% delle domande né di svolgere gli esercizi teorici e pratici.
18-20: lo studente dimostra una padronanza appena sufficiente dei concetti base, e/o riesce ad impostare gli esercizi teorico/pratici con molta difficoltà e con vari errori.
21-24: lo studente dimostra una padronanza minima dei concetti di base, le sue capacità di collegamento dei contenuti sono modeste, riesce a risolvere semplici esercizi.
25-27: lo studente dimostra una buona padronanza dei contenuti del corso, le sue capacità di collegamento dei contenuti sono buone, risolve gli esercizi con pochi errori.
28-30 e lode: lo studente ha acquisito tutti i contenuti del corso ed è in grado di padroneggiarli compiutamente e di collegarli con spirito critico; risolve gli esercizi in modo completo e senza errori di particolare rilievo.
Gli studenti con disabilità e/o DSA dovranno contattare con sufficiente anticipo rispetto alla data dell'esame il docente e il referente CInAP del DMI per comunicare che intendono sostenere l'esame fruendo delle opportune misure compensative.
Esempi di domande e/o esercizi frequenti
Progetto a) Dato un Data Set Tabulare multidimensionale con tipi di dati eterogenei produrre un report con grafici in varie modalità che consentano di comprendere visualmente le principali proprietà statistico/descrittive del Data Set. Verranno forniti alcuni "tempalte" del report grafico desiderato.
Progetto b) Preso un operatore base di geometria differenziale discreta su mesh 3d (assegnato dal docente), sviluppare in Python un operatore all'interno di Blender che lo implementi e ne mostri il risultato visuale.Esempi verranno forniti all'inizio del corso.
Progetto c) Realizzare una rete di Geometry nodes in Blender che implementi un task di modellazione e animazione parametrica di un oggetto complesso a scelta dello studente. Esempi verranno forniti all'inizio del corso.