Retrouver la rotation appliquée sur des points
Réponses à toutes vos questions de la 2nde à la Terminale toutes séries
-
zenux
- Membre Naturel
- Messages: 28
- Enregistré le: 03 Juil 2006, 21:32
-
par zenux » 26 Jan 2015, 20:39
Bonjour,
J'ai trois points (3D):
- X: 1.0, 0.0, 0.0
- Y: 0.0, 1.0, 0.0
- Z: 0.0, 0.0, 1.0
Sur ces trois points, on applique la même rotation, ce qui donne trois nouveaux points: X', Y', Z'.
Question: comment trouver l'axe de cette rotation et l'angle ?
J'arrive à une motier de solution qui est celle-ci:
- axis = X.crossProduct(X')
- angle = acos(X.dotProduct(X'))
Cette solution est incomplète, par exemple dans le cas où la rotation a été effectué sur l'axe des X: dans ce cas, j'obtiens un axis null.
Merci d'avance.
-
zenux
- Membre Naturel
- Messages: 28
- Enregistré le: 03 Juil 2006, 21:32
-
par zenux » 30 Jan 2015, 19:05
Personne pour m'aider ? :happy2:
-
fatal_error
- Membre Légendaire
- Messages: 6610
- Enregistré le: 22 Nov 2007, 12:00
-
par fatal_error » 30 Jan 2015, 19:50
hello,
si t'as deux points, tu peux tracer un plan passant par ces deux points...
et puis une droite orthogonale à ce plan, et qui passe par le milieu du segment définit par ces deux points...
puis une rotation d'angle pi...
fin bref t'as plein de rotation/axe possibles!
la vie est une fête

-
fatal_error
- Membre Légendaire
- Messages: 6610
- Enregistré le: 22 Nov 2007, 12:00
-
par fatal_error » 30 Jan 2015, 23:38
hello,
alors si on suppose que c'est bien une matrice de rotation qui génère tes trois points image...
tu résouds le système de 9 eq à 9 inconnues..
tu obtiens ta matrice de rotation R.
Ensuite, elle a un axe de rotation, donc si on prendun vecteur x (l'axe)
on a x=Rx
on déduit x (unitaire)
Enfin, on prends un vecteur y, orthogonal à x (idem on prend un vecteur qqonque, et on l'orthogonalise en enlevant la composante sur x).
on obtiens donc y'=Ry
et enfin, on calcule l'angle de rotation en cherchant l'angle associé à y'vectoriel y = sin(theta) et y.y' = cos(theta) (si on a normé y)
la vie est une fête

-
mathelot
par mathelot » 31 Jan 2015, 09:43
entre rotation affine r et vectorielle

, on a le lien
=A' , r(B)=B' \qquad \vec{r}(\vec{AB})=\vec{A'B'})
mots clés: angle de rotation (Euler, 3 angles d'Euler) ; matrice rotation+quaternions.
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 47 invités