Advanced Computer Graphics
Anno accademico 2025/2026 - Docente:
GIOVANNI GALLO
Risultati di apprendimento attesi
Conoscenza
e capacità di comprensione (knowledge and understanding):
a) data
visualization: lo studente apprenderà i principi della corretta
visualizzazione dati seguento l’approccio strutturato della
‘Grammar of Graphics’.
b) visual programming: lo studente
apprenderà i prinicipi generali dello stile di programmazione
mediante reti di nodi con particolare riferimento al loro uso nel
sistema Blender.
Capacità
di applicare conoscenza e comprensione (applying knowledge and
understanding):
a)
lo studente applicherà i principi di cui sopra utilizzando le
versioni più aggiornate delle librerie Python di gestione e
visualizzazione dati (pandas, seabor, plotnine).
b)
lo studente familiarizzerà con il sistema dei Geonodes di Blender
per la creazione di asset parametrici.
Autonomia
di giudizio (making judgements):
a)
lo studente acquisirà criteri per la valutazione della qualità
tecnica e della efficacia informativa di una presentazione grafica di
dati quantitativi e qualitativi.
b)
lo studente acquisirà esperienza e abilità di giudizio circa al
opportunità di progettazione parametrica o realizzazione statica di
asset 3d.
Abilità
comunicative (communication skills):
a)
lo studente acquisirà competenza di base per la redazione di grafici
informativi complessi che possano validamente accompagnare l’analisi
di dati sperimentali.
b)
lo studente acquisirà competenza per la creazione di interfacce
utili al controllo di asset 3d parametrici di buona qualità grafica.
Capacità
di apprendimento (learning skills):
a)
lo studente sarà in grado di orientarsi e operare con profitto
nell’utilizzo di librerie di visualizzazione dati in costante
aggiornamento.
b)
lo studente sarà in possesso degli eementi base della programmazione
visuale per apprendere in autonomia come essa viene applicata in vari
settori di sviluppo software.
Modalità di svolgimento dell'insegnamento
L’insegnamento
si svolge attraverso lezioni frontali e attività di laboratorio. Le
lezioni introdurranno i concetti teorici, mentre il laboratorio ne
permetterà l’applicazione pratica tramite esercitazioni e casi
studio.
Qualora
l'insegnamento venisse impartito in modalità mista o a distanza
potranno essere introdotte le necessarie variazioni rispetto a quanto
dichiarato in precedenza, al fine di rispettare il programma previsto
e riportato nel syllabus.
Prerequisiti richiesti
Conoscenza
della programmazione strutturata ed ad oggetti con particolare
riferimento al linguaggio Python.
Conoscenza
delle nozioni di base di statistica descrittiva e testing di ipotesi.
Conoscenza
delle nozioni base di Interazione Uomo/Macchina.
Esperienza
nell’utilizzo di un sistema di un ambiente di sviluppo di asset
grafici 3d con particolare riferimento a Blender.
Nozioni
sui grafi.
Frequenza lezioni
Seconod le regole del corso di Studio
Contenuti del corso
Modulo
Data Visualization (3cfu)
In questo primo modulo del
corso si affronta il tema della rappresentazione grafica di
informazioni numeriche e/o qualitative a partire da una collezione
strutturata di dati.
Si fornisce una breve panoramica storica
presentando esempi di data visualizaztion precursori dei metodi
moderni.
Si
affrontano successivamente alcune problematiche rilevanti relative
alla percezione visuale passando in rassegna le leggi della Gestalt e
alla valutazione dello stile grafico secondo le regole di E.Tufte.
Dopo
aver presentato una rapida tassonomia dei grafici più comuni nella
reportistica tecnica attuale si introduce l’approccio strutturale
della ‘Grammar of Graphics’ di L.Wilkinson dapprima nel sup
aspetto teorico e successivamente con attività di laboratorio in
Python.
Le
attività di laboratorio includono lo sviluppo di ‘notebook’ che
utilizzino le librerie pandas, matplotlib, seaborn e plotnine.
Modulo
Visual programming (3cfu)
In
questo modulo dopo avere presentato una breve storia dell’approccio
visuale alla programmazione e illustarto alcuni degli esempi pù noti
si presentano gli ambienti di sviluppo ‘a nodi’ presenti dentro
il software 3d Blender con particolare riferimento al sistema detto
dei ‘geometry nodes’..
Giustificata
con esempi rilevanti la opportunità e il valore dlelo sviluppo di
asset parametrici vs asset fissi si svolgono attività di laboratorio
che presentano via via i ‘nodi’ base e i ‘nodi’ avanzati per
completare lo sviluppo di asset complessi sia statici che animati.
Testi di riferimento
Il
primo modulo utilizza:
-
dispense e slide fornite dal docente nella pagina FB del corso, tali
risorse sono disponibili all’inizio delle lezioni e sono aggiornate
costantemente.
-
si abitua lo studente all’utilizzo on line della documentazione API
delle librerie utilizzate.
Si
suggerisce inoltre la lettura di:
-
‘The Grammar of Graphics’ L.Wilkinsonet alii, Springer 2nd ed.
-
‘Non designer’s design book’, R.Williams, Pearson ed.
Verifica dell'apprendimento
Modalità di verifica dell'apprendimento
La
verifica si svolge in due parti:
Parte
a) prova di laboratorio della durata di 3 ore relativa alla creazione
di grafiche e visualizzazioni a partire da una base di dati
tabellare.
Parte
b) Sviluppo e presentazione di un progetto (autonomo ed individuale)
che includa la creazione di asset parametrici che utilizzino in modo
avanzato i geonodes.
La
prova d’esame è finalizzata a valutare in modo approfondito la
preparazione dello studente, la capacità di analisi e di
ragionamento sugli argomenti trattati durante il corso, nonché
l’adeguatezza del linguaggio tecnico utilizzato.
Le
due prove hanno peso eguale ai fini della valutazione e costituiscono
entrambe elementi essenziali per la valutazione complessiva del
profitto.
La presentazione e discussione del progetto ‘geonodes’
è successiva al superamento della prova di laboratorio.
Per
l'attribuzione del voto finale si seguiranno di norma i seguenti
criteri:
- non
approvato: lo
studente non ha acquisito i concetti di base e non è in grado di
svolgere gli esercizi.
- 18-23:
lo studente dimostra una padronanza minima dei concetti di base, le
sue capacità di esposizione e di collegamento dei contenuti sono
modeste, riesce a risolvere semplici esercizi.
- 24-27:
lo studente dimostra una buona padronanza dei contenuti del
corso, le sue capacità di esposizione e 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 esporli compiutamente e di collegarli con spirito critico; risolve
gli esercizi in modo completo e senza errori.
Gli
studenti con disabilità e/o DSA dovranno contattare con sufficiente
anticipo rispetto alla data dell'esame il docente, il referente CInAP
del DMI (prof.ssa Daniele) e il CInAP per comunicare che intendono
sostenere l'esame fruendo delle opportune misure compensative.
Esempi di domande e/o esercizi frequenti
Le
prove di Laboratorio richiedono lo sviluppo di alcune tipologie di
grafico (barplot, pieplot, scatterplot multimodali, denisty plot,
denisty matrix etc) a partire da basi di dati tabellari con max 300
records a 10 campi (numerici e/o categoriali). Sono fornite per tempo
agli studenti esempi di prova e le prove assegnate vengono via via
pubblicate nella paogina FB del corso.
Durante
le lezioni verranno svolti degli esercizi simili a quelli che gli
studenti dovranno affrontare nel loro esame finale. Ulteriori
esercizi verranno resi disponibili nel corso delle lezioni.
ENGLISH VERSION