Examen de synthèse d'animation
MINF - ESI2

durée 1h30. documents de cours autorisés.

Versions imprimables:
PDF ps.gz

Positionnement relatif

Composition de déplacements

On dispose de la primitive dessineRepere() qui affiche les axes du repère courant. On applique la séquence d'instructions suivante:
dessineRepere();  // repere R0
glTranslatef( 0,2,0 );
glRotatef( 90, 1,0,0 );
dessineRepere();  // repere R1
On 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


Graphe de scène

On dispose du noeud Cube qui représente un cube centré à l'origine, aligné sur les axes du repère, et de longueur d'arête 2.



Question 3

Proposez deux graphes de scène qui représentent la figure [*] en utilisant le même noeud cube pour les trois formes:
  1. en disposant les noeuds de repère ``en parallèle'' (au même niveau dans la hiérarchie)
  2. en disposant les noeuds de repère ``en série'' (les uns en-dessous des autres dans la hiérarchie).
Faites apparaître les valeurs de translation et d'échelle pour chacun des noeuds de repère.


On rappelle que l'affichage d'un noeud de repère s'effectue par:
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();

Figure: Trois cubes.
\resizebox{!}{6cm}{\includegraphics{cubes}}

Circuit automobile

La figure [*] représente un circuit automobile parcouru par deux concurrents (un rouge et un bleu) qui tournent dans le sens des aiguilles d'une montre. On dispose, en plus des noeuds habituels, d'un noeud Circuit qui affiche le circuit, et d'un noeud Voiture qui affiche une voiture dans la couleur courante. La translation et la rotation de la voiture rouge sont représentes par les paramêtres $t_r$ et $r_r$, la voiture bleue a pour paramètres $t_b$ et $r_b$.



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.
  1. Représentez sur une figure analogue à la figure [*] ses positions-clés, tangentes et les dates de passage pour effectuer un tour. Chiffrez les paramètres de translation et de rotation. Le tour commence à l'instant $t_0$ avec la voiture au milieu de la ligne droite supérieure, et dure $T$.
  2. Pour chacune des phases de mouvement, dessinez l'allure de la fonction de synchronisation et la fonction de dynamique du mouvement. On néglige la distorsion due au paramétrage.




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.


Figure: Circuit. L'origine de l'espace est au centre.
\resizebox{!}{6cm}{\includegraphics{circuit}}



Question 8

La deuxième voiture roule à la même vitesse que la première, et retarde d'une certaine fraction $f$ de tour, réglable. Représentez les fonctions de synchronisation correspondantes en faisant apparaître le paramètre $f$.




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 $\theta$ du volant et l'accéleration/freinage $\gamma$ de la voiture.



Question 10

Proposez une relation entre la position de la souris et les paramètres $\theta$ et $\gamma$.




Question 11

Exprimez les relations entre les positions de la voiture à l'instant $t$ et à l'instant $t+h$ en fonction de $\theta$, $\gamma$ 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 [*].




Francois Faure 2004-04-21