Obiettivi formativi
Gli obiettivi sono di fornire allo studente competenze nell’ambito dei sistemi di realtà virtuale e aumentata, in particolare:
- Conoscenza dei principali dispositivi di input e output
- Conoscenza degli algoritmi e delle delle strutture dati per la rilevazione di collisioni 3D
- Conoscenza degli algoritmi e dei sensori per l'analisi del movimento.
Capacità di applicare conoscenza e comprensione:
- Progettare e realizzare sistemi di realtà virtuale e aumentata
- Capacità di sviluppo di applicazioni in ambiente Unity3D
- Capacità di programmazione di applicazioni physics-based
Prerequisiti
Sono richieste conoscenze di base di programmazione in linguaggio C/C++.
E' consigliabile, ma non indispensabile, aver sostenuto un esame di base di computer grafica (per esempio "Informatica Grafica" alla laurea triennale).
Contenuti dell'insegnamento
Il corso presenta le moderne tecnologie di realtà virtuale e aumentata per la realizzazione di ambienti simulati 3D con interazione dell'utente in tempo reale.
Il corso prevede una ampia attività di laboratorio in cui gli studenti avranno la possibilità di sperimentare l'uso di applicativi software, dispositivi hardware, e sensori per il tracciamento del moto.
Programma esteso
Argomenti del corso:
1) Dispositivi per la realtà virtuale e aumentata (18 ore)
Introduzione alla realtà virtuale e alla realtà aumentata.
Paradigmi di interazione (navigazione in ambienti 3D, selezione e manipolazione di oggetti).
Dispositivi di input (guanti, dispositivi aptici con ritorno di forza, dispositivi basati su telecamere di profondità).
Visori e stereoscopia.
Algoritmi e sensori per l'analisi del movimento.
2) Introduzione all'ambiente di sviluppo Unity3D (10 ore)
Introduzione al linguaggio C#.
Sviluppo di applicazioni dimostrative in Unity3D.
3) Algoritmi di rilevazione di collisioni 3D (10 ore)
Algoritmi per il test di intersezione tra primitive 3D.
Strutture dati 3D per il calcolo delle collisioni (Bounding Volumes, Bounding Volumes Hierarchies, Octree, K-d tree, BSP-tree).
4) Programmazione physics-based (10 ore)
Dinamica dei corpi rigidi.
Introduzione alla libreria C++ Bullet Physics.
Bibliografia
Steven LaValle, Virtual Reality, Cambridge University Press, Eprint: http://vr.cs.uiuc.edu/
Christer Ericson, Real-Time Collision Detection, CRC Press, 2004
Grigore C. Burdea, Philippe Coiffet, Virtual Reality Technology, Wiley-IEEE Press, 2nd edition, 2008
Metodi didattici
Lezioni in aula (28 ore).
Esercitazioni di laboratorio (20 ore).
Il materiale delle lezioni è presente sulla piattaforma Elly.
Per accedere al materiale è necessaria l’iscrizione al corso on line.
Modalità verifica apprendimento
Una prova orale per ogni appello ufficiale su tutti gli argomenti del corso e un progetto da svolgere individualmente o in gruppo.
Il voto finale è calcolato come una media pesata della valutazione della prova scritta e del progetto.
La valutazione del progetto tiene conto della qualità del lavoro svolto e della sua complessità.
Altre informazioni
Obiettivi agenda 2030 per lo sviluppo sostenibile