Utilisation des quaternions

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
Avatar de l’utilisateur
ampholyte
Membre Transcendant
Messages: 3940
Enregistré le: 21 Juil 2012, 08:03

Utilisation des quaternions

par ampholyte » 22 Aoû 2012, 19:38

Bonjour,

Une question que j'avais en tête il y a un petit moment me revient soudainement.

Cette question là voici : A quoi sert les quaternions ?

J'ai pu entendre certaines personnes me dire que c'est le moyen de faire des rotations en 3D, mais pour le moment je n'ai jamais eu de problème en utilisant les matrices.

Quelqu'un aurait une explication un peu plus poussé que " c'est bien pour la 3D " ?

Merci d'avance =)



barbu23
Membre Transcendant
Messages: 5466
Enregistré le: 18 Fév 2007, 18:04

par barbu23 » 22 Aoû 2012, 19:56

Salut : :happy3:
ça sert par exemple, à résoudre l'équation dans en utilisant la formule de De Moivre pour les quaternions ( C'est très joli ).
Regarde ici :
http://www.les-mathematiques.net/phorum/read.php?3,453499

Avatar de l’utilisateur
ampholyte
Membre Transcendant
Messages: 3940
Enregistré le: 21 Juil 2012, 08:03

par ampholyte » 22 Aoû 2012, 20:10

barbu23 a écrit:Salut : :happy3:
ça sert par exemple, à résoudre l'équation dans en utilisant la formule de De Moivre pour les quaternions ( C'est très joli ).
Regarde ici :
http://www.les-mathematiques.net/phorum/read.php?3,453499


Oh merci tout plein, je n'avais vu que la couche 3D des quaternions (rotation par rapport à une droite et tout le tralala). Je n'ai plus qu'à lire tout cela et à me l'approprier.

Merci infiniment =)

SaintAmand
Membre Rationnel
Messages: 901
Enregistré le: 17 Oct 2011, 12:47

par SaintAmand » 22 Aoû 2012, 20:27

ampholyte a écrit:J'ai pu entendre certaines personnes me dire que c'est le moyen de faire des rotations en 3D, mais pour le moment je n'ai jamais eu de problème en utilisant les matrices.


Composer des rotations reviens à multiplier des matrices, et pas n'importe lesquelles, des matrices orthogonales. Or cette opération n'est pas stable. Les erreurs s'accumulent, et rapidement tu te retrouves avec des matrices qui ne sont plus orthogonales donc qui ne représentent plus des rotations. C'est génant. Avec les quaternions on évite ce problème car tout quaternion représente une rotation.

De plus avec les quaternions, 4 nombres suffisent à représenter une rotation contre 9 pour les matrices.

Avatar de l’utilisateur
ampholyte
Membre Transcendant
Messages: 3940
Enregistré le: 21 Juil 2012, 08:03

par ampholyte » 23 Aoû 2012, 00:24

SaintAmand a écrit:Composer des rotations reviens à multiplier des matrices, et pas n'importe lesquelles, des matrices orthogonales. Or cette opération n'est pas stable. Les erreurs s'accumulent, et rapidement tu te retrouves avec des matrices qui ne sont plus orthogonales donc qui ne représentent plus des rotations. C'est génant. Avec les quaternions on évite ce problème car tout quaternion représente une rotation.

De plus avec les quaternions, 4 nombres suffisent à représenter une rotation contre 9 pour les matrices.


Bon supposons que je travaille dans un univers 3D. Je possède une caméra sur laquelle j'associe une matrice qui regroupe les 3 vecteurs sur les axes x,y et z.
Lorsque je bouge la souris, ma caméra doit suivre le mouvement de la souris.
Je multiplie donc ma matrice de départ avec les matrices de rotations suivant mes deux principaux axes. Et j'obtiens bien la nouvelle position de ma caméra.
J'ai pu voir également que l'utilisation des quaternions me donne le même résultat (en gros ma caméra tourne suivant comment je bouge ma souris).

J'ai donc un peu de mal à comprendre pourquoi l'utilisation des quaternions serait plus avantageux que les matrices 3*3 (Mis à part le côté optimisation de mémoire).

J'ai également dû mal à comprendre les erreurs que peuvent générer les rotations par des matrices 3*3.
Je n'avais jamais vu que pour multiplier des matrices il fallait que les matrices soient orthogonales.
Pourquoi est-il nécessaire que ces matrices soient orthogonales ?

