Examen de TD n°1 2007-2008

RETOUR

26 octobre 2007 - 1h30

Aucun document n’est autorisé.

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

Question 1: VRML

Le nœud VRML suivant implante une caméra de visualisation en perspective:
   PerspectiveCamera {
     position x y z
     orientation dx dy dz a
     focalDistance f
     heightAngle a
   }
a) Que représentent les champs de ce nœud?
b) On souhaite implanter une caméra placée en position (100, 0, 100) orientée vers le point de coordonnées (0, 0, 0). Définir les valeurs des champs du nœud PerspectiveCamera que vous configureriez pour implanter ce point de vue.
c) La scène visualisée à la question b) est centrée sur l’origine. Elle occupe un volume sphérique de rayon 5. Quelle valeur approximative donneriez vous à heightAngle pour qu’elle soit visualisée en gros plan dans la fenêtre de votre viewer VRML?

Correction

Question 2: Mathématiques pour l’Infographie

a) Que sont les «coordonnées homogènes»?
b) En quoi l’utilisation des coordonnées homogènes est-elle intéressante en Informatique Graphique?

Correction

Question 3: Modélisation par facettes en OpenGL

On souhaite modéliser une surface plane carrée selon les caractéristiques suivantes:

  • Elle est située dans le plan xOy.
  • Elle est centrée sur O.
  • Elle possède un coté de longueur c.
  • Elle est modélisée au moyen de n x n facettes carrées identiques juxtaposées (n=6 dans la figure ci-contre).
  • Les normales sont créées pour autoriser un éventuel éclairage.

Image1.png (2452 octets)

Ecrire une fonction C + OpenGL assurant la création de cet objet.

Correction

Question 4: OpenGL

a) Que réalise la fonction glLoadIdentity()?
b) Que réalise la fonction glRotatef(…)? Quels sont ses paramètres et que représentent-ils?
c) Que réalise la fonction gluPerspective(…)? Quels sont ses paramètres et que représentent-ils?

Correction

Question 5: Animation avec OpenGL et GLUT

a) On souhaite programmer une animation où une sphère de rayon 1.0 initialement centrée en position (-2.0, 0.0, 0.0) et un cube de coté 2.0 initialement centré en position (2.0, 0.0, 0.0) tournent autour de l’origine. La rotation est réalisée dans le plan xOy à raison de 1° à chaque image.
Programmer les fonctions idle et display d’une telle animation.
b) Modifier les fonctions de la question a) pour que les 2 objets se rapprochent de la distance 0.001 entre chaque image jusqu’à ce qu’ils se touchent. Après contact, ils continuent à tourner autour de O mais ne se rapprochent plus.

Correction

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