Bonjour !

Je programme avec JAVA3D, et la maniere dont on place les objets est assez spéciale.

En effet, on crée un objet qui sera en (0,0,0) puis on y applique des translations et des rotations.

Mon problème est le suivant :
Je désire crée un cylindre qui va rejoindre deux sphères, mais forcement, ca fait n'importe quoi

Voici comment j'ai procédé :

Je récupère deux triplets correspondant aux coordonnées des deux spheres : disons S1 et S2

Je calcule la distance entre les deux spheres avec le pythagore classique pour donner une longueure au cylindre: racine(carré(x2-x1)+carré(y2-y1)+carré(z2-z1))
Jusqu'a la tout va bien

Je dois maintenant trouver des rotations de l'objet pour qu'il soit correctement aligné.
J'ai donc décidé, pour simplifier , de découper la rotation en deux rotations, selon le plan XY, puis selon le plan XZ.

Je fais donc angleXY = arc Cos ( x2-x1/ distanceXY ) ou j'ai calculé distanceXY auparavant (x2-x1 sera le coté adjacent a l'angle, et distanceXY sera l'hypothenuse )
Et pareil pour angle XY

Et la j'applique tout , et ca marche pas !!

Quelqu'un aurait saurait pourquoi ? ou aurait une idée plus simple/efficace ?

Je vous remercie d'avance !