Analisi e sintesi dei gesti comunicativi per gli - Maurizio Mancini
Analisi e sintesi dei gesti comunicativi per gli - Maurizio Mancini
Analisi e sintesi dei gesti comunicativi per gli - Maurizio Mancini
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Capitolo VI, Tools di supporto<br />
class Joint:<br />
Joint* sons;<br />
//puntatore alla giuntura padre<br />
Joint* parent;<br />
//nome della giuntura<br />
CString name;<br />
//posizione(offset) della giuntura rispetto al padre<br />
coord3d translation;<br />
//rotazione della giuntura<br />
coord3d rotation;<br />
//vincoli sui gradi di libertà della giuntura<br />
bool enableX,enableY,enableZ;<br />
In fase di inizializzazione l’editor scorre il contenuto di un file in cui abbiamo me-<br />
morizzato la descrizione dello scheletro H-Anim (Appendice C)[10].<br />
Per ogni giuntura incontrata vengono eseguite le o<strong>per</strong>azioni:<br />
1. istanziazione di un nuovo oggetto di classe Joint;<br />
2. memorizzazione del nome della giuntura;<br />
3. memorizzazione dell’offset della giuntura rispetto al padre;<br />
4. azzeramento della rotazione della giuntura;<br />
5. inserimento della giuntura nella corretta posizione all’interno<br />
dell’albero (scheletro) finora creato;<br />
Una volta immagazzinati i dati di tutte le giunture e costruito l’albero che corri-<br />
sponde allo scheletro dell’agente è molto semplice ottenere la visualizzazione dello<br />
scheletro.<br />
In pratica <strong>per</strong> ogni giuntura occorre tracciare le ossa che vanno verso quelle fi<strong>gli</strong>e e<br />
poi spostarsi in ciascuna di loro e ripetere il procedimento.<br />
Ecco il metodo (ricorsivo) che abbiamo implementato:<br />
metodo Draw:<br />
input: una giuntura dello scheletro<br />
disegnare una piccola sfera;<br />
effettuare la rotazione R associata alla giuntura;<br />
for(ogni giuntura s fi<strong>gli</strong>a di quella in input):<br />
disegnare il segmento che unisce la giuntura in input ad s;<br />
spostare con una traslazione T il sistema di riferimento in<br />
modo che l’origine si trovi nella posizione di s;<br />
s.Draw;<br />
93