Aucun document nest autorisé. On n'oubliera pas de
fournir quelques commentaires sur les techniques employées.
Question 1: Questions de cours
- En OpenGL, à quoi sert la fonction glBegin? Quels sont les paramètres possibles de
cette fonction? A quoi correspondent-t-ils?
- Quest ce quune lumière ponctuelle? Quest ce quune lumière
directionnelle?
- En OpenGL, comment programme-t-on une lumière ponctuelle? Comment programme-t-on une
lumière directionnelle?
- Pourquoi les normales sont-elles importantes en Informatique Graphique ?
- 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é à lorigine 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 nest 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.
- Décrire une méthode de calcul de la normale à cette facette.
- Structurer les données manipulées et implanter informatiquement cette méthode.
Correction
Question 4
- Dans quel cadre dutilisation lappel 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);
- Où est placé cet appel dans du code OpenGL ?
- A quoi correspondent les paramètres dentê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 dune sphère
|