Je travaille dans la modélisation 3D et je cherche un peu d'aide sur une fonction que je n'arrive pas à mettre au point.
Voici les données du problème.
Soit un monde avec une origine 0 en X,Y et Z
Dans ce monde, un cercle placé sur le plan XY du monde.
Sur ce cercle un point représentant l'axe d'une autre pièce.
La rotation du cercle entraine la pièce.
Mon problème consiste à calculer les angles de l'axe de la pièce dans le monde lors de la rotation.
Voici un schéma et une photo de la modélisation :


Le cardan entraine la biellette dans sa rotation.
Soit :
H l'angle de rotation dans le plan X,Z
P l'angle de rotation dans le plan Y,Z
et B l'angle de rotation dans le plan X,Y
j'ai avancé la résolution du problème de la façon suivante :
Bb = cos (Hb) x Bc
Pb = sin (Hb) x Bc
avec b pour biellette et c pour cardan. Les angles sont en radians dans le calcul.
Ces formules fonctionnent pour un angle de biellette de 0° ou les multiples de 90°.
Si la biellette est orientée entre ces angles, la position à l'arrivée n'est pas bonne.
Un exemple ici :
Position de départ avec la biellette orientée à -30°

La position d'arrivée après un renversement de -90° du cardan donne ceci :

=> les angles d'arrivés sont mauvais.
Voilà, j'ai été bien long mais j'espère vous avoir donner une bonne compréhension de ma problématique et si d'aventure l'un de vous peut m'aider, j'en serais ravi.
Je pense que les fonctions sin et cos ne sont pas les bonnes.
Il me semble que la progression devrait suivre un incrément linéaire et que le facteur multiplicateur soit de 0.5 pour 45°. Mais c'est juste un sentiment, j'ai décroché avec cerveau obturé depuis quelques jours sur ce problème. Une vision neuve peut certainement être salvatrice.
Merci de votre lecture et de votre aide.