[ALGO/MATHS] Calcul vecteur rotation d'une ligne avec 2 points dans l'espace
electroking
Messages postés
276
Statut
Membre
-
electroking Messages postés 276 Statut Membre -
electroking Messages postés 276 Statut Membre -
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 :
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 :
Savez vous quelle formule je dois appliquer ?
Merci d'avance pour vos réponses.
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:
- [ALGO/MATHS] Calcul vecteur rotation d'une ligne avec 2 points dans l'espace
- Espace insécable - Guide
- Rotation ecran windows - Guide
- Espace de stockage gmail plein - Guide
- Créer une carte avec des points - Guide
- Partager photos en ligne - Guide
2 réponses
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
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
