[ALGO/MATHS] Calcul vecteur rotation d'une ligne avec 2 points dans l'espace

Fermé
electroking Messages postés 236 Date d'inscription dimanche 14 septembre 2014 Statut Membre Dernière intervention 22 juin 2021 - 25 août 2019 à 19:58
electroking Messages postés 236 Date d'inscription dimanche 14 septembre 2014 Statut Membre Dernière intervention 22 juin 2021 - 26 août 2019 à 16:15
Salut,

Je suis actuellement en train de travailler sur les rotations dans l'espace avec des objets dont la position est fixée tel que :

obj.position.x
obj.position.y
obj.position.z


Chaque objet à sa position définie par 3 valeurs (repère classique dans l'espace).

Je travaille avec des objets sous forme de lignes.
J'ai actuellement les données suivantes :
- La longeur de la ligne
- La position de la ligne (par son centre)
- Les deux points aux extrémités de la ligne

Je cherche à connaître le "vecteur de rotation" en radian qui me permetra de tourner la ligne dans l'espace de façon à passer par ces deux points (la ligne commence verticale) tel que :

obj.rotation.x = *rad*
obj.rotation.y = *rad*
obj.rotation.z = *rad*


Savez vous quelle formule je dois appliquer ?
Merci d'avance pour vos réponses.
A voir également:

2 réponses

yg_be Messages postés 23435 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 21 janvier 2025 Ambassadeur 1 559
25 août 2019 à 20:33
0
electroking Messages postés 236 Date d'inscription dimanche 14 septembre 2014 Statut Membre Dernière intervention 22 juin 2021 6
25 août 2019 à 20:57
je ne comprends pas ?
0
electroking Messages postés 236 Date d'inscription dimanche 14 septembre 2014 Statut Membre Dernière intervention 22 juin 2021 6
Modifié le 26 août 2019 à 15:37
Up



Actuellement j'arrive à placer ma barre perpendiculairement entre les deux points (ici à gauche) mais pas à l'aligner (à droite)


0
yg_be Messages postés 23435 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 21 janvier 2025 1 559
26 août 2019 à 15:56
plus alors qu'à faire une rotation d'un quart de tour?
0
electroking Messages postés 236 Date d'inscription dimanche 14 septembre 2014 Statut Membre Dernière intervention 22 juin 2021 6
26 août 2019 à 16:15
J'utilise Tree.js et il existe une méthode nommée "lookAt" qui permet de placer l'objet dans la direction d'une coordonnées (X,Y,Z).

Par défaut, ma ligne est verticale dans le plan, donc en utilisant lookAt pour la mettre perpendiculaire, je change déjà la rotation.



Donc si je pars de la perpendiculaire comme sur l'image, le repère 3D de ma ligne est déjà différent de celui de l'espace.

J'ai donc deux choix :

- Soit je dois trouver simplement les angles, partir de 0 et changer chaque axe (rotation),

- Soit je me simplifie la vie en la mettant directement à 90° (sans calculs) et je dois effectuer une rotation de la ligne sur elle-même
0