I risultati ottenuti sono riportati nella tabella 9.1.
La prova conferma le ipotesi teoriche, in quanto risulta che, nel caso medio, il test di intersezione tra un raggio ed una gerarchia di bounding-box ha complessità sub-lineare. La complessità del medesimo test sull’albero di CVmObj si è dimostrata lineare, secondo le aspettative.
È interessante osservare che le prestazioni ottenute con l’implementazione in linguaggio S3D (poi compilato in bytecode ed eseguito su di una virtual machine) non si differen- ziano molto dalle prestazioni dell’implementazione in C. Questo è dovuto al fatto che l’altezza dell’albero è sempre molto inferiore al numero di nodi foglia, quindi il numero di test di intersezione effettivamente eseguiti è troppo basso per evidenziare differenze si- gnificative. Si può quindi concludere che, sfruttando la gerarchia di bounding-box, anche l’implementazione in linguaggio S3D risulta più che adeguata allo scopo.
Nodi CVmObj (ms) IFAABBTree - S3D(ms) IFAABBTree - C(ms) 8 0.026565 0.071598 0.056817 16 0.043979 0.086926 0.063923 32 0.081754 0.104843 0.074289 64 0.166097 0.132145 0.093125 128 0.338625 0.176960 0.119946 256 0.738875 0.257957 0.161275 512 1.590146 0.418170 0.242180 1024 3.325864 0.662370 0.345706
Tabella 9.1: Tempo medio impiegato dall’esecuzione di un singolo test di intersezione tra un raggio ed una gerarchia di oggetti
Test di usabilità
Al fine di avere un feedback sull’efficacia delle metafore e delle tecniche di interazione implementate, e poterne fare un confronto, sono stati svolti alcuni test sull’usabilità delle stesse.
Agli utenti è stato chiesto di navigare all’interno dell’ambiente virtuale lungo un percorso prestabilito, seguendo degli opportuni indicatori visivi disegnati all’interno della scena. A circa metà percorso è stato inserito un oggetto speciale, che gli utenti dovevano selezionare. L’applicazione provvedeva a cronometrare il tempo impiegato nello svolgimento di tali compiti. Il passaggio dalla modalità di navigazione a quella di selezione era reso possibile da un’apposita interfaccia grafica costituita da alcuni bottoni.
Il percorso è stato ripetuto più volte da ogni utente, utilizzando ogni volta una diversa metafora di navigazione o di selezione ed un diverso dispositivo di input. In particolare, data la natura del tragitto, le metafore di navigazione scelte sono state il Flying Vehicle,
il Walking e lo Speed-coupled Flying. Quanto alla selezione, sono state impiegate le uniche due metafore disponibili: la Ray selection e la Cursor selection. I dispositivi di input utilizzati con ciascuna metafora sono1:
• Flying Vehicle: mouse, tastiera e mouse, touchscreen, Kinect • Walking: mouse, tastiera e mouse, touchscreen, Kinect • Speed-coupled Flying: mouse, tastiera e mouse, Kinect • Ray selection: mouse, touchscreen, Kinect
• Cursor selection: mouse, Kinect
Le prove fin qui descritte sono state svolte da quattro utenti, che al termine hanno rilascia- to una breve intervista in merito alle loro impressioni di utilizzo. I dati, relativi ai tempi impiegati dagli utenti per lo svolgimento dei vari task, sono stati organizzati in funzione della metafora e del dispositivo utilizzato, e per ciascuna categoria è stato ricavato il valor medio. I risultati così ottenuti sono stati infine riportati su grafico, in modo da agevolare la loro analisi.
Viste la dimensione del campione e le caratteristiche del test, i risultati ottenuti non possono avere valenza statistica. D’altra parte non era questo lo scopo della prova, bensì quello di ottenere una prima valutazione qualitativa dell’usabilità delle metafore e delle tecniche di interazione.
10.1 Risultati
I tempi medi impiegati dagli utenti per completare la navigazione della scena sono riportati in fig. 10.1 e10.2, organizzati rispettivamente in funzione della metafora e del dispositivo usato. I risultati riguardanti la selezione sono invece riportati in fig. 10.3.
Come era prevedibile, i risultati migliori sono stati ottenuti utilizzando il mouse, da solo e in combinazione con la tastiera. Fissati questi dispositivi, le prestazioni ottenute con le varie metafore sono del tutto comparabili, anche se si può notare una piccola differenza a favore del Walking. Questo è dovuto al fatto che la metafora vincola la posizione della camera al terreno, rendendo più semplice seguire il tracciato.
Il Kinect si è dimostrato il dispositivo di input più difficile da controllare, come conferma- no i relativi tempi medi di completamento del percorso. Questo dispositivo richiede infatti un certo allenamento prima di poter essere usato agevolmente. Inoltre, la sua scarsa sen- sibilità è causa di frequenti errori di rilevamento delle mani, che provocano l’interruzione
delle azioni in corso e disorientano gli utenti meno esperti. Con una certa pratica si riesce comunque a prevenire tali comportamenti.
Valutando soltanto i risultati ottenuti, il touchscreen e la relativa tecnica di interazione si sono rivelati sufficientemente efficaci. Certo, i tempi medi di completamento non sono buoni come quelli ottenuti da tastiera e mouse, ma si deve anche considerare che questo genere di dispositivo mal si adatta al controllo della navigazione in una scena tridimen- sionale, se non coadiuvato da una opportuna interfaccia grafica (che però non ne sfrutta le capacità).
Quanto alle metafore di selezione, i risultati ottenuti evidenziano ancora una volta i pes- simi risultati ottenuti con il Kinect. In questo caso, però, una parte delle cause è da attribuirsi alle tecniche di interazione implementate. Infatti si è cercato di rendere l’in- terazione il più naturale possibile, associando la direzione del raggio e la posizione del cursore rispettivamente con la direzione del braccio e la posizione della mano. Tuttavia il dispositivo non riesce a fornire un tracciamento sufficientemente stabile, rendendo così difficile “centrare” l’elemento da selezionare.
Figura 10.2: Tempo medio impiegato per completare il percorso (solo navigazione)