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
-----