Bonjour,
Je suis dans mes débuts avec java3d. J'ai du construire une centaines de ColorCube avec des transformations diverses et je n'arrive pas à comprendre pourquoi une rotation suivie d'une translation ne donne pas le même résultat qu'une translation suivie d'une rotation.
Pour dire, j'ai sorti la règle et j'ai essayé de comprendre le tout sur des axes xyz réels.
Voici mon petit test:
en haut il s'agit d'un transformGroup suivant une translation qui enfante un transformGroup suivant une rotation. Le tg suivant la rotation enfante ensuite mon ColorCube. (les images de droites font la même chose apparemment, avec une multiplication type trans.mul(rot) ).
en bas, le contraire!
Je l'ai noté dans le titre de la JFrame.
Si on regarde bien, il y a environ 1/2 centimètre de différence en taille sur mon écran 1900 pix. Ca je ne comprend pas pourquoi...
Le problème c'est que je comprend pas relativement à quoi se font ces transformations. et dans quelle ordre elles sont prises en compte.
Mes questions sont donc:
- Suivant ce schéma
Dans quel ordre vont les transfos? Du plus proche de ma Leaf au plus loin (bas en haut) ou le contraire?
- et est ce que les axes, après une translations par exemple, se repositionnent sur le centre 0;0;0 de mon cube? Je veux dire par là, après une translation (comme dans l'exemple), est ce que le repère 3d auquel la rotation est relative passe toujours par le centre du cube?
Aiaiai... je sais pas si je suis très clair!
Merci en tous cas pour ceux qui m'auront compris
A+
Partager