Bonjour,
Je travail sur un projet Java3D qui consiste à représenter des Arbres Octaux.
En gros un cube peut être plein, vide ou divisé en 8 cubes.


Là c'est l'interface du logiciel.
On peut tourner la caméra autour du cube, modifier dynamiquement l'arbre, etc...

J'ai fini en quelques sortes, mais je me demande si toutes les techniques que j'utilise sont valable ou si j'ai fais que de la merde.

Voilà la structure de la représentation 3d :


Tout en haut il y a un TransformGroup avec un Transform3D (t3d) dedans, composé de 2 Transform3D un pour la rotation en X (t3dX) et un pour la rotation en Y (t3dY).
Je les .mul :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
t3dY=new Transform3D();
t3d.mul(t3dX);
t3d.mul(t3dY);
t3d.getScale(vt3d);
A chaque fois que je modifie le zoom, la position X ou Y, je refais ça.

Si il y autant de BranchGroup c'est parce que sur un BranchGroup compilé on peut pas virer autres choses que des BranchGroup.

CC c'est des ColorCube et avant chaque ColorCube il y a un Vector3D qui donne les positions en X, Y et Z.


1. Existe-t-il une meilleure façon de gérer la caméra (rotation X, Y et zoom) ?
2. Est-ce que ma structure blindé de BranchGroup est bonne ?
3. Est-ce qu'utiliser les Vector3D pour positionner les cubes c'est la bonne façon de faire.

Parce que là ça marche sans problème, j'ai jamais un seul bug avec l'affichage 3D.
Enfin si sous Windows des fois le Canvas3D n'apparaît plus :


Ou le menu passe derrière le Canvas3D :


Mais au niveau du dessin des cubes ça va.

4. Comment faire pour empêcher le Canvas3D de disparaître et comment l'empêche de passer devant le menu ?
5. Là j'utilise des ColorCube, mais j'aimerais utilisé une autre classe qui hérite de Shape3D, parce que les ColorCube sont moches, existe-t-il un moyen de faire une box par exemple et choisir les couleurs de chaque côté et colorier les arrêtes aussi ?
6. J'ai un problème pour générer la javadoc, j'ai téléchargé la doc de java3d, dans Eclipse pour les 3 jars concerné je donne l'adresse de la doc et elle est validate (il y a package_list) mais pourtant il ne connait toujours pas javax.media.j3d.

Merci d'avoir lu mes questions.
Si vous avez une seule piste pour une seule de ces questions merci de me les faire parvenir ce serait vraiment sympa.
Bonne journée.