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 :

composition de transformations


Sujet :

Mathématiques

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2009
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 96
    Points : 51
    Points
    51
    Par défaut composition de transformations
    Bonjour,

    Dans le cadre de l'informatique graphique, un objet est subit d'un ensemble de transformation dans l'espace, mon objet en question a subit d'une translation T et d'une rotation R(theta).

    ma question est comment trouver T(dx , dy ,dz) et la l'ongle de rotation afin déplacer un triangle A,B,C de l’espace pour le positionner en A'',B'',C''.
    Ces points ont les coordonnées suivantes :

    A(0,0,0), B(0,0.5,0), C(0.25,0,0)
    A"(0.5,0.75,-0.5), B"(0,0.75,-0.5), C"(0.5, 1, -0.5)


    en fait je me suis basé sur la représentation géométrique et j'ai pu trouver la réponse mais je ne me suis pas convaincu , y' a t-il pas une méthode plus claire pour résoudre ce genre de problème ?

    Merci pour l'aide

  2. #2
    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 084
    Points
    16 084
    Par défaut
    On appelle cela l'analyse procustéenne.

    On en a déjà discuté ici.

  3. #3
    Membre éprouvé Avatar de b_reda31
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 899
    Points : 960
    Points
    960
    Par défaut
    Citation Envoyé par bazoga Voir le message
    Bonjour,

    ma question est comment trouver T(dx , dy ,dz) et la l'ongle de rotation afin déplacer un triangle A,B,C de l’espace pour le positionner en A'',B'',C''.
    Ces points ont les coordonnées suivantes :

    A(0,0,0), B(0,0.5,0), C(0.25,0,0)
    A"(0.5,0.75,-0.5), B"(0,0.75,-0.5), C"(0.5, 1, -0.5)
    J'ajoute une petite suggestion mais qui reste à confirmer.
    En utilisant la notation algébrique en coordonnées homogènes, la transformation est représentée par un matrice M (4*4) tel que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    (x',y',z',1)' = M * (x,y,z,1)'
    où (x,y,z) et (x',y',z') représentent respectivement les coordonnées avant et après transformation.
    La matrice de transformation M est donnée par le produit des matrices de transformation de bases (matrice de translation T et matrice de rotation R) :
    M = R * T.

    Ainsi pour chaque point vous obtenez 3 équations à 4 variables (Tx,Ty,Tz,Théta). Je pense qu'on peut alors s'en sortir avec deux points A et B par exemple (en supposant que vous savez sur quel axe la rotation est faite).

  4. #4
    Membre du Club
    Inscrit en
    Novembre 2009
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 96
    Points : 51
    Points
    51
    Par défaut
    bonsoir,

    tout d'abord je vous remercie pour l'intérêt porté à mon problème, les liens cités ne m'ont rien servi ils font qu'empirer la situation dans ma tête par contre la suggestion de Mr b_reda31 est intéressante mais la forme de la matrice dépend de l'axe de rotation et je ne sais pas préalablement l'axe de rotation

    je serai trés reconnaissant de vous m'aider encore.

    cordialement
    A.Bazoaga

  5. #5
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 816
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 816
    Points : 7 648
    Points
    7 648
    Par défaut
    Citation Envoyé par bazoga Voir le message
    par contre la suggestion de Mr b_reda31 est intéressante mais la forme de la matrice dépend de l'axe de rotation et je ne sais pas préalablement l'axe de rotation
    L'axe de la rotation est donné par la matrice, au même titre que l'angle.

    Sinon, pour la translation, vecteur AA", ensuite pour la rotation on définit les bases xyz et x"y"z" telles que x=AB normé, z=AB*AC normé, y=z*x (* = produit vectoriel), pareil pour l'autre avec les points en ", on monte la matrice de passage de xyz à x"y"z", on en déduit l'axe et l'angle (mais ça revient exactement au même que la méthode de b_reda31)

    Là, clairement, translation de (0.5,0.75,-0.5), et rotation de -90° suivant l'axe z (si je me ne fourvoie pas).
    Décomposition non unique.

  6. #6
    Membre du Club
    Inscrit en
    Novembre 2009
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 96
    Points : 51
    Points
    51
    Par défaut
    Citation Envoyé par plegat Voir le message
    L'axe de la rotation est donné par la matrice, au même titre que l'angle.
    .....
    (mais ça revient exactement au même que la méthode de b_reda31)
    pouvez-vous être plus explicite svp ?

    Là, clairement, translation de (0.5,0.75,-0.5), et rotation de -90° suivant l'axe ...
    tout à fait d'accord, c'est bien clair que le vecteur de translation est AA" et l'angle de rotation est 90°(positif) mais je cherche une méthode algébrique.

    Encore un grand Merci à vous

  7. #7
    Membre éprouvé Avatar de b_reda31
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 899
    Points : 960
    Points
    960
    Par défaut
    Citation Envoyé par bazoga Voir le message
    bonsoir,

    mais la forme de la matrice dépend de l'axe de rotation et je ne sais pas préalablement l'axe de rotation
    Il me semble alors qu'il faudrait ajouter 3 inconnus ux, uy,uz aux équations où u(ux,uy,uz) est le vecteur dirigeant de l'axe de rotation.
    Dans ce cas la matrice de rotation est généralisée :

    tel que c=cos théta ; s = sin théta. (source).

    Cependant la résolution du système d'équations risque d'être un vrai casse-tête

  8. #8
    Membre du Club
    Inscrit en
    Novembre 2009
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 96
    Points : 51
    Points
    51
    Par défaut
    Bonjour,

    je vois donc une petite représentation géométrique est plus simple.

    un grand merci à tous et en particulier Mr Reda

  9. #9
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 816
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 816
    Points : 7 648
    Points
    7 648
    Par défaut
    Citation Envoyé par b_reda31 Voir le message
    Cependant la résolution du système d'équations risque d'être un vrai casse-tête
    A la limite, si la matrice est un peu "exotique", il vaut presque mieux passer par une conversion matrice de rotation > quaternion, puis de déterminer l'axe et l'angle à partir du quaternion (il y a des formules simples pour faire cela).

  10. #10
    Membre du Club
    Inscrit en
    Novembre 2009
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 96
    Points : 51
    Points
    51
    Par défaut
    Bonsoir,

    encore une petite question, la composition de rotation et translation n'est elle pas commutative, en fait je sais que le produit matricielle n'est pas commutatif mais il me semble que faites déplacer un objet puis le faire tourner ou bien faites tourner puis le faire deplacer, à la fin dans les deux cas l'objet se palce dans la même position

  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 084
    Points
    16 084
    Par défaut
    Citation Envoyé par bazoga Voir le message
    Bonsoir,

    encore une petite question, la composition de rotation et translation n'est elle pas commutative, en fait je sais que le produit matricielle n'est pas commutatif mais il me semble que faites déplacer un objet puis le faire tourner ou bien faites tourner puis le faire deplacer, à la fin dans les deux cas l'objet se palce dans la même position
    Si l'objet tournait autour de son propre axe (comme une toupie), oui.

    Mais avec une matrice de rotation, l'objet tourne autour du repère global (comme un mouton au bout d'une corde). Donc non.

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

Discussions similaires

  1. Transformation ou conservation de clés composites
    Par supertux54 dans le forum Modélisation
    Réponses: 3
    Dernier message: 16/04/2014, 11h54
  2. Transformer une page aspx en composite control
    Par lytchu dans le forum ASP.NET
    Réponses: 0
    Dernier message: 20/08/2012, 10h18
  3. Composite, feuille qui se transforme en noeud
    Par neoncyber dans le forum Design Patterns
    Réponses: 2
    Dernier message: 06/11/2011, 19h26
  4. transformer un jour en JJ/MM/AA
    Par gemini_010 dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 08/11/2002, 23h55
  5. FFT(Fast Fourier Transform)
    Par IngBen dans le forum Traitement du signal
    Réponses: 6
    Dernier message: 23/05/2002, 17h35

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