Matrices de rotations intermédiaires

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
Avatar de l’utilisateur
leon1789
Membre Transcendant
Messages: 5486
Enregistré le: 27 Nov 2007, 15:25

par leon1789 » 01 Déc 2013, 22:49

Ben314 a écrit:Si poil il y a... il est pas épais...

certes, mais une remarque par ci, une remarque par là, ça finit par simplifier et optimiser le binz.

Ben314 a écrit:En plus, j'aimerais bien comprendre au sens géométrique à quoi ça correspond ce qu'on fait vu que ça a pas l'air d'être la même chose que de déplacer l'axe de Ma vers celui de Mb : est-ce que "graphiquement parlant" c'est plus joli ?

je me suis aussi poser la question. Faut voir en effet...

Ben314 a écrit:Sinon, y'avai peut-être une autre solution (mais plus compliqué à mettre en œuvre je pense) : toute matrice de rotation est l'exponentielle d'une matrice antisymétrique et comme l'ensemble des matrices antisymétriques est un E.V. on peut aller d'une matrice antisymétrique à une autre bêtement "en ligne droite". En plus comme la matrice antisymétrique est pas unique, une fois qu'on a "relevé" une des 2 matrice orthogonale en une matrice antisymétrique, il faut se débrouiller pour "relever" la deuxième le plus proche possible de la première ce qui doit pas être forcément simple...

