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 !
Partager