Examen de TD n°1 2012-2013

RETOUR

5 novembre 2012 - 1h30

Sujet (pdf)

Tous les documents papier sont autorisés.
Les dispositifs électroniques (ordinateur, tablette, téléphone mobile, ...) sont interdits.

On n'oubliera pas de fournir quelques commentaires sur les techniques employées.

Question 1: Mathématiques de l'Infographie

a) Soient les matrices de rotation ci-dessous.

Rx = , Ry =

Calculer la matrice de transformation géométrique composée M résultant de la transformation Ry suivie chronologiquement de la transfor­mation Rx.

b) Prouver que M appliquée à toute direction orientée selon l'axe y a pour résultat une direction définie dans le plan yz.

Question 2: Modélisation par primitive graphique en OpenGLL

a) Développer une fonction void cercle(void) permettant de tracer un cercle constitué d'une ligne polygo­nale de 10000 sommets, tracé dans le plan xOy, de rayon 10.0 et centré sur l'origine.

b) Développer une fonction void enroulementToroidal(void) permettant de tracer un enroulement toroïdal constitué d'une ligne polygonale de 10000 sommets, tracé dans le plan xy, de rayon extérieur 10.0, de rayon intérieur 1.0, de 50 tours autour de l'axe circulaire du tore et centré sur l'origine (voir figure ci-dessous, vue de coté).

Question 3: Modélisation et animation en GLUT+OpenGL

a) Développer une fonction void scene(void) permettant de modéliser une scène constituée d'un tore de rayon extérieur (resp. intérieur) 10.0 (resp. 0.3) et de deux sphères de rayon 1.0. Le tore est modélisé dans le plan xy et centré sur l'origine. La sphère 1 est placée centrée sur l'axe Ox en position "tout à droite" sur l'axe du tore. La sphère 2 est placée centrée sur l'axe -Ox en position "tout à gauche" sur l'axe du tore.

b) Adapter la fonction de la question (a) et la compléter par une fonction void idle(void) de manière à obtenir une animation telle que la sphère 1 se déplace sur le tore à raison de 1.0 degré de rotation dans le sens trigonométrique direct entre chaque image et la sphère 2 se déplace sur le tore à raison de 3.0 degrés de rotation dans le sens trigono­mé­trique indirect entre chaque image (-> Les sphères se croisent).

c) Adapter les fonctions de la question (b) de manière que, à chaque fois que les sphères se rencontrent, elles semblent rebondir l'une sur l'autre pour repartir à la même vitesse qu'antérieurement, mais en sens inverse.

Question 4: Caméra en GLUT+OpenGL

On dispose d'une scène incluse dans une sphère virtuelle de rayon 11.0 centrée sur l'origine du repère de modélisation. On souhaite visualiser cette scène en projection parallèle orthographique avec l'axe -z comme axe de visualisation. Développer la fonction void reshape(int tx,int ty) permettant de configurer la caméra virtuelle de visualisation selon les caractéristiques souhaitées et assurant (1) que le viewport de visualisation occupe toute la fenêtre et (2) que la scène est toujours entièrement affichée dans le viewport de visualisation.

Correction

Remarques, erreurs
nicolas.janey@univ-fcomte.fr