Changement de repère orthonormal à orthogonal. (plan)
Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

Changement de repère orthonormal à orthogonal. (plan)



  1. #1
    xav4

    Changement de repère orthonormal à orthogonal. (plan)


    ------

    Bonsoir à tous,

    je suis nouveau sur le forum que je découvre en faisant mes recherches sur le net.
    Dans la programmation d'un logiciel, je me heurte à un petit problème mathématique:

    J'affiche une image scannée d'un graphique afin de pouvoir cliquer sur certains points de la courbe et ainsi effectuer une régression linéaire de celle-ci afin d'en trouver une formule.
    La régression ne me pose pas de problème, j'ai déjà programmé cette partie avec les points que je tape en live (au clavier).
    Au vu du nombre de courbes et afin d'améliorer la précision de mes "mesures", je décide de le faire par la voie visuelle (cliquer sur les points remarquables de la courbe).

    Mon problème est le suivant:
    Je ne parviens pas à "traduire" mes coordonnées images (écran) vers les coordonnées de mon graphique (et vice versa, car je veux aussi dessiner le résultat de ma régression sur la même image).
    Je n'ai pas encore commencé la programmation à proprement parlée, je me heurte toujours à un problème de méthode avant de commencer.

    Voici les données du problème:
    L'image est un système orthonormé, formé de pixels. (écran)
    Mon graphique est orthogonal, mais pas orthonormé. l'équivalent de 100 pixels peut représenter 500 unités dans l'abscisse, et 0.01 dans l'ordonnée par exemple.

    Voici mon approche:

    Définir 3 points non alignés dont je connais les coordonnées à l'écran (la paire x,y)que je nommerai à partir de maintenant (ex,ey) et sur le graphique (gx,gy).


    J'ai mis cela en équation comme ceci:

    gx=(a1*ex)+(b1*ey)+c1
    gy=(a2*ex)+(b2*ey)+c2

    étant donné que je possède trois points connus, cela me donne deux systèmes de 3 équations à 3 inconnues.
    Système que je résous assez facilement avec un système de matrices et qui se vérifie parfaitement pour les trois points.

    J'utilise donc ces deux équations afin de trouver les coordonnées de mon graphique des points que je cliquerai sur l'écran.
    Je me suis arrêté là pour le moment car les quelques essais que j'ai effectués sur du papier quadrillé me semblent quelques peux imprécis pour peu je m'éloigne de mes points de calibrage.
    Je pense que mon erreur vient du fait que le graphique n'est pas orthonormé et que de ce fait mes formules ne sont pas adéquates.
    Mon raisonnement est il correct?

    Si oui, dans quelle direction me diriger? J'ai pensé à travailler comme sur un système orthonormé puis de multiplier les résultats en abscisse et ordonnée par un scalaire. Mais dans ce cas comment retrouver ce scalaire en fonction de mes trois points de calibrage?


    Merci d'avance de vos conseils!
    Xavier

    -----

  2. #2
    Tryss

    Re : Changement de repère orthonormal à orthogonal. (plan)

    Le plus simple, c'est de calculer la taille d'un pixel et le décalage.

    Deux pixels suffisent si ils ne sont ni sur la même ligne ni sur la même colonne.

    ex-ex' = C (gx-gx') => C est le facteur de dilatation sur les x
    ey-ey' = C' (gy-gy') => C' est le facteur de dilatation sur les y

    ex-Cgx = dx => dx est le décalage sur les x
    ey-C'gy = dy => dy est le décalage sur les y

    Et après

    gx'' = (ex''+dx)/C
    gy'' = (ey''+ dy)/C'

    Enfin c'est l'idée

  3. #3
    xav4

    Re : Changement de repère orthonormal à orthogonal. (plan)

    Merci mais il faut vraiment que je passe par le changement de repère car ce sont des images scannées sur lesquelles je n'ai aucun contrôle, et le problème vient du fait que les axes ne sont que très rarement alignés avec les bords de l'image.

  4. #4
    Dlzlogic

    Re : Changement de repère orthonormal à orthogonal. (plan)

    Bonjour,
    C'est une question qui a été évoquée dernièrement et qui a provoqué quelques remous et contradiction.
    Votre système de départ est parfaitement exact. pour ma part, je l'écris de la façon suivante :
    X = TX + XX.x + XY.y
    Y = TY + YX.x + YY.y
    Juste parce que c'est plus visuel.
    C'est la formule de la transformation affine.
    Cette formule appliqué aux 3 points, s'il ne sont pas alignés, a effectivement une solution. Un système linéaire à 6 inconnues.
    Cependant, pour des raisons de précision, pour ce type de manipulation, on a l'habitude de prendre des points de calage en sur-nombre. Six points me parait un bon choix en général.
    Là, la méthode de résolution est un peu plus difficile. Je peux vous l'expliquer et/ou vous donner le module de calcul (C et/ou PHP).

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

    Re : Changement de repère orthonormal à orthogonal. (plan)

    Ai je raison de dire que c'est deux systèmes de 3 équations à 3 inconnues (que je peux résoudre séparément) ou alors dois-je résoudre les 6 équations dans un seul ensemble (quelle est dès lors la marche à suivre?)

    Pour résoudre les équations, j'utilise simplement les déterminants (je crois me souvenir que c'est la méthode de Gauss???)

    Par contre, je ne vois pas très bien la marche à suivre afin de déterminer les inconnues lorsque les équations sont en surnombre (je ne me souviens que de loin de la résolution des matrices carrées)?
    Je suis intéressé par la méthode, et aussi de savoir de quelle manière je peux augmenter la précision grâce à elle.

    Vous évoquez que la question a été soulevée dernièrement, pouvez vous me donner une référence afin que je recherche ce message, je ne crois pas l'avoir trouvé.

    Merci

  7. #6
    Dlzlogic

    Re : Changement de repère orthonormal à orthogonal. (plan)

    Bonjour,
    Il s'agit d'un système de 6 équation avec 6 inconnues.
    Les inconnues sont TX, TY, XX, XY, YX, YY.
    Les équations sont telles que les coordonnées ces 3 points (X,Y) satisfont les coordonnées de digit (x,y).
    La méthode généralement utilisée est effectivement le pivot de Gauss.

    Lorsque les points sont en surnombre, le raisonnement est le suivant : on écrit que la solution à adopter (les 6 paramètres) est celle qui minimise la somme des carrés des distances entre les valeurs exactes (X,Y) et les valeurs calculées (X', Y') pour chaque points. Cette somme sera minimum lorsque sa dérivée s'annule. On calcule les dérivées partielles, et on écrite qu'elles doivent être nulles. On obtient ainsi un système de 6 équations avec des termes du type S(X), S(XY), S(X²) etc. Vous verrez rapidement l'analogie avec la résolution d'une régression linéaire. C'est exactement la même logique.

    La question a été évoquée par moi, puisque j'étais confronté à une variante, l'un des deux repère n'était pas cartésien mais géographique, et il semblait que cela pourrait intéresser des membres avides de problèmes nouveaux. Si vous voulez voir le sujet, cherchez "calage".

  8. #7
    leon1789

    Re : Changement de repère orthonormal à orthogonal. (plan)

    Citation Envoyé par xav4 Voir le message
    Ai je raison de dire que c'est deux systèmes de 3 équations à 3 inconnues (que je peux résoudre séparément)
    oui, il s'agit bien d'un système 6x6 qui se scinde en deux systèmes 3x3 indépendants :
    3 équations en X = TX + XX.x + XY.y qui permettent de déterminer TX, XX et XY
    et à coté 3 équations Y = TY + YX.x + YY.y qui permettent de déterminer TY, YX et YY

    Citation Envoyé par xav4 Voir le message
    Pour résoudre les équations, j'utilise simplement les déterminants (je crois me souvenir que c'est la méthode de Gauss???)
    La méthode de Gauss n'utilise pas de déterminant.

  9. #8
    leon1789

    Re : Changement de repère orthonormal à orthogonal. (plan)

    [mode HS]
    Citation Envoyé par Dlzlogic Voir le message
    La question a été évoquée par moi, puisque j'étais confronté à une variante, l'un des deux repère n'était pas cartésien mais géographique, et il semblait que cela pourrait intéresser des membres avides de problèmes nouveaux. Si vous voulez voir le sujet, cherchez "calage".
    Le problème "calage" que tu avais posé était très général (et clairement impossible à résoudre à tel degré de généralité), et il n'avait rien à voir avec un simple changement de coordonnées.
    C'est en particularisant considérablement les hypothèses de ton problème que tu as pu apporter une réponse qui se réduisait à la résolution approchée d'un système linéaire.
    Mais tout ça, on te l'a déjà expliqué.
    [/mode HS]

Discussions similaires

  1. Exercice dans un repère orthonormal dans l'espace
    Par inviteb517eda2 dans le forum Mathématiques du collège et du lycée
    Réponses: 34
    Dernier message: 02/01/2011, 19h15
  2. Repère dans le plan
    Par invitec804a82a dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 30/10/2009, 17h52
  3. Démonstration [Equation d'un cercle dans un repere orthonormal]
    Par invitef07c4cf3 dans le forum Mathématiques du collège et du lycée
    Réponses: 6
    Dernier message: 22/05/2009, 18h39
  4. Tracer dans un repère orthonormal
    Par invite9ddcac06 dans le forum Mathématiques du collège et du lycée
    Réponses: 3
    Dernier message: 25/09/2007, 21h22
  5. Changement de repère espace vers plan
    Par invite4ab3564c dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 13/02/2005, 08h00