Merci encore pour vos explications, je vais finir par voir l'utilité de ses satanés quaternions :mur:

SaintAmand
Membre Rationnel
Messages: 901
Enregistré le: 17 Oct 2011, 12:47

par SaintAmand » 23 Aoû 2012, 10:08

ampholyte a écrit:J'ai également dû mal à comprendre les erreurs que peuvent générer les rotations par des matrices 3*3.


Ce problème n'est pas spécifique au calcul sur les matrices ni même au calcul numérique. C'est un problème plus général lié au passage de l'analogique au numérique, ie du passage du continu au discret. Puisque tu es compétent en infographie, je te renvoie à la représentation des couleurs et les problèmes que cela pose; je suis sûr que tu t'es déjà retrouvé avec d'affreuses bandes de couleurs sur un jpeg après l'avoir retouché. Les ingénieurs du son et les numériciens sont confrontés aux mêmes types de problèmes.

Je n'avais jamais vu que pour multiplier des matrices il fallait que les matrices soient orthogonales.
Pourquoi est-il nécessaire que ces matrices soient orthogonales ?


Les rotations de l'espace peuvent être représentées par des matrices 3x3 à coefficients réels. Mais toutes les matrices réels 3x3 ne représentent pas des rotations. Une matrice représente une rotation de ssi et . Ces matrices sont dites orthogonales directes.

La composition des rotations est représenté par la multiplication des matrices. La propriété «la composée de deux rotations est une rotation» se traduit par «la multiplication de deux matrices orthogonales directes est une matrice orthogonale directe» dans le langage des matrices.

Dans ton ordinateur, les nombres réels sont représentés par des nombres flottants (discrétisation des nombres réels) dont l'arithmétique est différente de celle des réels. Il s'ensuit que la multiplication de deux matrices orthogonales directes (de nombres flottants) n'est en général par une matrice orthogonale directe. D'une certaine manière on peut dire que la propriété «la composée de deux rotations est une rotation» n'est pas conservée. Ce qui n'est pas très satisfaisant.

Lorsque l'on modélise les rotations par des quarternions c'est un peu différent puisque que tout quaternion représentant une rotation, la propriété «la composée ...» est conservée. C'est mieux.

Avatar de l’utilisateur
ampholyte
Membre Transcendant
Messages: 3940
Enregistré le: 21 Juil 2012, 08:03

par ampholyte » 23 Aoû 2012, 10:59

Ce problème n'est pas spécifique au calcul sur les matrices ni même au calcul numérique. C'est un problème plus général lié au passage de l'analogique au numérique, ie du passage du continu au discret. Puisque tu es compétent en infographie, je te renvoie à la représentation des couleurs et les problèmes que cela pose; je suis sûr que tu t'es déjà retrouvé avec d'affreuses bandes de couleurs sur un jpeg après l'avoir retouché. Les ingénieurs du son et les numériciens sont confrontés aux mêmes types de problèmes.


Quel idiot je fais, évidemment, je pensais avec ma feuille de papier :mur:.

La composition des rotations est représenté par la multiplication des matrices. La propriété «la composée de deux rotations est une rotation» se traduit par «la multiplication de deux matrices orthogonales directes est une matrice orthogonale directe» dans le langage des matrices.

Dans ton ordinateur, les nombres réels sont représentées par des nombres flottants (discrétisation des nombres réels) dont l'arithmétique est différentes de celles des réels. En particulier, la multiplication de deux matrices orthogonales directes (de nombres flottants) n'est en général par une matrice orthogonale directe. D'une certaine manière on peut dire que la propriété «la composée de deux rotations est une rotation» n'est pas conservée. Ce qui n'est pas très satisfaisant.

Lorsque l'on modélise les rotations par des quarternions c'est un peu différent puisque que tout quaternion représentant une rotation, la propriété «la composée ...» est conservée. C'est mieux.


Je vois, mais physiquement parlant comment cela pourrait se répercuter sur la rotation de ma caméra. Serait-elle moins précise qu'avec l'utilisation des quaternions ?

Merci pour vos réponses en tout cas, j'avoue que l'utilisation des quaternions me paraissaient flou mais je commence à voir leur utilité.

 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 95 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite