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

Calcul scientifique Python Discussion :

Obtention d'angles de rotation r t p à partir de coordonnées


Sujet :

Calcul scientifique Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 53
    Par défaut Obtention d'angles de rotation r t p à partir de coordonnées
    Bonjour à tous.

    Voici le problème. J'ai un programme qui effectue des alignements entre 2 molécules. Il en prends une comme référence (elle ne bouge pas) et il fait translater/tourner la seconde molécule. J'aimerais trouver les angles de rotations autour des axes x y z ainsi que la translation qu'il a effectué. Les seules données que je possède sont les coordonnées initiales et finales des atomes, respectivement (xi,yi,zi) et (xf,yf,zf).

    J'ai essayé pas mal de truc. En partant de la matrice de rotation 3D,
    M= | CE -CF -D |
    |-BDE+AD BDF+AE -BD |
    |ADE+BF -ADF+BE AC |
    Où A, B sont le cosinus et le sinus de la rotation autour de l'axe X,
    C, D sont le cosinus et le sinus de la rotation autour de l'axe Y,
    E, F sont le cosinus et le sinus de la rotation autour de l'axe Z.
    (j'ai repris ca du faq sur les matrices et quaternions du site)

    je scanne toutes les possibilités d'angles r (rot d'axe x) t (rot d'axe y) p (rot d'axe z) entre -PI et +PI en essayant de minimiser la distance entre toutes les coordonnées initiales et finales, mais je n'arrive pas à descendre en dessous de 0.03 de distance moyenne et ca ne suffit pas. En plus c'est très long.

    J'ai essayé d'inverser la matrice, de faire un systeme d'équation entre plusieurs coordonnées mais rien ne fonctionne mieux que ca. Vous auriez une petite idée plus rapide pour régler le problème ??

    Merci d'avance.

  2. #2
    Membre habitué
    Inscrit en
    Mars 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 11
    Par défaut
    Citation Envoyé par gilims Voir le message
    Bonjour à tous.

    Voici le problème. J'ai un programme qui effectue des alignements entre 2 molécules. Il en prends une comme référence (elle ne bouge pas) et il fait translater/tourner la seconde molécule. J'aimerais trouver les angles de rotations autour des axes x y z ainsi que la translation qu'il a effectué. Les seules données que je possède sont les coordonnées initiales et finales des atomes, respectivement (xi,yi,zi) et (xf,yf,zf).

    J'ai essayé pas mal de truc. En partant de la matrice de rotation 3D,
    M= | CE -CF -D |
    |-BDE+AD BDF+AE -BD |
    |ADE+BF -ADF+BE AC |
    Où A, B sont le cosinus et le sinus de la rotation autour de l'axe X,
    C, D sont le cosinus et le sinus de la rotation autour de l'axe Y,
    E, F sont le cosinus et le sinus de la rotation autour de l'axe Z.
    (j'ai repris ca du faq sur les matrices et quaternions du site)

    je scanne toutes les possibilités d'angles r (rot d'axe x) t (rot d'axe y) p (rot d'axe z) entre -PI et +PI en essayant de minimiser la distance entre toutes les coordonnées initiales et finales, mais je n'arrive pas à descendre en dessous de 0.03 de distance moyenne et ca ne suffit pas. En plus c'est très long.

    J'ai essayé d'inverser la matrice, de faire un systeme d'équation entre plusieurs coordonnées mais rien ne fonctionne mieux que ca. Vous auriez une petite idée plus rapide pour régler le problème ??

    Merci d'avance.
    Pour quoi ne pas reduire le problem seulement a (R,theta, phi) coordonnees spherique si je consider que les deux molecules sont des points? dans ce cas tu n'a qu' faire une transformation des coorodonees cartesienne vers les coordonnees spheriques.
    Or I mis-understood the problem?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 53
    Par défaut
    Les atomes de la molécules sont des points.
    Si je peux le reformuler plus mathématiquement,

    Soit A=(xi1,yi1,zi1) et B=(xi2,yi2,zi2) et C=(xi3,yi3,zi3), 3 points (atomes) de la molécule initiale.

    Soit D=(xf1,yf1,zf1) et E=(xf2,yf2,zf2) et F=(xf3,yf3,zf3), 3 points (atomes) de la molécule après rotation et translation.

    Trouver les angles rho, theta et phi (respectivement les angles de rotation autour des axes x, y et z) ainsi que le vecteur de translation.

    Ca c'est le problème formulé de facon matheuse. Pour l'instant, la translation c'est pas le problème c'est la rotation. J'admets que passer en coordonnées polaires est intéressant, la question c'est qu'est-ce que ca peux bien m'apporter ... Perso, j'arrive pas à visualiser l'utilisation des coordonnées polaires.

  4. #4
    Membre habitué
    Inscrit en
    Mars 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 11
    Par défaut
    Citation Envoyé par gilims Voir le message
    Les atomes de la molécules sont des points.
    Si je peux le reformuler plus mathématiquement,

    Soit A=(xi1,yi1,zi1) et B=(xi2,yi2,zi2) et C=(xi3,yi3,zi3), 3 points (atomes) de la molécule initiale.

    Soit D=(xf1,yf1,zf1) et E=(xf2,yf2,zf2) et F=(xf3,yf3,zf3), 3 points (atomes) de la molécule après rotation et translation.

    Trouver les angles rho, theta et phi (respectivement les angles de rotation autour des axes x, y et z) ainsi que le vecteur de translation.

    Ca c'est le problème formulé de facon matheuse. Pour l'instant, la translation c'est pas le problème c'est la rotation. J'admets que passer en coordonnées polaires est intéressant, la question c'est qu'est-ce que ca peux bien m'apporter ... Perso, j'arrive pas à visualiser l'utilisation des coordonnées polaires.
    Je pense qu'il le faut, parce que dans ce genre de probleme (mechanics) ta molecule a 3*6 degres de liberte. de ce fait il faut que tu trouves les angles pour pouvoir localiser les atomes en x,y,z + les trois angles de rotations pour chaque atome.
    IHTH.

Discussions similaires

  1. redressement d'image et angle de rotation
    Par thatslife dans le forum C
    Réponses: 15
    Dernier message: 16/09/2011, 14h55
  2. [Newton] probleme d'angle de rotation des objet
    Par Syl_20 dans le forum Newton
    Réponses: 13
    Dernier message: 27/08/2007, 08h41
  3. Calculer la normale grace a trois angles de rotations plus un point.
    Par parp1 dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 02/03/2007, 17h34
  4. Angles de Rotation
    Par johnkhm dans le forum Développement 2D, 3D et Jeux
    Réponses: 3
    Dernier message: 18/01/2007, 17h29
  5. Définir un angle de rotation pour une image
    Par mateo.14 dans le forum C++
    Réponses: 5
    Dernier message: 25/03/2005, 14h43

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