wiki:CahierDesCharges

Retour

Le cahier des charges

Exigences fonctionnelles

Le composant sera un genre de "gnuplot-like" sauf qu'il s'agira là d'un vrai objet 3D que l'on pourra manipuler aisément et insérer directement dans une application ARéVi et en particulier dans Mascaret.

Détail des exigences

  • Exigence 1 : Architecture "client-serveur".
    Le composant fait office de serveur auquel de potentiels clients extérieurs peuvent commander l'affichage d'une nouvelle surface.
  • Exigence 2 : Affichage de surfaces paramétrées.
    L'objet affiche des surfaces correspondant à des fonctions paramétrées de la forme z=f(x,y) - x є Dx et y є Dy avec Dx C R, Dy C R - ou des histogrammes 3D (pour des fonctions discrètes).
  • Exigence 3 : Manipulation des surfaces.
    L'utilisateur a la possibilité de faire tourner (et zoomer/dézoomer sur) une surface. Il y a aussi la possibilité de l'étirer.
  • Exigence 4 : Affichage des axes.
    On affiche les axes gradués (x,y,z) de façon à ce que l'information soit lisible par l'utilisateur.
  • Exigence 5 : Plans de coupe.
    L'utilisateur peut définir des plans de coupe, pour étudier plus en détail une surface, ou sélectionner une partie de celle-ci individuellement.
    Ces plans peuvent avoir une semi-transparence: d'une face à l'autre, les propriétés de transparence d'un plan peuvent être différentes. Cela suppose la création de raccourcis périphériques ou de commandes spécifiques.
  • Exigence 6 : Interaction de l'objet.
    L'utilisateur peut placer/déplacer sur une surface d'autres objets, tel que le nuage de points, par exemple représentant la solution courante d'un algorithme génétique.
    Le composant peut également fournir des informations visuelles à l'utilisateur, telles que la valeur à un endroit précis de la surface. L’ArGrapher? est manipulable à volonté à l'aide de périphériques non-immersifs (clavier, souris) ou immersifs (spacemouse, wiimote).
  • Exigence 7 : Evolution des surfaces.
    L'utilisateur voit l'évolution d'une surface en fonction du temps.
    Mode d'évolution: le client ayant commandé la surface envoie de nouvelles données au composant pour le rafraîchissement de celle-ci.
  • Exigence 8 : Plusieurs modes de représentation des surfaces.
    L'utilisateur peut choisir de voir les surfaces en mode filaire ou en mode "plein".
  • Exigence 9 : Paramétrage de la couleur.
    L'utilisateur peut choisir de représenter une surface en fonction d'une échelle de couleur prédéfinie, ou de la laisser avec une couleur uniforme par défaut.
  • Exigence 10 : Récupération de la description de l'objet.
    La description est contenue dans un fichier de configuration formaté selon une certaine convention.

Exigences techniques

La création du composant doit prendre en compte un certain nombre de contraintes techniques pour qu'au final, il soit compatible avec l'environnement technique souhaité.
Vous trouverez ci-dessous la liste de ces contraintes:

  • Exigence 1 : Utilisation de la bibliothèque ARéVi.
    Ce composant ayant pour but d'être intégré dans des environnements de réalité virtuelle et notamment dans des applications ARéVi, la solution proposée doit donc être codée à l'aide de cette bibliothèque.
  • Exigence 2 : Structure générale du composant.
    Le composant doit avoir une structure (division en classes, ...) qui facilite sa réutilisabilité et son intégration dans différentes applications ARéVi.
  • Exigence 3 : Performances du composant.
    Le composant est appelé à manier de très grandes quantités de données. Il faut donc porter une attention particulière à l'optimisation de ses performances globales.
  • Exigence 4 : Fichier de description.
    On utilise le format XML pour les fichiers de description des objets.
  • Exigence 5 : Livrable.
    La version finale du composant a pour objectif d'être intégrable dans Mascaret (sous réserve de respect de certaines contraintes propres à cet environnement).
    Il doit donc avoir la forme d'un plugin.

Retour