17.06.2013 Views

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

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Appendice A<br />

Appendice A<br />

VII.3 Il metodo Draw della classe Joint<br />

Nella sezione 1 del paragrafo VI.3 avevamo descritto l’algoritmo sul quale è basato<br />

il metodo Draw() della classe Joint. In questo paragrafo riportiamo il codice<br />

commentato della sua implementazione nel linguaggio C++:<br />

void Joint::Draw(){<br />

//disegnare una sfera nel punto attuale, cioè nel punto da cui parte la giuntura<br />

gluSphere(gluNewQuadric(),1.0f,4,4);<br />

//OPENGL:effettuare la rotazione associata alla giuntura<br />

glRotatef(rotation.z,0.0f,0.0f,1.0f);<br />

glRotatef(rotation.y,0.0f,1.0f,0.0f);<br />

glRotatef(rotation.x,1.0f,0.0f,0.0f);<br />

//se la giuntura ha delle giunture fi<strong>gli</strong>e allora <strong>per</strong> ciscuna di esse:<br />

for(int i=0; itranslation.x,sons[i]->translation.y,sons[i]->translation.z);<br />

glEnd();<br />

//OPENGL:spostarsi nella posizione di quella fi<strong>gli</strong>a<br />

glTranslatef(sons[i]->translation.x, sons[i]->translation.y, sons[i]->translation.z);<br />

//disegnare ricorsivamente quella fi<strong>gli</strong>a e tutti i suoi successori<br />

sons[i]->Draw(jointname);<br />

//OPENGL:tornare nella posizione della giuntura attuale<br />

glTranslatef(-sons[i]->translation.x, -sons[i]->translation.y, -sons[i]->translation.z);<br />

}<br />

OPENGL:dopo aver disegnato tutte le fi<strong>gli</strong>e effettuare una rotazione opposta a quella della<br />

giuntura attuale<br />

glRotatef(-rotation.x,1.0f,0.0f,0.0f);<br />

glRotatef(-rotation.y,0.0f,1.0f,0.0f);<br />

glRotatef(-rotation.z,0.0f,0.0f,1.0f);<br />

}<br />

110

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!