• Aucun résultat trouvé

Examen MédianLundi 26 Avril 2010, de 8h à 10hCoefficient : 30 %Aucun document autorisé. Calculatrice NON programmable autorisée.

N/A
N/A
Protected

Academic year: 2022

Partager "Examen MédianLundi 26 Avril 2010, de 8h à 10hCoefficient : 30 %Aucun document autorisé. Calculatrice NON programmable autorisée."

Copied!
2
0
0

Texte intégral

(1)

UV IN55 - Synthèse d'images Responsable : Fabrice LAURI

Examen Médian

Lundi 26 Avril 2010, de 8h à 10h

Coefficient : 30 % Aucun document autorisé. Calculatrice NON programmable autorisée.

Remarques et conseils :

Les parties I et III pourront être rédigées sur la même feuille. La partie II devra être rédigée sur une feuille séparée.

Lisez attentivement chaque question avant d'y répondre.

Justifiez autant que possible vos réponses.

Partie I : Questions de cours

Exercice 1 – Questions de cours

1. Quel est l'avantage d'utiliser des matrices et des vecteurs homogènes ?

2. Soient trois quaternions q1, q2 et qV. Que permettent de calculer les deux fonctions f1 et f2

suivantes :

- f1qV=q1qVq−11 - f2q1,q2=q1q2

Que représente chacun des quaternions q1, q2 et qV ?

3. Donnez l'expression des coordonnées (x' y' z')T d'un pixel affiché dans le viewport en fonction des coordonnées normalisées (x y z)T d'un vertex présent dans le view frustum.

4. Quelle transformation faut-il appliquer à la normale d'un triangle si la transformation M est appliquée à chacun des vertices du triangle ?

5. En quoi consiste l'interpolation de quaternions ? De quel problème souffre l'interpolation linéaire de quaternions ? Comment la résoudre ?

Partie II :

Exercice 2 – Intersection

Soient deux plans P1 = <N1,D1> et P2 = <N2,D2> tels que N1 = (8 3 5)T, D1 = -12, N2 = (3 -9 6)Tet D2 = 14. Ces deux plans s'intersectent-ils ? Si oui, donnez l'équation de la droite d'intersection.

Exercice 3 – Caméra

Soit le repère R = (O,<e1,e2,e3>) du monde global tel que O = (0 0 0)T, e1 = (1 0 0)T, e2 = (0 1 0)T et e3 = (0 0 1)T.

Soit un objet en forme de théière dont le centre de transformation (pivot) est en A = (-2,1,0)T. Soit la caméra C placée à l'origine du repère R et définie par le Frustum suivant :

Distance au plan proche : ½

Distance au plan lointain : 10

Angle horizontal : 45

Angle vertical : 60

La base vectorielle de la camera exprimé dans le repère R est défini par les vecteurs f1 = (0 1 0)T, f2

= (0 0 1)T et f3 = (-1 0 0)T.

(2)

Questions :

1) Déterminez la matrice homogène de transformation de la caméra.

2) Déterminez la matrice homogène de projection de la caméra.

3) Déterminez les coordonnées du point pivot de l'objet dans l’espace caméra.

4) L'objet est–il visible par la caméra, autrement dit, est-ce que l'objet est dans le view frustum ?

Exercice 4 – Transformation

Déterminer la matrice de rotation autour de l'axe de vecteur de direction V = (0 0 -1)T et d'un angle de 90° passant par le point B = (2, 5, -3)T.

Partie III : OpenGL

Exercice 5 – Modélisation hiérarchique

On dispose de deux primitives graphiques tracerCarre() et traceTore() qui permettent respectivement de faire le rendu en 2D d'un carré unitaire et d'un tore dont le cercle interne est unitaire et le cercle externe est de diamètre 1.2. Carré et tore sont centrés à l'origine dans l'espace local.

En utilisant les instructions OpenGL glRotate(...), glTranslate(...), glScale(...), glPushMatrix() et glPopMatrix(), écrivez le code de la fonction tracerVoiture( float angle_roue ) qui permet de faire le rendu en 2D d'une voiture comme indiquée sur le schéma ci-dessous et en sachant que :

les cotations L1, L2, L3, L4 doivent être respectées ;

la petite roue est 2 fois plus petite que la grande roue (même si cela n'est pas le cas sur le schéma) ;

angle_roue est l'angle de rotation des roues autour de leur axe

le schéma correspond à tracerVoiture( 0 ).

Votre code doit être aussi clair et concis que possible. N'hésitez pas à le décomposer en plusieurs fonctions permettant chacune d'afficher une des parties hiérarchiques de la voiture.

Références

Documents relatifs

Un transformateur d’une puissance de 15 KVA est alimenté par un réseau de fréquence 50 Hz. Il est constitué d’un circuit magnétique de section 24 cm 2. Deux essais ont

Break 1: This setting defines the end of the Slope 1 region and the start of the transition region. It should be set just above the maximum normal operating current level of

Pour chaque PE située en extrémité de l’arbre (feuille), on suppose connue sa boite englobante de la forme d’une sphère, définie par son centre et son rayon. On cherche à

Le caractère peut être inséré en mémoire image en donnant la position (X0, Y0) de l’origine du masque dans la mémoire image. Le masque de caractère peut être modifié au moment

On désire effectuer le rendu de ce nuage de points à l'aide d'un shader, de telle manière à ce que l'ensemble des points soit affiché dans la fenêtre de rendu, quelque soient la

Pour chaque transformation, précisez le nombre de coordonnées du vecteur sur laquelle elle est appliquée et dans quel espace ce vecteur s'exprime.. L'objectif est de construire

L'objectif est de construire par primitive graphique une pyramide de hauteur H et telle qu'une moitié rectangulaire de la base est jaune, l'autre moitié est verte, deux pans opposés

Pour chaque transformation, précisez le nombre de coordonnées du vecteur sur laquelle elle est appliquée et dans quel espace ce vecteur s'exprime.. Utilisez des matrices 4x4