Conversions de coordonnées entres deux repères
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Conversions de coordonnées entres deux repères



  1. #1
    invite213a146e

    Conversions de coordonnées entres deux repères


    ------

    Bonsoir.

    L'énoncé suivant n'est pas un exercices de cours, mais j'y ai réfléchi il y a quelques jours et je n'en ai pas trouvé la solution (et ça m'énerve). Je viens donc chercher un peu d'aide sur ce forum, au cas ou quelqu'un sache... J'ai tenté de transformer le problème en énoncé mathématique.

    Soit (O, i, j, k) un repère orthonormé; soit P(u, v, w) un autre repère orthonormé dont les axes (u, v, w) forment (respectivement) un angle () (respectivement) avec les axes (i, j, k), et ou P est aux coordonnées (X, Y, Z) par rapport à O.

    Trouver la fonction f, la matrice M, ou que sais-je encore permettant de trouver à partir des coordonnées d'un point A dans le repère O, ses coordonnées dans le repère P, ainsi que son inverse pour passer de P vers O.

    Typiquement, si () = (0,0,0), le résultat est une simple translation.

    J'ai essayé pas val de fois, et j'ai échoué à chaque fois (trop de sinus/cosinus dans tous les sens), sachant que meme si je ne suis pas hermétique aux maths, je suis quand meme meilleur en info. (d'ailleurs, je préférerait une solution avec le moins de trigo possible parce que c'est assez couteux quand meme. Une matrice serait don, je pense, préférable)

    -----

  2. #2
    invite33c0645d

    Re : Conversions de coordonnées entres deux repères

    Voilà ce que je proposerais.

    Les rotations sont malheureusement très simplement exprimables de façon très simple avec des sinus et des cosinus. Il ne me vient donc que des idées avec de la trigonométrie. La question que tu poses n'a aucun sens car les angles sont mals définis. Par exemple, demande à quelqu'un de se mettre en face de toi. Lis un angle de 10 degrés. La personne en face de toi lis le "même angle" et te donnera -10degrés. Rien que là, il y a un petit problème, mais qu'on peut rectifier avec la notion de déterminant par exemple. Un autre gros soucis par contre est de comprendre ce que tu veux dire par angle autour d'un axe ?!!! Prend un stylo et place le sur une table de sorte qu'il soit bien vertical. Prend un autre stylo et fait un angle de 10 degré entre eux. Demande à une personne à côté de toi de se mettre à ta gauche et demandes lui de faire ce même angle.. Horreur, les trois tylos se croisent mais aucun n'est confondu ?!!!!!

    Voilà une solution possible où l'axe des x et y sont tournés par rapport à z. Puis z par rapport à x.



    Qu'est-ce qui est fait là ?! est une matrice qui représente une application linéaire (à une translation près). Jusque là tout va bien. Analysons un peu mieux que qu'il se passe. La première matrice n'est autre que celle d'une rotation autour de l'axe des z d'angle $\alpha$ qui envoit (1;0;0) sur . Je te laisse le soin de comprendre que les deux termes suivants sont aussi les bonnes rotations (sauf si je me suis trompé). Ainsi, que se passe-t-il lorsqu'on fixe un vecteur de coordéonnées (x; y; z), et qu'on lui applique la transformation C ? Là il faut bien comprendre la géométrie affine et comprendre en particulier que déterminer la transformation C sur une base de permet de la déterminer n'importe où.

    Je ne sais pas si celà à aidé, mais s'il t'es possible de préciser un peu mieux ton problème, je serai peut-être un peu plus en mesure de mieux te répondre.

    Remarque : su point de vue informatique à propos des applications trigonométriques. Si tu pense qu'un sinus est difficile à calculer, tu te trompes! Numériquement, un sinus et un cosinus se calcul à l'aide des séries entières. Il se trouve même que ces séries convergent plus que rapidement (en ). On a en effet,


  3. #3
    invite213a146e

    Re : Conversions de coordonnées entres deux repères

    Bonsoir.

    (désolé pour les accents, je suis sur un clavier qwerty)

    Merci déjà de ta réponse. comme demande, je tente de mieux préciser ma question. Considérons d'abord que les deux repères sont parfaitement confondus.
    On fait alors tourner z selon l'angle alpha. Du coup, pour passer des coordonnées de O vers P, c'est assez simple, une simple matrice suffit, seuls x et y changent, z reste le même. Sauf que si on fait alors tourner P selon son axe y, par exemple, ça se complique et je n'arrive plus a visualiser le problème dans ma pauvre tête qui menace alors d'exploser au moment ou je tente d'imaginer la troisième transformation. Si on ajoute a ça la translation, de P...
    En gros, j'ai l'impression que le fait d'appliquer la deuxième rotation invalide les changements effectues par la première, et je n'ai pas l'impression qu'une opération matricielle simple permettra de trouver les nouvelles coordonnées. cela dit, il me semble que si, justement, ces opérations servent a ça.
    Quand a la translation, doit on la faire avant ou après la rotation ? Soir R la matrice (3, 3) de rotation finale (si elle existe), T le vecteur de translation, M les coordonnées d'un point et S les nouvelles coordonnées, doit on écrire

    S = (R * T) + M
    S = (R * M) + T
    S = (R * (M + T))


    En espérant avoir été plus clair...

  4. #4
    albanxiii
    Modérateur

    Re : Conversions de coordonnées entres deux repères

    Bonjour,

    Citation Envoyé par Suite2 Voir le message
    Voilà ce que je proposerais.Voilà une solution possible où l'axe des x et y sont tournés par rapport à z. Puis z par rapport à x.



    Qu'est-ce qui est fait là ?! est une matrice qui représente une application linéaire (à une translation près). Jusque là tout va bien. Analysons un peu mieux que qu'il se passe. La première matrice n'est autre que celle d'une rotation autour de l'axe des z d'angle $\alpha$ qui envoit (1;0;0) sur . Je te laisse le soin de comprendre que les deux termes suivants sont aussi les bonnes rotations (sauf si je me suis trompé).
    La dernière fois que j'ai regardé, une matrice de rotation de l'espace 3D appartenait au groupe , donc en particulier elle est de déterminant 1, ce qui n'est le cas d'aucune de vois trois matrices.

    Sans parler du fait que vous sommes bien d'accord que même si on remplace vos matrices par des vraies matrices de rotations, la somme décrit une rotation autour d'un axe du repère de départ, suivie d'une autre rotation autour d'un autre axe du repère de départ aussi, etc.

    bagman, quant à votre question, si je n'y répond pas c'est parce que je ne comprend pas ce que vous voulez... et que le peu que je peux intuiter me semble utiliser des conventions qui ne conviennent pas (un angle entre deux vecteurs, c'est bien, mais en 3D il y a une infinité de placer deux vecteurs l'un par rapport à l'autre de sorte qu'il y ai un angle donné entre eux).

    @+
    Not only is it not right, it's not even wrong!

  5. A voir en vidéo sur Futura
  6. #5
    invite33c0645d

    Re : Conversions de coordonnées entres deux repères

    @albanxiii: Outch... Honte à moi, j'avais d'abbord composé des rotations, puis ensuite j'ai écris des projections.. J'ai oublié de modifier le texte d'explication qui accompagnait ma version avec les rotations..

    J'avais au départ fait une rotation du type . Cette matrice est une vraie rotation pas comme ce que j'avais écris. Ensuite on mutliplie à gauche par une matrice que je n'arrive pas à construire du fait que la question est mal posée. Par rapport à quoi tourne-t-on ?

    La formule de j'ai donnée, ne "tourne" pas l'espace mais l'écrase si l'on veut. En effet, l'axe des x est tourné puis tout le reste ne bouge pas (je laisse les précisions du type tourner par rapport à l'axe z qui envoit ...). De même pour les deux autres axes. Encore une fois ma proposition n'est pas fausse puisque celà fait tourner les axes, mais pas l'espace qui l'accompagne.. Je n'ai pas envie de passer une heure à expliquer les dessins de ma pensée, sachant qu'à priori le sujet va être clos puisque la question n'est pas comprise..

    @bagman : Le problème est que tu te poses une question sans connaître cette question. Comment peut-on t'aider ?

  7. #6
    invite213a146e

    Re : Conversions de coordonnées entres deux repères

    Bonsoir. Effectivement, ma question n'est pas très claire. J'ai fais un dessin2 D du problème (pourri, j'ai pas trouvé l'outil 'ligne' de gimp) .

    Sachant que (X, Y) et (x, y) sont connus, comment calculer (x', y') ? La du coup, c'est en 2D et c'est relativement simple. Mais ma question porte sur le même problème, en 3D

    Nom : repere2d.png
