Détails d'une transformation géométrique Matriciel

Discutez d'informatique ici !
FlaMMe34
Membre Naturel
Messages: 25
Enregistré le: 01 Oct 2012, 16:47

Détails d'une transformation géométrique Matriciel

par FlaMMe34 » 06 Juil 2022, 14:04

Bonjour à tous,

Dans le cadre du développement d'un logiciel, je souhaiterais calculer le détails d'une transformation géométrique établi par une matrice 4x4.

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

On me demande d'afficher sur l'interface les transformations géométriques ( ou du moins certaines) appliqués par cette matrice, notamment :
- Le cisaillement
- L'échelle (X et Y)
- La rotation
- La translation

Pourriez vous m'indiquer les calculs à opérer sur la matrice pour obtenir ces valeurs?

En vous remerciant d'avance :)
Bonne journée



GaBuZoMeu
Habitué(e)
Messages: 6019
Enregistré le: 05 Mai 2019, 10:07

Re: Détails d'une transformation géométrique Matriciel

par GaBuZoMeu » 06 Juil 2022, 22:18

Bonsoir,

Une transformation du plan donnée par une matrice 4x4 ????
Bizarre, bizarre.
Peux-tu nous en dire plus sur cette matrice ?

FlaMMe34
Membre Naturel
Messages: 25
Enregistré le: 01 Oct 2012, 16:47

Re: Détails d'une transformation géométrique Matriciel

par FlaMMe34 » 07 Juil 2022, 09:07

GaBuZoMeu a écrit:Bonsoir,

Une transformation du plan donnée par une matrice 4x4 ????
Bizarre, bizarre.
Peux-tu nous en dire plus sur cette matrice ?


Tout d'abord merci d'avoir pris le temps de regarder ma problématique.

Comme je disais ma matrice de transformation est calculé à partir de 4points réels et 4 point théorique. Dans un soucis de confidentialité je ne détaillerais pas le calcul ici.

Par contre en effet la matrice aurait pu être au format 3x3, mais cela m'arrangeait informatiquement parlant qu'elle soit en format 4x4 car la classe associée existait déjà dans mon sdk contrairement à celle 3x3.

Je pars d'une matrice identité du coup les lignes et colonnes 4 correspondent à celle de la matrice identité.

GaBuZoMeu
Habitué(e)
Messages: 6019
Enregistré le: 05 Mai 2019, 10:07

Re: Détails d'une transformation géométrique Matriciel

par GaBuZoMeu » 07 Juil 2022, 09:47

Dans un soucis de confidentialité je ne détaillerais pas le calcul ici.

Elle est bien bonne celle-la ! :mrgreen:

Je pense cerner ce qu'est la transformation du plan préservant l'alignement et qui envoie quatre points donnés (pas trois alignés) sur quatre autres points donnés (pas trois alignés). Elle est effectivement donnée par une matrice 3x3 (définie à un facteur près). Et je connais la façon d'écrire la matrice correspondant à un cisaillement, un changement d'échelle sur la axes, une rotation, une translation.
Mais, par souci de confidentialité, je me garderai bien d'en dire plus.

FlaMMe34
Membre Naturel
Messages: 25
Enregistré le: 01 Oct 2012, 16:47

Re: Détails d'une transformation géométrique Matriciel

par FlaMMe34 » 07 Juil 2022, 11:22

...
Il se trouve que pour mon entreprise, ce bout de code est confidentielle, et que mon pseudo est connu pour être associé à mon entreprise...

Si c'est quelque chose de "connu", je pense donc qu'il n'est pas nécessaire de préciser ce calcul...

Il me semble que la matrice de transformation quelque soit la méthode avec laquelle elle a été calculé donne des informations identique non?

Je ne suis pas hyper à l'aide avec les matrice de transformation que j'ai appris plus ou moins en autodidacte ( dans mon cursus de l'époque on n'apprenait pas du tout les matrices en cours) . d'où mes question qui peuvent être un peu naïve parfois..

Maintenant si tu ne veut pas m'aider pour mon soucis de confidentialité, qui je pense peut se comprendre dans une entreprise, je trouve ça un peu moyen....

GaBuZoMeu
Habitué(e)
Messages: 6019
Enregistré le: 05 Mai 2019, 10:07

Re: Détails d'une transformation géométrique Matriciel

par GaBuZoMeu » 07 Juil 2022, 11:44

Franchement, c'est vraiment n'importe quoi !
Si tu tiens à assurer la confidentialité (sur quelque chose qui à mon avis n'a aucune raison d'être confidentiel), alors tu fais embaucher pour t'aider un consultant par ton entreprise, qui pourra lui faire signer un contrat de confidentialité. Mais tu ne viens pas demander de l'aide sur un forum en refusant de donner les renseignements nécessaires !

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.

FlaMMe34
Membre Naturel
Messages: 25
Enregistré le: 01 Oct 2012, 16:47

Re: Détails d'une transformation géométrique Matriciel

par FlaMMe34 » 07 Juil 2022, 15:27

Tout d'abord, a aucun moment tu m'as dit qu'il était NECESSAIRE d'avoir ces informations et au vu de tes messages j'ai surtout eu l'impression que c'est le coté confidentiel qui t'as braqué…

C'est peut être naïf de ma part de dire ça, comme je l'ai dit j'ai appris toute seule les matrices de transformation, mais il me semblait que peut importe comment elle a été généré, si on applique une matrice de transformation à un point M quelconque, elle applique une série de transformation géométrique.

Je pourrais tout a fait créer cette matrice en disant de manière arbitraire : Matrice identité à laquelle j'applique une matrice cisaillement, à laquelle j'applique une matrice zoom, à laquelle j'applique une matrice rotation, à laquelle j'applique une Matrice translation.

Surtout que j'aimerais arriver à calculer ma matrice de différentes manières. Soit par ce système de transposition comme tu disais à la Gimp, soit que l'utilisateur entre des valeurs à la main et que je créé une matrice grâce a une succession d'application de matrice. Voici l'ordre d'application de cette matrice pour ce cas là : cisaillement, zoom, rotation, translation.
Soit d'autre méthode diverses et variées, pourquoi pas permettre à l'utilisateur d'entrer lui même sa propre matrice comme c'est possible dans Inskape par exemple.

Si on me dit non c'est impossible mathématiquement de faire ressortir ces valeur a partir d'une matrice quelconque je peux comprendre. Mais là pour moi la réponse n'est pas claire mathématiquement parlant et inutilement agressive...

GaBuZoMeu
Habitué(e)
Messages: 6019
Enregistré le: 05 Mai 2019, 10:07

Re: Détails d'une transformation géométrique Matriciel

par GaBuZoMeu » 07 Juil 2022, 15:32

Comment veux-tu qu'on te dise quoi que ce soit si tu n'expliques pas le rapport entre ta matrice (d'abord 4x4 ramené à 3x3) et la transformation géométrique ? Comment la matrice agit-elle sur un point de coordonnées (x,y) ?
Tu ne veux pas l'expliquer, tant pis (pour toi).

Est-ce que tes transformations conservent forcément le parallélisme ? Une transformation qui envoie quatre points donnés du plan sur quatre autres ne le fait pas en général. Mais les transformations que tu as citées (cisaillement, échelle, rotation, translation) le font.

FlaMMe34
Membre Naturel
Messages: 25
Enregistré le: 01 Oct 2012, 16:47

Re: Détails d'une transformation géométrique Matriciel

par FlaMMe34 » 07 Juil 2022, 15:49

GaBuZoMeu a écrit:Est-ce que tes transformations conservent forcément le parallélisme ? Une transformation qui envoie quatre points donnés du plan sur quatre autres ne le fait pas en général. Mais les transformations que tu as citées (cisaillement, échelle, rotation, translation) le font.


Voila le genre d'information que je ne connaissais pas. Comme je le dit, il faut vraiment me considérer comme débutante dans ce domaine.

Imaginons qu'il n'y a pas de conservation du parallélisme car j'imagine que le cas ou il y a conservation du parallélisme est un cas particulier du cas sans parallélisme. ( de plus comme expliqué j'aimerais que cette matrice puisse être calculée de différentes manière et donc vraiment tabler large) Il y aurais donc d'autre transformation a ajouter ? ou alors d'autre transformation qui remplacerait celle ci ?

Pour l'application de ma matrice à un point M, je me contente de multiplier la matrice de transformation 4x4 avec une matrice 4x1 contenant (x,y,0,1)du point M quelconque de base ce qui me donne le point transformé.

GaBuZoMeu
Habitué(e)
Messages: 6019
Enregistré le: 05 Mai 2019, 10:07

Re: Détails d'une transformation géométrique Matriciel

par GaBuZoMeu » 07 Juil 2022, 16:02

Ah, enfin ! Je t'ai demandé dès le début d'en dire plus sur cette matrice. Il a fallu beaucoup insister pour que tu finisses par donner cette information confidentielle. :mrgreen:
(x,y,0,1) ou (x,y,1,0) ? Ta matrice a une troisième ligne qui est toujours ( 0 0 1 0 ) ?
Ça peut se concevoir si tu pars de quelque chose conçu pour une transformation 3D.

FlaMMe34
Membre Naturel
Messages: 25
Enregistré le: 01 Oct 2012, 16:47

Re: Détails d'une transformation géométrique Matriciel

par FlaMMe34 » 07 Juil 2022, 16:19

GaBuZoMeu a écrit:Ah, enfin ! Je t'ai demandé dès le début d'en dire plus sur cette matrice. Il a fallu beaucoup insister pour que tu finisses par donner cette information confidentielle. :mrgreen:

C'est la génération de la matrice a partir de mes 8 points que je voudrais éviter de donner. L'utilisation ensuite je pense qu'elle est assez générique (en tout cas je ne savais pas qu'il y avait une autre manière de faire, ça allait donc de soit pour moi). Je n'avais pas compris que c'était comment j'applique ma matrice aux points qu'il te fallait.

GaBuZoMeu a écrit:(x,y,0,1) ou (x,y,1,0) ?

Oups erreur de recopie :gene: c'est (x,y,0,0)

GaBuZoMeu a écrit:ta matrice a une troisième ligne qui est toujours ( 0 0 1 0 ) ? Ça peut se concevoir si tu pars de quelque chose conçu pour une transformation 3D.

Pas forcement. Je viens de générer une matrice avec mes 8 points et par exemple j'obtiens la matrice de transformation suivante :
[41.20198 ; 0 ; 0 ; 0]
[-0.00415043 ; 1.1959 ; 0.0040295 ; 0 ]
[0.201859; -0.0073756 ; 1.00738 ; 0]
[0 ; 0 ; 0 ; 1]

GaBuZoMeu
Habitué(e)
Messages: 6019
Enregistré le: 05 Mai 2019, 10:07

Re: Détails d'une transformation géométrique Matriciel

par GaBuZoMeu » 07 Juil 2022, 16:49

Ça ne va pas du tout.

Tu pars du point (1;0). Tu me dis que tu l'encodes comme (1;0,;0;0). Tu lui appliques la matrice que tu as calculée, tu trouves (41.20198 ; -0.00415043 ; 0.201859; 0). C'est l'encodage de quel point, ça ?

FlaMMe34
Membre Naturel
Messages: 25
Enregistré le: 01 Oct 2012, 16:47

Re: Détails d'une transformation géométrique Matriciel

par FlaMMe34 » 07 Juil 2022, 16:55

GaBuZoMeu a écrit:Ça ne va pas du tout.

Tu pars du point (1;0). Tu me dis que tu l'encodes comme (1;0,;0;0). Tu lui appliques la matrice que tu as calculée, tu trouves (41.20198 ; -0.00415043 ; 0.201859; 0). C'est l'encodage de quel point, ça ?


Désolé encore une erreur de recopie de ma matrice de transformation :o (là pour le coup c'est sur et certain, j'ai fait un copier/coller):
1.20198 0 0 0
-0.00415043 1.19597 0.0040295 0
0.201859 -0.0073756 1.00738 0
0 0 0 1


GaBuZoMeu a écrit:C'est l'encodage de quel point, ça ?

C'est a dire je ne comprend pas la question ?

GaBuZoMeu
Habitué(e)
Messages: 6019
Enregistré le: 05 Mai 2019, 10:07

Re: Détails d'une transformation géométrique Matriciel

par GaBuZoMeu » 07 Juil 2022, 17:11

Tu me dis que le vecteur (x;y;0;0) correspond au point de coordonnées (x;y).
Tu pars du point (1;0). Le vecteur qui lui correspond est donc (1;0;0;0), d'après toi.
On lui applique la matrice que tu as calculée (je suppose que c'est le produit matrice x vecteur colonne ?). On trouve le vecteur (1.20198 ; -0.00415043 ; 0.201859; 0). Ce vecteur correspond à quel point ???

FlaMMe34
Membre Naturel
Messages: 25
Enregistré le: 01 Oct 2012, 16:47

Re: Détails d'une transformation géométrique Matriciel

par FlaMMe34 » 07 Juil 2022, 17:15

GaBuZoMeu a écrit:On trouve le vecteur (1.20198 ; -0.00415043 ; 0.201859; 0). Ce vecteur correspond à quel point ???



Techniquement au vecteur "OM' " si M' et le transformé de M à travers la matrice ( O étant le point d'origine 0,0). Mais en effet c'est surprenant que la coordonné Z ne soit pas 0.0. Je pense que je vais revérifier mon calcul de matrice :shock:

GaBuZoMeu
Habitué(e)
Messages: 6019
Enregistré le: 05 Mai 2019, 10:07

Re: Détails d'une transformation géométrique Matriciel

par GaBuZoMeu » 07 Juil 2022, 17:27

C'est visiblement le fait d'associer le vecteur (x;y;0;0) au point de coordonnées (x;y) qui ne va pas du tout.

FlaMMe34
Membre Naturel
Messages: 25
Enregistré le: 01 Oct 2012, 16:47

Re: Détails d'une transformation géométrique Matriciel

par FlaMMe34 » 07 Juil 2022, 17:34

GaBuZoMeu a écrit:C'est visiblement le fait d'associer le vecteur (x;y;0;0) au point de coordonnées (x;y) qui ne va pas du tout.


Ok, il faudrait faire comment du coup? avec un 1 quelques part?

GaBuZoMeu
Habitué(e)
Messages: 6019
Enregistré le: 05 Mai 2019, 10:07

Re: Détails d'une transformation géométrique Matriciel

par GaBuZoMeu » 07 Juil 2022, 17:46

Hum... N'es-tu pas censée connaître comment fonctionne l'utilisation de la matrice que tu calcules pour réaliser une transformation du plan ?
Oui, il faut un 1 quelque part. Je t'ai déjà fait une suggestion. Mais entre tes cachotteries et tes erreurs, on a du mal à s'y retrouver.

Quelques vieux fils d'un autre forum qui pourraient t'intéresser :
https://les-mathematiques.net/vanilla/index.php?p=discussion/751743
https://les-mathematiques.net/vanilla/index.php?p=/discussion/889606/redresser-une-image

et sur ce forum :
https://www.maths-forum.com/cafe-mathematique/redressement-perspective-t208965.html

GaBuZoMeu
Habitué(e)
Messages: 6019
Enregistré le: 05 Mai 2019, 10:07

Re: Détails d'une transformation géométrique Matriciel

par GaBuZoMeu » 07 Juil 2022, 18:17

Je te propose un truc : Tu me donnes les coordonnées de tes 8 points (les 4 de départ, les 4 d'arrivée) sans me révéler le secret de fabrication de ta matrice. :mrgreen:
À partir de ça je pourrai fabriquer la matrice de la transformation homographique qui envoie les 4 points de départ sur les 4 points d'arrivée. Et on verra si c'est bien celle que tu as calculée.

GaBuZoMeu
Habitué(e)
Messages: 6019
Enregistré le: 05 Mai 2019, 10:07

Re: Détails d'une transformation géométrique Matriciel

par GaBuZoMeu » 08 Juil 2022, 18:48

FlaMMe34 aurait-elle disparu, emportant avec elle le secret de la matrice magique ?
On sait déjà une chose, c'est une matrice 3x3 artificiellement gonflée en une matrice 4x4. On sait aussi que ce n'est pas la matrice d'une transformation affine qui est de la forme est un bloc 2x2 inversible qui est la partie linéaire de la transformation et le vecteur de translation (comme ce qu'on voit dans Inkscape). Alors, matrice d'homographie (comme ce qu'on voit dans Gimp) ou pas ? Mystère ...

 

Retourner vers ϟ Informatique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite