Année Spéciale Ensimag
Graphique 3D : Initiation à VRML
TP n. 1 : utilisation des transformations géométriques
 

Pour les séances de travaux pratiques autours de VRML 2.0, nous utiliserons les outils de Liquid Reality (rachetée récemment par Microsoft). Liquid Reality propose une API (application Programmer Interface) en langage JAVA pour construire de mondes 3D et des navigateurs VRML. Cette API, très complète sera utilisée par la suite. Pour ce premier TP nous n'utiliserons que le navigateur ("browser") VRML 2.0 proposé par Liquid Reality.

Pour utiliser ce navigateur il faut tout d'abord modifier vos variables d'environnment de manière à intégrer dans vos règles de recherche les différents chemins nécessaires à l'utilisation de LR (Liquid Reality). Pour cela intégrer dans votre fichier .tcshrc (ou .cshrc selon le shell de commandes que vous utilisez) les commandes suivantes :

# pour l'utilisation de Liquid Reality et de JDK 1.1.final
setenv JAVA_HOME /users/genoud/jdk1.1
setenv PATH ${JAVA_HOME}/bin:${PATH}
setenv LD_LIBRARY_PATH ${JAVA_HOME}/lib:${JAVA_HOME}/lib/sparc:${LD_LIBRARY_PATH}
setenv CLASSPATH .:${JAVA_HOME}/lib/classes.zip:${JAVA_HOME}/classes

Ces commandes se trouvent dans le fichier ~genoud/VRML/pathLR. Vous pouvez les exécuter interactivement en tapant source ~genoud/VRML/pathLR

Le navigateur VR ML 2.0 de LR est accessible depuis une applet, cependant l'integration de LR aux navigateurs de Netscape n'a pas été finalisée suite au rachat de LR par Microsoft. Aussi pour l'utilisation de ce navigateur nous serons dans l'obligation de passer par l'application appletviewer du JDK (Java Developer's Kit).

Exercice 1 : première utilisation du navigateur VRML de LR

a) recopier chez vous (par exemple dans un repertoire VRML que vous aurez créé auparavant) le repertoire ~genoud/jdk1.1/exemplesLR. Ce répertoire contient différents monde VRML (fichiers .wrl) ainsi qu'un fichier html viewer.html qui "encapsule" l'applet LRBrowser (navigateur VRML de LR).
b) lancer l'applet par la commande appletviewer viewer.html &
c) charger différents mondes (par exemple cone.wrl) et experimenter les différents modes de navigation proposés par le navigateur VRML de LR.
 

Exercice 2 : Transformations géométriques simples

Cet exercice est celui propose par David Nadeau. Il s'agit de modifier le fichier  ~genoud/VRML/tpTransfosGeom/archs.wrl afin de :

a) ajouter un sol à la scene
b) instancier l'arche plusieurs fois afin d'aligner plusieurs arches selon l'axe des z
c) construire un "temple grec". Rajouter des boites (box)  raccordant le fronton avant et le fronton arrière du temple réalisés eux-mêmes a l'aide de l'arche fournie dans le fichier archs.wrl.

Recopiez chez vous ce fichier et faites les modifications demandées.
 

Exercice 3 : Modélisation hiérarchique

En utilisant les transformations géométriques de modélisation (noeuds Transform) et les primitives de définition d?objets graphiques (noeuds Shape) , construire un fichier VRML qui représente un système solaire.
Dans ce système, les planètes sont des sphères qui suivent des trajectoires circulaires. De plus chaque planète tourne sur elle même selon un axe vertical.

Dans un premier temps on s'interessera à la modélisation statique de système solaire, c'est à dire au placement des différents astre dans une position initiale. Une fois celui-ci réalisé on réflechira la manière d'animer cette scène. Pour cela on lancera les mouvement de rotation des différentes planètes en cliquant sur le soleil. (Noeuds VRML à utiliser : TouchSensor,  Orientation Interpolator, TimeSensor).

Le système planétaire à representer devra comporter au moins les astres suivants : un soleil et deux planètes dont l'une possédant un satellite. Le jeu de données ci dessous peut vous servir de base pour construire votre système planétaire. Les distances et durée utilisées sont fournis à titre indicatif, vous pouvez les adapter selon l'effet visuel que vous souhaiter obtenir sur votre écran. De même vous pouvez ajouter autant de planètes et satellites que vous le souhaitez.

Soleil :
- rayon 14 unités
- période de rotation sur elle même : 400 unités de temps.

Planète 1 :- rayon : 9 unités.
- distance au soleil : 114 unités.
- période de révolution  : 730 unités de temps.
- période de rotation sur elle même : 48 unités de temps.

Planète 2 :
- rayon : 8 unités.
- distance au soleil : 223 unités.
- période de révolution  : 1000 unités de temps.
- période de rotation sur elle même : 80 unités de temps.

Satellite de la Planète 2 :
- rayon : 3 unités.
- distance à la Planète 2 : 37 unités.
- période de révolution  : 100 unités de temps.
- période de rotation sur lui-même : 60 unités de temps.