Affichages : 1187
Taille : 36,9 Ko

    Merci à vous

  8. #7
    Dlzlogic

    Re : Conversions de coordonnées entres deux repères

    Bonjour,
    C'est une question assez récurrente.
    D'abord en 2d, et toujours dans le cas général.
    Les formules de transformation s'écrivent
    X = TX + XX.x + XY.y
    Y = TY + YX.x + YY.y
    où x,y sont les coordonnées d'un point dans un système et X,Y les coordonnées de ce même point dans l'autre système.
    Si les figures dans l'un et l'autre système sont égales, alors |XX|=|YY| et |XY|=|YX|, sachant que le nombre de signes '-' est impair. On aura par exemple
    X = TX + x.cosA - y.sinA
    Y = TY + x.sinA + y.cosA
    Si les deux figures sont semblables, alors il y aura un facteur multiplicatif L = rapport d'homothétie.
    Avec 2 points connus dans les deux systèmes, les paramètres sont parfaitement définis.

    Maintenant en 3D
    Les formules de transformation s'écrivent
    X = TX + XX.x + XY.y + XZ.z
    Y = TY + YX.x + YY.y + YZ.z
    Y = TZ + ZX.x + ZY.y + ZZ.z
    Là, il y a 12 paramètres, ce qui signifie qu'il faut 4 points connus dans les deux systèmes.
    Intuitivement, on se dit que 3 sont suffisants, s'ils ne sont pas alignés. Mais étant donné les imprécisions inévitables avec l'informatique, et de toute façon dans le cas général lorsqu'on manipule des réels, il faut travailler avec 4 points. Si on n'en dispose que de 3, on pourra construire le 4è artificiellement comme 4è sommet d'un tétraèdre à peu près bien formé.
    L'utilisation des angles devient très compliquée avec 3 axes, donc je ne m'en sers pas.
    La méthode consiste à calculer 4 points (ou 3+1) de la même façon dans les deux systèmes.
    Puis, écrire les 12 équations, ce qui permettra de calculer les 12 paramètres.

    Nota. Il est très courant de devoir mettre en correspondance deux objets représentant à peu près la même chose et connus dans 2 systèmes différents. Dans ce cas, on choisira un plus grand nombre de points que les 4 nécessaires et on calculera les 12 paramètres. Je pense que le détail de la méthode dépasse le contexte de la question.

Discussions similaires

  1. [Geometrie] Liens entres les coordonnées des sommet d'un Polygone regulier.
    Par Mikiisa dans le forum Mathématiques du supérieur
    Réponses: 7
    Dernier message: 10/11/2011, 19h33
  2. Differents reperes et changement de coordonnées
    Par invite9f90c9cc dans le forum Physique
    Réponses: 0
    Dernier message: 17/11/2010, 13h28
  3. Changement de repères et coordonnées polaires
    Par invite924f0762 dans le forum Mathématiques du collège et du lycée
    Réponses: 2
    Dernier message: 25/04/2008, 16h32
  4. Réponses: 10
    Dernier message: 02/04/2007, 15h42
  5. coordonnées dans 2 repères
    Par invite97a92052 dans le forum Mathématiques du supérieur
    Réponses: 6
    Dernier message: 09/02/2005, 18h20