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 :

changement de repère d'un vecteur


Sujet :

Mathématiques

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 26
    Points : 17
    Points
    17
    Par défaut changement de repère d'un vecteur
    Bonjour,

    J'ai encore du mal à formaliser mon problème, mais voilà le contexte :

    Une voiture roule sur un sol parfaitement plat et horizontal, et je récupère et traite déjà toutes sortes d'informations aux points de contact entre les roues et le sol, en particulier sous forme de vecteurs. Ces informations sont en coordonnées "monde" (pas en coordonnées "locales" à la voiture ou à ses pneus, donc).

    Tout marche très bien, sauf que je voudrais maintenant gérer les situations ou le sol n'est plus horizontal. J'ai la normale du sol.

    J'ai l'impression que la pente doit engendrer des rotations du vecteur, mais uniquement autour de deux axes : si Z est la hauteur, la rotation "due au sol" ne doit finalement se faire que sur X et Y.

    En bref, comment "transformer" mon vecteur selon la normale du sol ? (ou même simplement y voir plus clair )

  2. #2
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    Je pense que ceci pourra t'aider :

    http://jeux.developpez.com/faq/matqu...formations#Q40

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 26
    Points : 17
    Points
    17
    Par défaut
    Merci, oui, il semble y avoir de cela. En revanche, comment créer les "matrices de systèmes de coordonnées" qui sont présents dans cette réponse ?

    Dans le cas de la matrice finale, c'est même encore plus compliqué, puisque je n'ai qu'un vecteur (la normale) et que les deux autres axes de ce repère n'ont pas vraiment de sens (pour reprendre mon message précédent, je ne souhaite pas de rotation autre que sur X et Y).

  4. #4
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par Xfennec Voir le message
    J'ai l'impression que la pente doit engendrer des rotations du vecteur, mais uniquement autour de deux axes : si Z est la hauteur, la rotation "due au sol" ne doit finalement se faire que sur X et Y.

    En bref, comment "transformer" mon vecteur selon la normale du sol ? (ou même simplement y voir plus clair )
    pourquoi ne pas simplement faire une rotation autour du vecteur Z^Normal, afin de faire coïncider l'axe Z avec ta normale au sol ?
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 26
    Points : 17
    Points
    17
    Par défaut
    "faire coïncider l'axe Z avec ta normale au sol"
    C'est exactement ça ! Par contre, comment, concrètement ?

  6. #6
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par Xfennec Voir le message
    "faire coïncider l'axe Z avec ta normale au sol"
    C'est exactement ça ! Par contre, comment, concrètement ?
    bah, une rotation autour de l'axe Z^Normal (produit vectoriel de Z et Normal)
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 26
    Points : 17
    Points
    17
    Par défaut
    Pardon, je n'avais pas cette notation en tête (pour moi, bêtement, c'est Z x Normal). C'est évident maintenant ... Merci, je tente ça !

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 26
    Points : 17
    Points
    17
    Par défaut
    OK, donc, j'ai mon axe de rotation (merci pseudocode), mon vecteur à transformer, et mon angle de rotation (amusant, le produit scalaire se simplifie complétement dans mon cas : cos(a)=Normale_z)

    Ce qui m'amène à la question suivante : comment faire subir une rotation à un vecteur sur un axe arbitraire ?

    Voilà une réponse, semble-t-il :
    http://inside.mines.edu/~gmurray/Arb...sRotation.html

    ... sauf qu'elle est monstrueuse en terme de calculs ! Difficile de réaliser ça en temps réel à 8 kHz. J'ai raté quelque chose ? J'ai l'intuition qu'étant donné le contexte particulier dans lequel je me trouve, il doit exister une grosse simplification de tout ça, mais je n'arrive pas à mettre le doigt dessus ...

  9. #9
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par Xfennec Voir le message
    Voilà une réponse, semble-t-il :
    http://inside.mines.edu/~gmurray/Arb...sRotation.html

    ... sauf qu'elle est monstrueuse en terme de calculs ! Difficile de réaliser ça en temps réel à 8 kHz. J'ai raté quelque chose ? J'ai l'intuition qu'étant donné le contexte particulier dans lequel je me trouve, il doit exister une grosse simplification de tout ça, mais je n'arrive pas à mettre le doigt dessus ...
    A la fin de ton docume (lien), il y a la formule pour la rotation d'un point autour d'un axe : "A function for an arbitrary rotation". La formule a l'air compliquée mais si tu normalises le vecteur porteur de l'axe tu as "u²+v²+w²=1", ce qui simplifie beaucoup de chose. Tu n'a pas besoin non plus de calculer l'angle Theta, car tu as déjà la valeur cos(theta) et tu peux prendre sin(theta)=racine(1-cos(theta)²).
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 26
    Points : 17
    Points
    17
    Par défaut
    Réponse tardive de ma part, mais : merci. J'ai simplifié cette équation selon tes suggestions, et les résultats semblent corrects suite à mes premiers tests.

    L'autre grosse simplification pour moi, c'est que les termes a,b et c sont toujours égaux à 0, ce qui rend la formule encore nettement plus digeste pour mon CPU.

  11. #11
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par Xfennec Voir le message
    Réponse tardive de ma part, mais : merci. J'ai simplifié cette équation selon tes suggestions, et les résultats semblent corrects suite à mes premiers tests.

    L'autre grosse simplification pour moi, c'est que les termes a,b et c sont toujours égaux à 0, ce qui rend la formule encore nettement plus digeste pour mon CPU.
    Comme quoi je ne dis pas QUE des bêtises.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ACP: vecteurs propres et changement de repères
    Par ToutDroit dans le forum Calcul scientifique
    Réponses: 5
    Dernier message: 06/11/2011, 17h47
  2. Changement de repère
    Par Bloodista dans le forum OpenGL
    Réponses: 3
    Dernier message: 23/04/2007, 23h23
  3. Changement de mes tableaux en vecteur
    Par Bason_sensei dans le forum MFC
    Réponses: 11
    Dernier message: 22/10/2005, 18h24
  4. URGENT : Zoom et changement de repère
    Par poca10 dans le forum MFC
    Réponses: 5
    Dernier message: 28/05/2002, 13h32

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