IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mathématiques Discussion :

Rotations de repères et vecteurs


Sujet :

Mathématiques

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur Mécanique Intégrateur CAO
    Inscrit en
    Avril 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Mécanique Intégrateur CAO

    Informations forums :
    Inscription : Avril 2018
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Rotations de repères et vecteurs
    Bonjour,

    Je fais face à un petit problème sur des rotations de repères et de vecteurs :

    J’ai en entrée un assemblage A contenant des pièces Pi (les Pi n'ont pas de mouvement relatif par rapport à A).
    J'ai accès à la matrice d'orientation et à l'origine de A à l'instant t=0. De même pour les Pi.
    J'ai également accès à la matrice d'orientation et à l'origine de A au cours du temps.

    Mon objectif est de trouver la position et l'orientation de chaque Pi à un instant t.

    Donc, pour une Pi, à un instant t on a les données suivantes :

    MA0 la matrice d'orientation de A à t=0
    PA0 l'origine de A à t=0

    MAt la matrice d'orientation de A à t
    PAt l'origine de A à t

    MPi0 la matrice d'orientation de Pi à t=0
    PPi0 l'origine de Pi à t=0

    Je cherche donc MPit, la matrice d'orientation de Pi à t, et PPit, l'origine de Pi à t.

    La méthodologie que j'applique :

    Je calcule la matrice de rotation de MA0 à MAt telle que MRot = MAt * MA0-1 MA0 * MAt-1
    Je calcule la matrice d'orientation de Pi à t telle que MPit = MRot * MPi0
    (Basé sur https://jeux.developpez.com/faq/math...formations#Q40)

    Je calcule le vecteur entre PA0 et PPi0 tel que V = PA0PPi0
    J'applique la rotation de A au vecteur : VRot = MRot * V
    Je calcule PPit = VRot + PAt

    J'ai donc MPit et PPit.

    A t=0 je retrouve bien les coordonnées initiales (rien d'anormal vu que MRot est la matrice identité), mais dès que je prends t<>0 je trouve des résultats incohérents.

    J'ai beau chercher, je ne trouve pas où est mon erreur.

    Si une âme charitable est en mesure d'éclairer ma lanterne !

    Merci,

  2. #2
    Membre émérite

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    Décembre 2010
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 333
    Points : 2 570
    Points
    2 570
    Billets dans le blog
    9
    Par défaut Rotations de repères et vecteurs
    Bonjour,

    Je crois qu'une interversion de notation s'est glissée dans ce que tu donnes:
    Citation Envoyé par SimDbs Voir le message
    ... Je calcule la matrice de rotation de MA0 à MAt telle que MRot = MA0 * MAt-1
    Je calcule la matrice d'orientation de Pi à t telle que MPit = MRot * MPi0
    (Basé sur https://jeux.developpez.com/faq/math...formations#Q40)

    Je calcule le vecteur entre PA0 et PPi0 tel que V = PA0PPi0
    J'applique la rotation de A au vecteur : VRot = MRot * V
    Je calcule PPit = VRot + PAt

    J'ai donc MPit et PPit ...
    Si l'on se reporte au lien cité, concernant les matrices de conversion, on trouve le passage ci-dessous:
    Nom : Matrice conversion_F [2018-04-20].png
Affichages : 335
Taille : 17,4 Ko
    qui suggère la relation: MRot = MAt * MA0-1 .

    D'autre part tu as incontestablement soigné la notation; cependant la distinction entre vecteurs et matrices est insuffisante, et certains résultats sont illisibles pour le non-initié (on les devine seulement, avec quelque incertitude ...):
    Citation Envoyé par SimDbs Voir le message
    ... Je calcule le vecteur entre PA0 et PPi0 tel que V = PA0PPi0

    J'applique la rotation de A au vecteur : VRot = MRot * V ...
    Quelle est au fait la dimension des matrices carrées ? 3 ou 4 ?


    Le français, notre affaire à tous
    Grand Dictionnaire Terminologique

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur Mécanique Intégrateur CAO
    Inscrit en
    Avril 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Mécanique Intégrateur CAO

    Informations forums :
    Inscription : Avril 2018
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par wiwaxia Voir le message
    Bonjour,

    Je crois qu'une interversion de notation s'est glissée dans ce que tu donnes:

    Si l'on se reporte au lien cité, concernant les matrices de conversion, on trouve le passage ci-dessous:
    Nom : Matrice conversion_F [2018-04-20].png
Affichages : 335
Taille : 17,4 Ko
    qui suggère la relation: MRot = MAt * MA0-1 .
    En effet, malheureusement je n'ai pas fais cette erreur dans le programme. Seulement dans le poste .

    Citation Envoyé par wiwaxia Voir le message
    D'autre part tu as incontestablement soigné la notation; cependant la distinction entre vecteurs et matrices est insuffisante, et certains résultats sont illisibles pour le non-initié (on les devine seulement, avec quelque incertitude ...):
    Les deux seuls vecteurs sont V, le vecteur liant l'origine de Pi à l'origine de A, et VRot, ce même vecteur transformé par MRot.

    Citation Envoyé par wiwaxia Voir le message
    Quelle est au fait la dimension des matrices carrées ? 3 ou 4 ?
    Les matrices sont toutes de dimension 3.

  4. #4
    Membre émérite

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    Décembre 2010
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 333
    Points : 2 570
    Points
    2 570
    Billets dans le blog
    9
    Par défaut Rotations de repères et vecteurs
    Tout le monde se défile , alors reprenons l'essentiel:

    Citation Envoyé par SimDbs Voir le message
    ... J’ai en entrée un assemblage A contenant des pièces Pi (les Pi n'ont pas de mouvement relatif par rapport à A).
    J'ai accès à la matrice d'orientation et à l'origine de A à l'instant t=0. De même pour les Pi.
    J'ai également accès à la matrice d'orientation et à l'origine de A au cours du temps.

    Mon objectif est de trouver la position et l'orientation de chaque Pi à un instant t ...
    Le système de points matériels (A) constitue donc un solide dont la rotation des diverses parties (qui tournent ensemble du même mouvement) est représentée par une matrice unique (Mrot).

    À ce système, on peut donc associer un repère orthonormé (OAXYZ) mobile dans le repère absolu du lieu (Oxyz), dans lequel tous les points de (A) gardent des positions fixes et dont l'origine (OA) appartient à l'axe de rotation instantanée.

    Le mouvement de chacun des points (P) résulte donc de l'entraînement produit par le système:
    a) dans le mouvement de translation de l'origine: T = (OA0OA) , et
    b) dans le mouvement de rotation qui se superpose au précédent et s'exprime par le produit: (OAP) = Mrot.(OA0P0) .(*)
    La matrice (Mrot) est orthogonale, et ne modifie pas les longueurs: AP = A0P0 .
    Il vient par conséquent pour la position du point (P) dans le repère absolu lié au laboratoire:

    (OP) = (OOA0) + (OA0OA) + (OAP) = (OOA0) + T + Mrot.(OA0P0) , soit encore:

    (OP) = (OOA0) + T + Mrot.VP si l'on convient de poser: VP = OA0P0 (position relative invariable du point (P) dans le solide (A)).

    (*) Produits matriciels corrigés.


    Le français, notre affaire à tous
    Grand Dictionnaire Terminologique

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur Mécanique Intégrateur CAO
    Inscrit en
    Avril 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Mécanique Intégrateur CAO

    Informations forums :
    Inscription : Avril 2018
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci wiwixia,

    Citation Envoyé par wiwaxia Voir le message
    (OP) = (OOA0) + T + VP.Mrot si l'on convient de poser: VP = OA0P0

    (position relative invariable du point (P) dans le solide (A)).
    Citation Envoyé par wiwaxia Voir le message
    T = (OA0OA)
    Donc (OP) = (OOA0) + (OA0OA) + VP.Mrot
    Soit (OP) = (OOA)+ VP.Mrot

    Avec (OOA) la position du point OA après translation dans le repère (Oxyz). Jusqu'ici je te suis.

    Par contre si on reprend :

    Nom : Matrice conversion_F [2018-04-20].png
Affichages : 335
Taille : 17,4 Ko

    (OAP) étant notre vecteur final et (OA0P0) notre vecteur d'origine.
    Pourquoi (OAP) = (OA0P0).Mrot et non pas (OAP) = Mrot.(OA0P0) ?

    A priori c'est de là que vient mon erreur.

  6. #6
    Membre émérite

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    Décembre 2010
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 333
    Points : 2 570
    Points
    2 570
    Billets dans le blog
    9
    Par défaut Rotations de repères et vecteurs
    Citation Envoyé par SimDbs Voir le message
    ... Pourquoi (OAP) = (OA0P0).Mrot et non pas (OAP) = Mrot.(OA0P0) ? ...
    Il y a eu effectivement une interversion: j'étais empêtré dans la typographie.

    L'expression correcte est celle que tu as rectifiée: (OAP) = Mrot.(OA0P0)


    Le français, notre affaire à tous
    Grand Dictionnaire Terminologique

Discussions similaires

  1. Trouver l'axe de rotation à partir de deux vecteurs et un angle
    Par darkman19320 dans le forum Mathématiques
    Réponses: 4
    Dernier message: 24/07/2015, 15h15
  2. Matrice de rotation et repère orthonormée
    Par StarkIndus dans le forum Développement 2D, 3D et Jeux
    Réponses: 10
    Dernier message: 18/07/2012, 19h48
  3. rotation matriciel d'un vecteur
    Par skeud dans le forum Mathématiques
    Réponses: 2
    Dernier message: 21/08/2011, 16h41
  4. Rotation du repère (X,Y,Z)
    Par Coco4486 dans le forum Ogre
    Réponses: 4
    Dernier message: 16/05/2008, 16h18
  5. Récupérer le vecteur de rotation
    Par mister3957 dans le forum DirectX
    Réponses: 6
    Dernier message: 09/12/2006, 13h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo