Géométriquement le forum Dlz9
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le deal à ne pas rater :
Réassort du coffret Pokémon 151 Électhor-ex : où l’acheter ?
Voir le deal

Aller en bas
Dlzlogic
Dlzlogic
Admin
Messages : 9526
Date d'inscription : 26/04/2019
Age : 80
Localisation : Proville
http://www.dlzlogic.com

Transformation 2D sur 4 points. Empty Transformation 2D sur 4 points.

Mer 6 Juil - 15:48
Bonjour,
Réf. https://www.maths-forum.com/informatique/details-une-transformation-geometrique-matriciel-t263035.html
Dans le plan, une transformation est en général une homothétie-rotation. (similitude directe).
Un vecteur, c'est à dire 2 points homologues, suffisent à déterminer cette transformation. Pour des raisons calculatoires, on a l'habitude de rajouter une translation.
L'auteur du message parle de "matrice 4x4", il s'agit naturellement d'un tableau de quatre points homologues, connus dans les deux systèmes, et en aucun cas de calcul matriciel.

La transformation que fait passer la figure initiale à la figure résultante s'appelle "transformation affine". Sa formule s'écrit
X = TX + XX.x + XY.y
Y = TY + YX.x + YY.y
Il y a 6 paramètres (TX, TY, XX, XY, YX, YY) les données sont 4 points, donc 8 valeurs de coordonnées. Le système est surdimensionné, la méthode de résolution est la méthode des moindres carrés.
Habituellement, la valeur donnée pour apprécier la qualité de la transformation est l'erreur moyenne quadratique.
Les valeurs demandées (cisaillement, échelle, translation, rotation) s'obtiendront à partir des 6 paramètres calculés.
Dlzlogic
Dlzlogic
Admin
Messages : 9526
Date d'inscription : 26/04/2019
Age : 80
Localisation : Proville
http://www.dlzlogic.com

Transformation 2D sur 4 points. Empty Re: Transformation 2D sur 4 points.

Jeu 7 Juil - 13:05
Bonjour,
Gbzm a écrit:S'il s'agit bien de ce que je pense, on peut voir ta matrice secret-défense dans le logiciel GIMP, par exemple, quand on utilise l'outil perspective en bougeant les quatre poignées de l'image.
Et tout géométre sait ce qu'est la matrice d'une homographie du plan et comment la calculer quand on dispose de quatre points et de leurs images.
Là, Gbzm s'est grillé.
Les raisons de cette opération ont été parfaitement précisées, et ça n'a rien à voit avec la perspective. Ce n'est pas une homographie du plan.
Depuis des années où j'explique cela, Gbzm n'a encore pas compris., Etonnant, même pour un émérite.
Dlzlogic
Dlzlogic
Admin
Messages : 9526
Date d'inscription : 26/04/2019
Age : 80
Localisation : Proville
http://www.dlzlogic.com

Transformation 2D sur 4 points. Empty Re: Transformation 2D sur 4 points.

Jeu 7 Juil - 13:35
Cette question est un excellent exemple de choses que l'explique depuis des années. Gbzm n'a manifestement pas compris la problématique. D'ailleurs, c'est amusant de voir que l'utilisation du terme "matrice" pour "tableau" peut provoquer des quiproquos.
Soyons sérieux, dans le cas présent, pas besoin d'avoir les valeurs numériques pour répondre à la question.
D'ailleurs Sylviel est modérateur du forum concerné, à le lire, on pourrait croire qu'il sait résoudre ce type de problème, pourquoi ne le fait-il pas au lieu de m'envoyer les liens sur des sujets connexes.
C'est une bonne occasion d'appliquer une méthode de résolution de système linéaire.
Si nécessaire, je peux faire un jeu d'essai.
Pour mémoire, pour un membre de forums, j'ai écrit un petit module en PHP qui fait cela et tourne probablement depuis des années.
C'est pas confidentiel, je peux donner le module et le contexte d'utilisation.
Dlzlogic
Dlzlogic
Admin
Messages : 9526
Date d'inscription : 26/04/2019
Age : 80
Localisation : Proville
http://www.dlzlogic.com

Transformation 2D sur 4 points. Empty Re: Transformation 2D sur 4 points.

Jeu 7 Juil - 14:56
Voila un jeu d'essai

Code:
Données de base
n°=1  xA=56.00 yA=97.50  xN=92.00 yN=157.50
n°=2  xA=187.00 yA=79.00  xN=295.00 yN=137.00
n°=3  xA=155.50 yA=26.50  xN=232.00 yN=58.00
n°=4  xA=23.50 yA=45.50  xN=37.00 yN=78.50
D'après le premier message du demandeur, il correspond à l'hypothèse proposée.
Dlzlogic
Dlzlogic
Admin
Messages : 9526
Date d'inscription : 26/04/2019
Age : 80
Localisation : Proville
http://www.dlzlogic.com

Transformation 2D sur 4 points. Empty Re: Transformation 2D sur 4 points.

Jeu 7 Juil - 16:24
Je continue sur le sujet.
Dans le plan, il existe plusieurs transformations classiques.
Cisaillement : c'est la première fois que j'entends ce terme dans le contexte de géométrie. Je suppose qu'il s'agit de la transformation dite affinité.
Echelle : il s'agit naturellement de la transformation appelé homothétie.  
Rotation : la matrice de cette transformation s'écrit cosA -sinA ; sinA cosA où A est l'angle de rotation.
Translation : là c'est un vecteur de translation TX, TY.
Dans le cas général, on peut écrire la matrice de transformation, il s'agit de celle dite "transformation affine", voir la formule dans mes premiers messages.
Toute la difficulté de la question posée est de calculer les termes de cette matrice. Il y en a 6.
Personnellement, je préfère parler de "formule de transformation" plutôt que de matrice, mais ce n'est qu'un détail.
Par contre le tableau donnant les 4 points dans les deux systèmes n'a rien d'une matrice, sauf la forme (4x4). Le problème serait exactement le même avec 10 points, alors on aurait un tableau 10x4.

Cela n'a bien sûr rien à voir avec une transformation 3D qui comporte 12 paramètres (si on veux "12 termes de matrice"), puisque c'est une matrice 3x4.
Dlzlogic
Dlzlogic
Admin
Messages : 9526
Date d'inscription : 26/04/2019
Age : 80
Localisation : Proville
http://www.dlzlogic.com

Transformation 2D sur 4 points. Empty Re: Transformation 2D sur 4 points.

Jeu 7 Juil - 16:53
Vu la "matrice de transformation".
Je ne m'attendais pas à voir quelque-chose de ce genre.
Est-ce les résultats des mesures des 4 points ou une matrice dont on ne sait pas à quoi elle correspond, comment l'utilise-t-on ?
Peut-être Gbzm posera les bonnes questions !

EDIT : après corrction
Code:
Données de base
n°=1  xA=1.20 yA=0.00  xN=0.00 yN=0.00
n°=2  xA=-0.00 yA=1.20  xN=0.00 yN=0.00
n°=3  xA=0.20 yA=-0.01  xN=1.01 yN=0.00
n°=4  xA=0.00 yA=0.00  xN=0.00 yN=1.00
point 1  X=      0.10  Y=      -0.08 écart=  0.13
point 2  X=      0.00  Y=      0.00 écart=  0.00
point 3  X=      0.43  Y=      0.48 écart=  0.76
point 4  X=      0.49  Y=      0.59 écart=  0.63
erreur moyenne quadratique sur les 4 points =  0.35 m.
Paramètre de la formule
 xN = Tx + XX * xA + XY * yA
 yN = Ty + YX * xA + YY * yA
 xA = x - CxA ; yA = y - CyA
CxA = 0.35  CyA = 0.30
Tx = 0.74 Ty = 0.84 XX = -3.24583E-01 XY = -4.08689E-01 YX = -5.61879E-01 YY = -4.96160E-01
Mais, ça doit pas être ça.


Dernière édition par Dlzlogic le Jeu 7 Juil - 17:09, édité 1 fois (Raison : Nouvelles valeurs)
Dlzlogic
Dlzlogic
Admin
Messages : 9526
Date d'inscription : 26/04/2019
Age : 80
Localisation : Proville
http://www.dlzlogic.com

Transformation 2D sur 4 points. Empty Re: Transformation 2D sur 4 points.

Jeu 7 Juil - 17:54
Bon, ça m'étonnerait vraiment qu'il s'agisse d'un redressement d'image.
Pour moi,
FlaMMe34 a écrit:Je vous explique, afin de compenser des déformations je calcule, à partir de 4 point réel (en 2D) pris par des moteurs, et 4 points théoriques, une matrice de transformation qui me permettra de compenser les défauts : de positionnement, de fabrication etc...
ces explications ne font aucun doute.
Dlzlogic
Dlzlogic
Admin
Messages : 9526
Date d'inscription : 26/04/2019
Age : 80
Localisation : Proville
http://www.dlzlogic.com

Transformation 2D sur 4 points. Empty Re: Transformation 2D sur 4 points.

Jeu 7 Juil - 21:34
Si j'étais modérateur compétent sur MF, j'interviendrais pour clarifier les choses. Probablement que Sylviel est occupé à autre chose.
Ou alors, c'est peut-être tout simplement que Sylviel n'est pas compétent.
Dlzlogic
Dlzlogic
Admin
Messages : 9526
Date d'inscription : 26/04/2019
Age : 80
Localisation : Proville
http://www.dlzlogic.com

Transformation 2D sur 4 points. Empty Re: Transformation 2D sur 4 points.

Jeu 7 Juil - 22:47
Petit résumé.
La question posée est précise.
J'ai fait un exemple conformément aux termes de la question posée.
Naturellement, j'ai la solution, mais je la garde pour moi pour l'instant.
Apparemment Gbzm n'a pas cherché à utiliser le jeu d'essai et Silvien continue à dire que je n'y connais rien et qu'il a répondu à toutes mes questions. Par contre il connait bien la documentation, même si ça ne répond pas à mes questions, il me balance régulièrement des liens.

Pour être sérieux, le demandeur a posé une question précise et bien formulée. Gbzm semble persuadé qu'il s'agit "de la transformation homographique", ce ne sont en aucun cas les hypothèses décrites.
A suivre.
Dlzlogic
Dlzlogic
Admin
Messages : 9526
Date d'inscription : 26/04/2019
Age : 80
Localisation : Proville
http://www.dlzlogic.com

Transformation 2D sur 4 points. Empty Re: Transformation 2D sur 4 points.

Ven 8 Juil - 20:22
Bonsoit,
Oui pas de nouvelles. On sait bien quelle est la question posée, main on aimerait bien avoir les deux listes de 4 points homologues.
L'exemple que j'ai fait pourrait servir d'exemple expliquant la question, mais rien de tel que des valeurs authentiques fournies par le demandeur.
Contenu sponsorisé

Transformation 2D sur 4 points. Empty Re: Transformation 2D sur 4 points.

Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum