Examen de TD n°1 2006-2007

RETOUR

25 octobre 2006 - 1h20

Aucun document n’est autorisé.

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

Question 1: Questions de cours

  1. En OpenGL, à quoi sert la fonction glBegin? Quels sont les paramètres possibles de cette fonction? A quoi correspondent-t-ils?
  2. Qu’est ce qu’une lumière ponctuelle? Qu’est ce qu’une lumière directionnelle?
  3. En OpenGL, comment programme-t-on une lumière ponctuelle? Comment programme-t-on une lumière directionnelle?
  4. Pourquoi les normales sont-elles importantes en Informatique Graphique ?
  5. En OpenGL, que réalise la fonction void gluPerspective(double o, double r, double v1, double v2)? Que représentent les 4 paramètres de cette fonction?

Correction

Question 2: Animation en OpenGL

On souhaite animer une scène modélisant un système solaire réduit au triplet de corps (soleil, terre, lune). La terre est en orbite autour du soleil. La lune est en orbite autour de la terre. Les paramètres sont les suivants :

  • Le soleil est une sphère diffusante jaune de rayon 5.0.
  • La terre est une sphère de rayon 1.0. Elle diffuse dans le bleu et réfléchit spéculairement dans le blanc.
  • La lune est une sphère diffusante grise de rayon 0.5.
  • La distance entre le centre du soleil et le centre de la terre est égale à 10.0.
  • La distance entre le centre de la terre et le centre de la lune est égale à 3.0.
  • La lune fait 12 tours autour de la terre pendant que celle-ci fait un tour autour du soleil.
  • Le soleil est placé à l’origine du repère de modélisation. Les deux autres objets tournent dans le plan xOy.

On notera que les proportions et distances relatives ne sont pas respectées.

Programmer les fonctions idle et display réalisant une telle animation avec des objets munis de matériaux. Il n’est pas demandé de gérer de lumières, celles-ci seront modélisées par ailleurs.

Correction

Question 3: Mathématiques

On considère une facette triangulaire définie en 3D par trois sommets P1, P2 et P3.

  1. Décrire une méthode de calcul de la normale à cette facette.
  2. Structurer les données manipulées et implanter informatiquement cette méthode.

Correction

Question 4

  1. Dans quel cadre d’utilisation l’appel de fonction suivant se justifie-t-il?:
    gluLookAt(100.0F,50.0F,100.0F,30.0F,-20.0F,60.0F,1.0F,0.0F,0.0F);
  2. Où est placé cet appel dans du code OpenGL ?
  3. A quoi correspondent les paramètres d’entête ?

Correction

Rappel de quelques fonctions OpenGL ([] indique les fonctions à suffixe)

  • glMaterial[](…): Définition des caractéristiques du matériel
  • glPopMatrix(…): Dépilement de la transformation géométrique courante
  • glPushMatrix(…): Empilement de la transformation géométrique courante
  • glRotate[](…): Définition d'une rotation
  • glTranslate[](…): Définition d'une translation
  • glutSolidSphere(double r,int n1,int n2): Modélisation et dessin d’une sphère

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