Mini-projet de Synthèse d'Images - ESSI 2

2004-2005
Rendu du mini-projet
Le rendu du mini-projet est prévu pour le 30 Mai 2005 à 12h précises. Tout rendu postérieur ne sera pas pris en compte.
Le rendu est constitué de:
- archive contenant le code source, l'exécutable les fichiers indispensables au bon fonctionnement (textures, ...) et un Readme permettant d'obtenir les informations nécessaires pour la compilation/exécution (plateforme, ...) et pour l'utilisation (touches clefs, ...).
- rapport très court (maximum 2 pages) expliquant ce que vous avez fait, les problèmes rencontrés, les solutions apportées et le bilan de ce que ce projet vous a apporté
Une soutenance sur machine d'une dizaine de minutes par monôme ou binôme sera prévue afin de présenter votre travail et réponse aux questions (pas de transparents, juste une démo): les jeudi 2 juin et vendredi 3 juin, après-midi.
Pour le déroulement de ces soutenances et vous y inscrire, voir la page suivante.
Présentation du mini-projet
Le mini-projet consiste en la réalisation d'un visualisateur 3D de molécules. En première partie sont données des fonctionnalités de base (et donc obligatoires) que l'on souhaite trouver dans tous les projets. En seconde partie, on fait appel à votre imagination pour rendre l'application plus attrayante et plus complexe.
Première partie: fonctionnalités de base
On veut se baser sur la visualisation de molécules 3D. Pour cela, le visualisateur minimal que vous devrez réaliser est composé de quelques molécules simples.
Les molécules que vous représenterez seront constituées des trois atomes suivants: Carbone, Hydrogène et Oxygène.
Définissez une structure de données pour représenter les atomes. Chaque atome est décrit par un lettre, sa taille, sa couleur, et sa valence en respectant les données suivantes:
| Atome | Lettre | Taille relative | Couleur | Valence |
| Hydrogène | H | 1 | vert | 1 |
| Carbone | C | 2 | gris | 4 |
| Oxygène | O | 2.5 | bleu | 2 |
On rappelle que la valence d'un atome est le nombre (fixe pour un type d'atome particulier) de liaison que celui-ci peut établir avec d'autres atomes. Des ensembles d'atomes liés entre eux forment ainsi des molécules. La valence est le nombre d'électron que des atomes liés partagent. Dans les exemples que vous manipulerez, chaque liaison peut être simple (partage d'un seul électron) ou double (partage de deux électrons).
Les 6 molécules que vous allez représenter sont le dioxygène (O2), l'eau (H20), le méthane (CH4), le méthanol (CH3OH), l´ethylène (C2H4) et le propène (CH3CHCH2) qui sont représentées ci-après:
Par soucis de simplification, chacune de ces structures est décrite dans un plan et la distance entre 2 atomes liés est toujours la même. On peut donc représenter la position relative d'un atome et de son voisin par un simple angle (on prendra comme origine des angles l'axe X comme dans l'exemple suivant:
Vous permettrez deux types de déplacements:
- déplacement de la caméra autour de la molécule (rotation autour de la scène)
- déplacement de la molécule (rotation autour de son barycentre et translation)
afin de faciliter la visualisation des molécules. On pourra tout à fait se contenter de ne visualiser qu'une seule molécule à la fois et de passer de l'une à l'autre via une touche du clavier.
Seconde partie: des idées d'approfondissement
Selon vos préférences, un certain nombre de pistes peuvent être suivies:
- Faire des représentations plus réalistes des angles (structures non planes) et liaisons.
- Permettre d'avoir toutes les molécules présentes dans la scène et de prendre en compte les mouvements des molécules sélectionnées (via le clavier ou la souris (picking)
- Ajout de molécules plus complexes telles que la cafféine.
- Permettre une vue synthétique de loin puis détailléee de près.
- Améliorer le rendu des molécules / atomes (transparence, texture, ...)
- Faire des animations de réactions chimiques
- Faire un éditeur graphique de molécules ( + compliqué ...)
- ....
Evidemment, toute autre idée est la bienvenue ... n'hésitez pas à en discuter avec vos encadrants de TP.
Notation :
Le travail sera noté par binôme. Cependant, une différence trop importante
d'investissement dans le travail pourra conduire à une notation séparée des
binômes. Nous n'hésiterons pas à sanctionner des projets montrant trop de
ressemblance, voir même être contraints de mettre des zéros aux projets
identiques. Soyez prévenus! Mieux vaut donc rendre un travail personnel non
complet qu'un beau projet des copains.
La notation comprendra:
la réponse aux fonctionnalités demandées dans la première partie,
l'approfondissement fait en deuxième partie,
l'originalité, la créativité de votre projet,
l'ergonomie de l'interface,
la structuration, correction et lisibilité du code.
L'évaluation se fera lors d'une soutenance orale
qui consistera en une démonstration de votre projet. Vous présenterez
votre projet en mettant en valeur votre travail. Il vous appartient de
vérifier avant la soutenance que votre projet fonctionne à l'ESSI et
de prendre les précautions qui s'imposent. Le ``oui, mais
Madame/Monsieur, chez moi ça marchait bien, j'vous jure !'' ne sera
pas pris en considération. Au pire, apportez votre ordinateur.
Et sur ce, bon travail !
Diane Lingrand