Pour compiler: javac *.java Pour exécuter: java SimpleVolumeViewer Une fois que vous avez réussi à compiler et exécuter le code, essayez les actions suivantes dans la vue 3D avec la souris: Bouton gauche : orbiter la caméra Bouton droit : translater la caméra dans son plan Boutons gauche + droit : translated la caméra vers l'avant ou l'arrière Ctrl + bouton gauche : changer le alpha (fonctionne seulement si "Enable Compositing" est cochée) Ctrl + bouton droit : changer le seuil pour décider à quelle valeur "couper" le volume ------------------------ Pour changer laquelle des images volumiques est chargée, modifiez Bitmap3D.java pour avoir soit les lignes public int NX = 64; public int NY = 57; public int NZ = 64; String filename = "johnDoe64x57x64.dat"; ou bien public int NX = 128; public int NY = 114; public int NZ = 128; String filename = "johnDoe128x114x128.dat"; ------------------------ Exercise: allez voir dans SceneViewer.display(), et cherchez la chaîne GL_POINTS pour trouver le début d'un bloc glBegin(L.GL_POINTS ) / glEnd() contenant trois boucles "for" où les voxels sont dessinés. Remarquez que, dans ce code, SceneViewer.alpha est constante pour tous les voxels pendant le rendu, tandis que la couleur de chaque voxel dépend de la valeur scalaire dans le volume (la couleur (rouge,vert,bleu) étant (f,1-f,1), où f est la valeur scalaire entre 0.0 et 1.0). Rajoutez une case à cocher à l'interface permettant de tester un deuxième mode de rendu, où la couleur des voxels est constante, mais l'alpha des voxels dépend de la valeur scalaire f. Faites en sorte que, dans ce mode de rendu, alpha est une fonction en rampe de f, définie comme { 1, si B <= f alpha = { (f-A)/(B-A), si A <= f <= B { 0, si f <= A où 0 <= A <= B <= 1. Ensuite, modifiez SceneViewer.mouseDragged() pour que quand l'utilisateur effectue un glissement avec Ctrl + bouton gauche, le déplacement horizontal de l'utilisateur fait varier A, et le déplacement vertical fait varier B. Cela permettra à l'utilisateur de faire varier la fonction en rampe avec un seul glissement fluide de la souris.