En effet. Comment obtenir (si c'est possible) une matrice antisymétrique de manière canonique ?



neoirto
Membre Naturel
Messages: 23
Enregistré le: 24 Oct 2013, 11:22

par neoirto » 01 Déc 2013, 23:49

@tous
EDIT :
Il a fallut qu'on s'y mette à trois, mais finalement, ça donne un truc super simple. Je n'y aurais pas cru au début de cette discussion !
Bravo !!!

Moi aussi j'obtiens la matrice nulle au bout du compte, et en plus, ça dépote... A vous voir faire tout ça, ça donne envie de s'y remettre, aux maths je veux dire.

Posté par Ben314
En plus, j'aimerais bien comprendre au sens géométrique à quoi ça correspond ce qu'on fait vu que ça a pas l'air d'être la même chose que de déplacer l'axe de Ma vers celui de Mb : est-ce que "graphiquement parlant" c'est plus joli ?

Posté par leon1789
je me suis aussi poser la question. Faut voir en effet...
Demain, je ferai une petite capture d'écran de la représentation 3D, je vous dois bien ça.

Je pense que ce sujet est maintenant [RESOLU]

Merci à tous ! Sincèrement !

NB: ça dépote tellement que je verrai bien une extension sur le même thème, encore plus canon, mais je voudrai pas abuser... :zen:

Avatar de l’utilisateur
leon1789
Membre Transcendant
Messages: 5486
Enregistré le: 27 Nov 2007, 15:25

par leon1789 » 02 Déc 2013, 06:36

Ben314 a écrit:En plus, j'aimerais bien comprendre au sens géométrique à quoi ça correspond ce qu'on fait vu que ça a pas l'air d'être la même chose que de déplacer l'axe de Ma vers celui de Mb : est-ce que "graphiquement parlant" c'est plus joli ?

fatal_error a écrit:
Code: Tout sélectionner
%http://www.maths-forum.com/showthread.php?p=983361#post983361
a=pi/3;
Ma=[
1 0 0
0 cos(a) -sin(a)
0 sin(a) cos(a)
];
b=pi/6;
Mb=[
cos(b) 0 -sin(b)
0 1 0
sin(b) 0 cos(b)
];



Sur l'exemple de fatal_error, j'ai commencé par dessiner les 3 colonnes de la matrice
M(r) = Ma + ( cos(r) -1 ) * (P*Ma) + sin(r) * (Q*Ma)
quand r va de 0 à t (puisque M(0) = Ma et M(t) = Mb) :

Vue en 3D isométrique
Image

Vue au-dessus du plan XoY
Image

Puis j'ai tracé l'axe de rotation de M(r) : il est toujours dans le plan engendré par ceux de Ma et Mb (c'est pas plus mal).
Image

Et enfin, l'angle de rotation de M(r) :
Image

neoirto
Membre Naturel
Messages: 23
Enregistré le: 24 Oct 2013, 11:22

par neoirto » 03 Déc 2013, 14:17

Bonjour,

Je viens de terminer un essai de représentation en 3D (avec Ogre3D) à partir de vos formules.
Peut être est-ce une erreur de ma part, car je ne suis pas expert en Ogre3D, mais les matrices intermédiaires ne se comportent pas exactement comme prévu. :mur:

Image

Image

Afin d'amplifier, et de mieux visualiser le problème, j'ai modifié a et b dans Ma et Mb:
Code: Tout sélectionner
float     a = PI/2; /// PI/3
Ogre::Matrix3   Ma = Matrix3 (
Real(1.0f), Real (0.0f), Real (0.0f),
Real(0.0f), Real (cosf(a)), Real (-sinf(a)),
Real(0.0f), Real (sinf(a)), Real (cosf(a))
);
                           
float   b = PI/2; /// PI/6
Ogre::Matrix3 Mb = Matrix3 (
Real(cosf(b)), Real (0.0f), Real (-sinf(b)),
Real(0.0f), Real (1.0f), Real (0.0f),
Real(sinf(b)), Real (0.0f), Real (cosf(b))
);


Y aurait-il une coquille ? J'ai bien vérifié qu'on obtient la matrice nulle, ça a l'air correct de ce point de vue, mais les matrices intermédiaires ne sont pas dans le plan défini par Ma et Mb...

Bien sûr ça pourrait venir de la seule modification que j'ai été obligé de réaliser (lib Ogre):
Code: Tout sélectionner
Ogre::Matrix3 P = ( 1.0f / ( 2.0f * ( cosf( t ) - 1.0f ) ) ) * ( Mp + Mp.Transpose() - 2.0f * I );

Ogre::Matrix3 Q = ( 1.0f / ( 2.0f * sinf( t ) ) ) * ( Mp - Mp.Transpose() );

A la place de (lib Opencv) :
Code: Tout sélectionner
Mat P = ( Mp + Mp.t() - 2.0f * I ) / ( 2.0f * ( cosf( t ) - 1.0f ) );

Mat Q = ( Mp - Mp.t() ) / ( 2.0f * sinf( t ) );

Car Ogre::Matrix3 ne prends pas l'opérateur /

Mais ça me semble équivalent non ?

Merci de votre aide précieuse !

Avatar de l’utilisateur
leon1789
Membre Transcendant
Messages: 5486
Enregistré le: 27 Nov 2007, 15:25

par leon1789 » 04 Déc 2013, 22:44

neoirto a écrit:Y aurait-il une coquille ? J'ai bien vérifié qu'on obtient la matrice nulle, ça a l'air correct de ce point de vue, mais les matrices intermédiaires ne sont pas dans le plan défini par Ma et Mb...

que voulez-vous dire ? (Ma et Mb sont des matrices de rotation.)

Dlzlogic
Membre Transcendant
Messages: 5273
Enregistré le: 14 Avr 2009, 12:39

par Dlzlogic » 04 Déc 2013, 23:45

Petite intervention timide.
Une rotation est une transformation. Cela signifie qu'on a un objet A que l'on transforme en un objet B.
Dans le plan cela s'écrit
X = DX + XX.x + XY.y
Y = DY + YX.x + YY.y
Si la rotation est une isométrie, alors
XX = YY = cosA
XY = -YX = -sinA aux conventions de signe et d'origine près.
Pour une transformation = translation + rotation + homothétie, deux points correspondants suffisent. C'est à dire qu'il existe une infinité de groupes de paramètres qui donnent le même résultat, y compris DX = DY = 0.

Dans un espace 3D pour des raisons de précision d'opérations arithmétique, il est nécessaire d'utiliser 4 points correspondants, c'est à dire d'utiliser la formule de transformation affine.
La matrice de rotation prise comme hypothèse est un outil mathématique, et pas des données. Il est très probable que les 9 termes de la matrice 3x3 soient justement les paramètres que j'appelle XX ...ZZ.
Comme il est nécessaire de définir les paramètres avec 4 points, les paramètres DX, DY, DZ ne peuvent pas être ignorés, même s'ils sont proches de 0.
Dans le cas de la rotation en plan on pouvait avoir exactement XX = YY et XY = -YX (signes suivant les conventions).

Dans le cas présent, on a un objet A que l'on veut transformer en un objet B. La connaissance de 4 points de A et de leur transformé dans B permet de calculer les 12 paramètres nécessaire.
Le calcul de la rotation progressive, par 1/10 d'angle, n'est qu'un problème de calcul.

Sylviel
Membre Transcendant
Messages: 6466
Enregistré le: 20 Jan 2010, 12:00

par Sylviel » 05 Déc 2013, 00:22

Dlzlogic : tu répètes cette chanson constamment. On sais très bien que cela se décompose ainsi, et ce que tu écris avec un système de 3 équations et 12 coefficient cela s'écrit en maths de manière matricielle avec 2 "coefficients" :
X' = AX+d

où X' sont les nouvelles coordonnées (vecteur 3D), A est une matrice 3x3, et d est un vecteur.
Ici on parle de rotations uniquement donc d est choisit nul.

La vision matricielle a un certain nombre d'avantages...

Ici on ne parle pas d'identifier les paramètres de la rotation puisqu'on les donne en entrée du problème... Et tu dis
Le calcul de la rotation progressive, par 1/10 d'angle, n'est qu'un problème de calcul.

ce qui est bien le coeur de la discussion ici :triste:
Merci de répondre aux questions posées, ce sont des indications pour vous aider à résoudre vos exercices.

Avatar de l’utilisateur
leon1789
Membre Transcendant
Messages: 5486
Enregistré le: 27 Nov 2007, 15:25

par leon1789 » 05 Déc 2013, 07:22

Dlzlogic a écrit:Petite intervention timide.
Une rotation est une transformation. Cela signifie qu'on a un objet A que l'on transforme en un objet B.
Dans le plan cela s'écrit
X = DX + XX.x + XY.y
Y = DY + YX.x + YY.y

Mais qu'est-ce que tu es lourd !!!!!!!!!!!!! :mur:


Dlzlogic a écrit:Si la rotation est une isométrie,

Ca veut dire quoi, ce "si" ? tu ne sais pas que les rotations sont des isométries ??


Dlzlogic a écrit:Pour une transformation = translation + rotation + homothétie, deux points correspondants suffisent.
C'est à dire qu'il existe une infinité de groupes de paramètres qui donnent le même résultat, y compris DX = DY = 0.

2 points suffisent pour faire quoi ? pour obtenir quel résultat ? C'est clair comme du jus de boudin...

Dlzlogic a écrit:
Dans un espace 3D pour des raisons de précision d'opérations arithmétique, il est nécessaire d'utiliser 4 points correspondants, c'est à dire d'utiliser la formule de transformation affine.
La matrice de rotation prise comme hypothèse est un outil mathématique, et pas des données.

jusqu'à preuve du contraire, les rotations Ma et Mb sont les données initiales du problème posé par neoirto. Mais comme d'habitude, tu connais mieux le problème que ceux qui les posent !

Dlzlogic a écrit:
Comme il est nécessaire de définir les paramètres avec 4 points, les paramètres DX, DY, DZ ne peuvent pas être ignorés, même s'ils sont proches de 0.

En clair, tu proposerais (si tu savais faire, mais on n'a rien vu de concret venant de ta part) d'utiliser des rotations dont le centre n'est pas en (0,0,0).

Dlzlogic a écrit:
Dans le cas présent, on a un objet A que l'on veut transformer en un objet B. La connaissance de 4 points de A et de leur transformé dans B permet de calculer les 12 paramètres nécessaire.
Le calcul de la rotation progressive, par 1/10 d'angle, n'est qu'un problème de calcul.

Et avec tes 12 paramètres, comment assures-tu que tu obtiens bien une rotation et pas une transformation affine quelconque ??? Connais-tu la définition (ou une caractérisation) d'une rotation 3D ? Toi qui ne sais pas qu'une rotation est une isométrie et possède un axe, on est mal barré...

Dlzlogic a écrit:Dans le contexte des premiers messages, il semble bien qu"il s'agit de rotation en 3D de centre O. Si c'est une rotation par rapport à un axe,

Dlzlogic a écrit:Si la rotation est une isométrie,


tu fais de grands discours... comme hier sur les courbes de Bézier, et dès qu'on te demande le moindre calcul, tu t'évanouies car tu ne connais pas le B-A-BA. Voir ici http://www.maths-forum.com/showthread.php?p=984284#post984284

Tous les habitués du forum te connaissent. Il est acquis depuis des lustres que tu ne connais rien en algèbre linéaire... Alors pour gagner en crédibilité, prend l'exemple de Fatal_Error, et reviens seulement quand tu auras une solution concrète !!!

Avatar de l’utilisateur
leon1789
Membre Transcendant
Messages: 5486
Enregistré le: 27 Nov 2007, 15:25

par leon1789 » 05 Déc 2013, 07:43

Dlzlogic a écrit:Petite intervention timide.
Une rotation est une transformation. Cela signifie qu'on a un objet A que l'on transforme en un objet B.
Dans le plan cela s'écrit
X = DX + XX.x + XY.y
Y = DY + YX.x + YY.y

Mais qu'est-ce que tu es lourd !!!!!!!!!!!!! :mur:


Dlzlogic a écrit:Si la rotation est une isométrie,

Ca veut dire quoi, ce "si" ? tu ne sais pas que les rotations sont des isométries ??


Dlzlogic a écrit:Pour une transformation = translation + rotation + homothétie, deux points correspondants suffisent.
C'est à dire qu'il existe une infinité de groupes de paramètres qui donnent le même résultat, y compris DX = DY = 0.

2 points suffisent pour faire quoi ? pour obtenir quel résultat ? C'est clair comme du jus de boudin...

Dlzlogic a écrit:
Dans un espace 3D pour des raisons de précision d'opérations arithmétique, il est nécessaire d'utiliser 4 points correspondants, c'est à dire d'utiliser la formule de transformation affine.
La matrice de rotation prise comme hypothèse est un outil mathématique, et pas des données.

jusqu'à preuve du contraire, les rotations Ma et Mb sont les données initiales du problème posé par neoirto. Mais comme d'habitude, tu connais mieux le problème que ceux qui les posent !

Dlzlogic a écrit:
Comme il est nécessaire de définir les paramètres avec 4 points, les paramètres DX, DY, DZ ne peuvent pas être ignorés, même s'ils sont proches de 0.

En clair, tu proposerais (si tu savais faire, mais on n'a rien vu de concret venant de ta part) d'utiliser des rotations dont le centre n'est pas en (0,0,0).

Dlzlogic a écrit:
Dans le cas présent, on a un objet A que l'on veut transformer en un objet B. La connaissance de 4 points de A et de leur transformé dans B permet de calculer les 12 paramètres nécessaire.
Le calcul de la rotation progressive, par 1/10 d'angle, n'est qu'un problème de calcul.

Et avec tes 12 paramètres, comment assures-tu que tu obtiens bien une rotation et pas une transformation affine quelconque ??? Connais-tu la définition (ou une caractérisation) d'une rotation 3D ? Toi qui ne sais pas qu'une rotation est une isométrie et possède un axe, on est mal barré...

Dlzlogic a écrit:Dans le contexte des premiers messages, il semble bien qu"il s'agit de rotation en 3D de centre O. Si c'est une rotation par rapport à un axe,

Dlzlogic a écrit:Si la rotation est une isométrie,




Tu fais de grands discours... comme hier sur les courbes de Bézier, et dès qu'on te demande le moindre calcul, tu t'évanouies car tu ne connais pas le B-A-BA. Voir ici http://www.maths-forum.com/showthread.php?p=984284#post984284

Tous les habitués du forum te connaissent. Il est acquis depuis des lustres que tu ne connais rien en algèbre linéaire (et dans bien d'autres domaines mathématiques)... Alors pour gagner en crédibilité, prend l'exemple de Fatal_Error, et reviens seulement quand tu auras une solution concrète !!!

neoirto
Membre Naturel
Messages: 23
Enregistré le: 24 Oct 2013, 11:22

par neoirto » 05 Déc 2013, 10:43

Bonjour à tous,
J'ai pour habitude de ne pas intervenir dans les conflits familiaux, je ne prendrai donc pas parti !

@leon1789
que voulez-vous dire ? (Ma et Mb sont des matrices de rotation.)
Et bien c'est un peu rapidement dit: je sais bien que ça n'a pas de sens mathématique, mais comme c'était visible sur les captures d'écran, je me suis dit que vous passeriez l'éponge sur le non sens...
Encore une fois, mon niveau en math est un peu limite, mais je me lance quand même dans une correction :
Soit un point A(x,y,z), je constate que les (Mri*A) n'appartiennent pas au plan formé par (Ma*A), (Mb*A) et 0.

J'ai juste ?

Sinon j'ai conscience que cette nouvelle affirmation n'est pas contradictoire avec la votre :
Puis j'ai tracé l'axe de rotation de M(r) : il est toujours dans le plan engendré par ceux de Ma et Mb (c'est pas plus mal).

Ceci dis, l'axe de rotation des matrices m'importe peu, c'est bien la matrice Ma elle même qu'il me faut envoyer "en ligne droite et par le chemin le plus court" (aïe, je prends des risques là ;) vers Mb !

neoirto
Membre Naturel
Messages: 23
Enregistré le: 24 Oct 2013, 11:22

par neoirto » 05 Déc 2013, 12:24

Houston, we have a problem !

Ou plutôt pas du tout : cad que leon1789 et fatal_error ont en fait tout juste : les calculs sont exacts et répondent bien au problème posé qui était : en utilisant la représentation axis angle de Mp :
avec la matrice de passage Mp telle que Mb = Mp * Ma, on en déduit Mp10eme construite à partir du meme axe que Mp et 1/10 * angle de Mp.

ensuite je ferais :
Mr1 = Mp10eme * Ma
Mr2 = Mp10eme * Mr1
Mr3 = Mp10eme * Mr2
Mr4 = Mp10eme * Mr3
Mr5 = Mp10eme * Mr4
Mr6 = Mp10eme * Mr5
Mr7 = Mp10eme * Mr6
Mr8 = Mp10eme * Mr7
Mr9 = Mp10eme * Mr8

et donc du coup :

Mb == Mp10eme * Mr9
J'arrive à la conclusion expérimentale que les calculs sont exacts en reproduisant à l'identique les résultats obtenus (cad identique à mes captures d'écran ci-dessus) indépendamment de la méthode utilisée (cad soit avec méthode leon1789+fatal_error, soit méthode décomposition en axis angle , bidouillage d'angle puis recomposition de matrice avec les méthodes et codes que vous trouverez en liens hypertexte.

C'est donc le postulat de départ qui serait faux ? Qui est qu'on peut directement diviser l'angle d'un axis angle pour décomposer une rotation ?

:hein:

Dlzlogic
Membre Transcendant
Messages: 5273
Enregistré le: 14 Avr 2009, 12:39

par Dlzlogic » 05 Déc 2013, 12:48

Sylviel a écrit:Dlzlogic : tu répètes cette chanson constamment. On sais très bien que cela se décompose ainsi, et ce que tu écris avec un système de 3 équations et 12 coefficient cela s'écrit en maths de manière matricielle avec 2 "coefficients" :
X' = AX+d

où X' sont les nouvelles coordonnées (vecteur 3D), A est une matrice 3x3, et d est un vecteur.
Ici on parle de rotations uniquement donc d est choisit nul.

La vision matricielle a un certain nombre d'avantages...

Ici on ne parle pas d'identifier les paramètres de la rotation puisqu'on les donne en entrée du problème... Et tu dis

ce qui est bien le coeur de la discussion ici :triste:
Oui, j'ai compris.
Je n'ai jamais fait déjà ce type d'opération par contre Léon et toi y êtes parfaitement rôdés.
Les premières discussions ou tentative d'aide à notre ami, ne semble pas avoir porté ses fruits.
Donc, tu as raison, de quoi je me mêle : tout va bien. :triste:
Ce que tu appelles le cœur du problème est la façon d'utiliser un outil mathématique.
En réalité il s'agit de faire une rotation pas à pas, c'est ça le cœur du problème.
J'ai vu, mais pas encore lu, qu'il y avait un long message de Léon, probablement une suite d'insultes, comme d'habitude. Bien sûr, je ne répondrai pas, mais si tu pouvais user de ton autorité de modérateur pour le calmer, je crois que ce serait bien et que tout le monde en serait satisfait.

neoirto
Membre Naturel
Messages: 23
Enregistré le: 24 Oct 2013, 11:22

par neoirto » 05 Déc 2013, 13:30

Le résultat décevant semble assez logique :
Il existe une infinité de couple vecteur + angle permettant de représenter Mp.

Je reformule avec des notations différentes :
- Soit Ma et Mb des matrices 3x3 dans un repère de centre O,
- Soit Da la droite passant par O et définie par Ma (je m'avance un peu là, mais une Matrice doit pouvoir définir une droite ?), et Db par O et Mb,

- Il existe (peut être ??? :zen: ) une représentation axis angle de vecteur V(Vx,Vy,Vz) et d'angle A, telle que V soit orthogonal au plan P formé par Da Db ???

- Du coup après ça joue avec le même raisonnement que précédemment

Ce serait jouable ça ???

EDIT : j'ai trouvé ce papier sur l'interpolation de matrices, mais je ne comprends pas grand chose

Avatar de l’utilisateur
leon1789
Membre Transcendant
Messages: 5486
Enregistré le: 27 Nov 2007, 15:25

par leon1789 » 05 Déc 2013, 14:10

Dlzlogic a écrit:Oui, j'ai compris.
Je n'ai jamais fait déjà ce type d'opération par contre Léon et toi y êtes parfaitement rôdés.

Disons que pour l'instant, tu n'as rien produit de concret alors qu'une méthode est déjà présentée depuis quelques jours.

Dlzlogic a écrit:J'ai vu, mais pas encore lu, qu'il y avait un long message de Léon, probablement une suite d'insultes, comme d'habitude.

Ce n'est pas des insultes, mais de simples constatations...

Sylviel
Membre Transcendant
Messages: 6466
Enregistré le: 20 Jan 2010, 12:00

par Sylviel » 05 Déc 2013, 14:13

Dlzlogic a écrit:Ce que tu appelles le cœur du problème est la façon d'utiliser un outil mathématique.
En réalité il s'agit de faire une rotation pas à pas, c'est ça le cœur du problème.


Oui et dans ton message tu ne parles absolument pas de cela. Tu réexpliques comment identifier une rotation en ayant en entrée un jeux de points d'origine et un jeu de points de sortie, rien à voir avec le fait de décomposer un mouvement en 10 plus petits mouvements.

J'ai vu, mais pas encore lu, qu'il y avait un long message de Léon, probablement une suite d'insultes, comme d'habitude. Bien sûr, je ne répondrai pas, mais si tu pouvais user de ton autorité de modérateur pour le calmer, je crois que ce serait bien et que tout le monde en serait satisfait.


Pas une suite d'insultes (y'a juste un "t'es lourd"). Une série de pointage de tes inexactitudes, contre-sens, et mauvaises indications résultant de ta volonté de passer tout dans le cadre dont tu as l'habitude... Par contre de mon point de vue tu ne fais que (volontairement ?) embrouiller les gens qui viennent poser des questions, et irriter ceux qui essaie d'aider. Tu devrais être définitivement banni depuis bien longtemps... (d'ailleurs d'autres forums ont déjà pris des mesures en ce sens).


Pour revenir au sujet :
- non une matrice ne définit pas une droite.

Ceci dis, l'axe de rotation des matrices m'importe peu, c'est bien la matrice Ma elle même qu'il me faut envoyer "en ligne droite et par le chemin le plus court" (aïe, je prends des risques là ;) vers Mb !

On peut effectivement parler de ligne droite entre deux matrices mais dans ce cas tes matrices ne seront plus des matrices de rotations. Tu peux aussi trouver une géodésique sur l'ensemble des matrices de rotations mais ça ne doit pas être si simple à calculer que cela...
Merci de répondre aux questions posées, ce sont des indications pour vous aider à résoudre vos exercices.

Avatar de l’utilisateur
leon1789
Membre Transcendant
Messages: 5486
Enregistré le: 27 Nov 2007, 15:25

par leon1789 » 05 Déc 2013, 14:22

Neoirto,

Ce que nous avons fait, c'est trouver un "chemin continu" formé uniquement de rotations passant de Ma à Mb.
Mais des chemins, il en existe une infinité.

neoirto a écrit:Je reformule avec des notations différentes :
- Soit Ma et Mb des matrices 3x3 dans un repère de centre O,
- Soit Da la droite passant par O et définie par Ma (je m'avance un peu là, mais une Matrice doit pouvoir définir une droite ?), et Db par O et Mb,

- Il existe (peut être ??? :zen: ) une représentation axis angle de vecteur V(Vx,Vy,Vz) et d'angle A, telle que V soit orthogonal au plan P formé par Da Db ???

Ma et Mb sont des matrices 3x3 de rotation.

Mais après, je ne comprends pas ce qu'est une droite (passant par O) définie par la matrice Ma. Il faut parler d'un vecteur pour définir la droite : mais quel vecteur ?

neoirto
Membre Naturel
Messages: 23
Enregistré le: 24 Oct 2013, 11:22

par neoirto » 05 Déc 2013, 14:53

@leon1789
Mais après, je ne comprends pas ce qu'est une droite (passant par O) définie par la matrice Ma. Il faut parler d'un vecteur pour définir la droite : mais quel vecteur ?
Oui, je pensai au eigenvector, mais je n'étais pas sur, du coup j'ai préféré parler de droite, histoire de brouiller les pistes :lol3:

Mais sinon, je crois que je viens de trouver une résolution connue !!
http://en.wikipedia.org/wiki/Slerp

Vous en pensez quoi svp ?

Doraki
Habitué(e)
Messages: 5021
Enregistré le: 20 Aoû 2008, 11:07

par Doraki » 05 Déc 2013, 15:03

c'est la même chose que ce qu'on t'a donné.

Doraki
Habitué(e)
Messages: 5021
Enregistré le: 20 Aoû 2008, 11:07

par Doraki » 05 Déc 2013, 15:19

C'est la même chose que ce qu'on t'a donné,
à condition d'interpréter les 2 rotations comme des quaternions unitaires et d'appliquer l'interpolation à ces deux quaternions (je suis pas certain de ce que "angle" entre 2 rotations veut dire ; et la formule donnée n'est pas applicable directement aux matrices de toutes façons)

Si tu comptais appliquer la procédure à chaque point X séparément pour obtenir un chemin de Ma X à Mb X, alors là par contre tu vas avoir des trucs bizarres.

Avatar de l’utilisateur
leon1789
Membre Transcendant
Messages: 5486
Enregistré le: 27 Nov 2007, 15:25

par leon1789 » 05 Déc 2013, 16:27

neoirto a écrit:Oui, je pensai au eigenvector, mais je n'étais pas sur, du coup j'ai préféré parler de droite, histoire de brouiller les pistes :lol3:

Les eigenvectors d'une rotation en 3D sont exactement les vecteurs directeurs de l'axe de rotation. Est-ce bien de cela que vous voulez parler ou pas ?

neoirto a écrit:Mais sinon, je crois que je viens de trouver une résolution connue !!
http://en.wikipedia.org/wiki/Slerp
Vous en pensez quoi svp ?

Cela me rappelle l'idée de Ben314 qui disait qu'une rotation était l'exponentielle d'une matrice antisymétrique, et qu'il suffisait de faire une ligne droite (vraiment droite pour le coup !) sur les matrices antisymétriques pour trouver un chemin "optimal" sur les rotations. Voir ci-dessus le message de Ben314 du 01/12/2013 à 22h28

Cela est tout-à-fait jouable, mais il faut trouver un moyen "efficace" d'associer (par exponentielle & logarithme) une matrice de rotation et une matrice antisymétrique.

 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 33 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