durée 1h30. documents de cours autorisés.
dessineRepere(); // repere R0 glTranslatef( 0,2,0 ); glRotatef( 90, 1,0,0 ); dessineRepere(); // repere R1On suppose que les divers paramètres sont réglés de sorte que les repères sont correctement affichés à l'écran.
Question 1
Sur une figure, faire apparaître clairement:
Question 2
Même question pour la séquence d'instructions:
dessineRepere(); // repere R0 glRotatef( 90, 1,0,0 ); glTranslatef( 0,2,0 ); dessineRepere(); // repere R1
Question 3
Proposez deux graphes de scène qui représentent la figure en utilisant le même noeud cube pour les trois formes:
Faites apparaître les valeurs de translation et d'échelle pour chacun des noeuds de repère.
glPushMatrix(); glTranslatef( translation[0], translation[1], translation[2] ); glScalef( echelle[0], echelle[1], echelle[2] ); glRotatef( rotation[0], rotation[1], rotation[2], rotation[3] ); Enfants::iterator e; for( e=enfants.begin(); e!=enfants.end(); e++ ){ (*e)->affiche(); } glPopMatrix();
Question 4
On veut pouvoir attacher la caméra à l'une ou l'autre des voitures, et permuter en cours d'exécution, sans changer la topologie du graphe. Représentez le graphe de scène correspondant, en faisant apparaître les paramètres de position, dans le cas où la caméra est attachée à la voiture rouge.
On s'intéresse maintenant au mouvement d'une voiture, défini par interpolation entre positions-clés.
Question 5
Sur une figure, faites apparaître le repère du circuit, une voiture et son repère local, ainsi que les paramètres de position de la voiture.
Question 6
La voiture tourne à vitesse constante. Aux points-clés, l'axe de la voiture est aligné avec sa trajectoire.
Question 7
Reprenez la question précédente pour une voiture qui accélère dans les lignes droites, freine brutalement avant les virages et réaccélère progressivement dans les virages.
Question 8
La deuxième voiture roule à la même vitesse que la première, et retarde d'une certaine fraction de tour, réglable. Représentez les fonctions de synchronisation correspondantes en faisant apparaître le paramètre .
Question 9
Peut-on garantir que l'axe de la voiture est toujours aligné avec la trajectoire ? Justifiez en cinq lignes maxi.
On veut confier le contrôle d'une voiture à l'utilisateur. La caméra est attachée à la voiture. Les positions-clés ne sont plus utilisées. La position de la souris dans la fenêtre d'affichage gouverne la rotation du volant et l'accéleration/freinage de la voiture.
Question 10
Proposez une relation entre la position de la souris et les paramètres et .
Question 11
Exprimez les relations entre les positions de la voiture à l'instant et à l'instant en fonction de , et éventuellement d'autres paramètres pertinents.
Question 12
Comment détecter une sortie de route ? Distinguez le cas des lignes droites et des virages, dans le cas du circuit de la figure .