Projet Infographie
2011-2012

Instructions et calendrier

Le projet est à réaliser en binôme.

Le travail est à rendre pour le vendredi 16 décembre 2010 à 11h dernier délai exclusivement par courrier électronique à l'adresse nicolas.janey@univ-fcomte.fr. L'archive WinZip envoyée devra porter les noms des étudiants (formaté sous la forme Nom1-Nom2.zip) et s'extraire dans un répertoire portant ces mêmes noms. L'entête du courrier électronique devra contenir précisément la chaîne "ProjetIG20112012" suivie des noms des étudiants.
Si le calendrier du semestre le permet, la dernière séance de TP sera consacrée à une présentation individuelle du travail réalisé (10 mn par binôme).

L'archive WinZip devra contenir un fichier readme.htm où seront indiquées toutes les informations jugées nécessaires à la bonne compréhension du travail réalisé. Ce fichier inclura aussi un descriptif des techniques employées pour réaliser le travail.

L'archive WinZip ne devra contenir que les fichiers strictement nécessaires (sources, solution, projet, makefile, ressources, textures, ...) et en tout état de cause occuper moins de 5 Mo. ATTENTION, les .exe et autres type d'exécutables ne devront pas être sauvegardés dans l'archive faute de quoi, le mail sera rejeté par le serveur de mail de l'université.

Dans les limites décrites ci-dessous, chaque binôme étudiant est libre de choisir la scène qu'il modélisera, animera et affichera.
Le sujet choisi parmi les 2 proposés, la scène choisie et l'animation développée dans le cadre de ce sujet devront m'être décrits pour accord par courrier électronique avant la rentrée des vacances de la toussaint.

Sujets

Deux sujets au choix sont proposés:
  1) la programmation et l'affichage d'une(de plusieurs) illusion(s) d'optique,
  2) la programmation et l'affichage de un(plusieurs) robot(s) mobile(s).

Sujet n°1

Le but est de créer et d'afficher des illusions d'optique. Ces illusions pourront être de différents types:

Exemple n°1: Illusion de projection

Illusion1-01a.png Illusion1-01b.png
Illusion1-02a.png Illusion1-02b.png
Un cube en fil de fer affiché
en projection en perspective
Un hexaèdre en fil de fer affiché
en projection parallèle orthographique
Coordonnées des sommets choisies
pour donner l'illusion de la perspective
-> Une rotation brise l'illusion.
Exécutable Win32 : Illusion1.exe (attention utilisation de GLUT32.dll)

Exemple n°2: Illusion de projection

Illusion1-01a.png Illusion1-01b.png
Illusion1-02a.png Illusion1-02b.png
Un cube en fil de fer affiché
en projection parallèle orthographique
Un hexaèdre en fil de fer affiché
en projection en perspective
Coordonnées des sommets choisies
pour donner l'illusion
d'une projection parallèle orthographique
-> Une rotation brise l'illusion.
Illusion1-02a.png Illusion1-02b.png
Calculs d'illumination possibles si on passe
en affichage surfacique avec génération des normales
(identiques sur chaque face du "cube")
Exécutable Win32 : Illusion2.exe (attention utilisation de GLUT32.dll)

Exemple n°3: Bump mapping

Illusion3-01.png
Une tôle ondulée en vue du dessus
Point blanc: Source lumineuse ponctuelle
Réflexions diffuse et spéculaire
Illusion3-02.png
La source lumineuse a été déplacée
Illusion3-03.png
Tôle ondulée en vue de 3/4
Illusion3-04.png
Surface plane générée avec les mêmes normales que la tôle ondulée
Illusion3-05.png
Illusion3-06.png
Vue du dessus des 2 objets
-> Différences non visibles
Exécutable Win32 : Illusion3.exe (attention utilisation de GLUT32.dll)
Touche "Espace" pour pour switcher entre les deux objets

Exemple n°4: Bump mapping

Illusion1-01a.png Illusion1-01b.png
Illusion1-02a.png Illusion1-02b.png
Une bosse Une bosse simulée en bump mapping
-> Une vue trop rasante brise l'illusion.
Exécutable Win32 : Illusion4.exe (attention utilisation de GLUT32.dll)
Touche "Espace" pour pour switcher entre les deux objets

Exemple n°5: Les anneaux Borroméens

Illusion5-01.png
Trois anneaux entrelacés
Figure impossible avec des anneaux plats tels qu'ils apparaissent ici
Illusion5-02.png
Une rotation montre que les anneaux sont en fait déformés.
Les ombrages obtenus à partir des normales spécifiées
ainsi que le texturage utilisé font que les anneaux semblent
plats en vue du dessus.
Exécutable Win32 : Illusion5.exe (attention utilisation de GLUT32.dll)

Exemple n°6: Le triangle de Penrose

Illusion6-01.png
Figure impossible avec des cotés rectilignes
Illusion6-02.png
Une rotation montre que le triangle n'est pas continu.
Illusion6-03.png
Le bon recollement des cotés est obtenu
par activation/désactivation de l'élimination des parties cachées
et modélisation géométrique adaptée
pour un point de vue particulier.
Exécutable Win32 : Illusion6.exe (attention utilisation de GLUT32.dll)

Sujet n°2

Le but est de créer et d'afficher un objet robot mobile animé destiné à être intégré au sein d'un jeu.
Comme précisé ci-avant, cet objet sera de type "robot". Il n'est toutefois pas obligatoire qu'il soit anthropomorphique (2 jambes, 2 bras, une tête, ...).
Le "robot" devra comporté des composants géométriques animés en permanence et/ou au moment des déplacements. Il devra être déplaçable à la souris et/ou au clavier dans un environnement de type plateau de jeu modélisé au sein de votre application.

Exemple: Modélisation et déplacement d'un tank

Mobile-01.png
Vue depuis la position du conducteur
Mobile-02.png
Vue extérieure
Mobile-03.png
Vue subjective depuis l'arrière du tank
Mobile-04.png
Vue subjective depuis le coté droit du tank
Exécutable Win32 : Mobile.exe (attention utilisation de GLUT32.dll)
Les mouvements sont possible au clavier et à la souris:
Clavier: Up/down pour avancer/reculer
Clavier: Right/left pour tourner à droite/gauche
Souris (bouton gauche pressé): Mouvements avant/arrière pour avancer/reculer
Souris (bouton gauche pressé): Mouvements latéraux pour tourner
Lorsque le tank avance, les chenilles tournent dans le sens de la marche.
Lorsque le tank tourne, les chenilles droite et gauche tournent en sens opposés.
Page up/page down pour monter/descendre le canon.
Touches +/- pour tourner la tourelle.
Les chocs avec les poteaux verticaux ne sont pas gérés dans cette version.
Les sorties du plateau de jeu ne sont pas gérées dans cette version.

Critères d'évaluation

Les critères d'évaluation seront les suivants:

La liste ci-dessus n'est pas exhaustive et n'est pas triée par ordre d'importance des critères.

Questions, remarques, erreurs
nicolas.janey@univ-fcomte.fr