Pour les matheux, voila la présentation de la méthode de calcul.
Si vous êtes allergique au math, je vous conseille vraiment de sauter ce post et d'aller au suivant...
Si on considère une grille de 5 lignes à 6 colonnes, cela fait :
- 30 points dont il faut déterminer la hauteur ;
- et 4x6 + 5x5 = 49 mesures.
Il y a donc bien plus de mesures que de points. Le système d'équations est donc "sur-déterminé". Il y a "trop" d'équations pour le nombre de points à calculer.
On pose le problème ainsi :
si X est le vecteur contenant la hauteur de tous les points.
M est le vecteur contenant toutes les mesures.
A est la matrice reliant les mesures à la hauteur des points : on a donc M = A * X.
- On connait A, cela se déduit facilement de la géométrie du problème
- on connait M, ce sont nos mesures
Il faut donc déterminer X.
Comme il y a plus de mesures que de points, A est une matrice rectangle.
Comme les mesures sont en fait des différences de hauteurs entre 2 points, il y a une indétermination par une translation en hauteur. La matrice A est donc de rang N-1 si N est le nombre de points. Plus précisément, elle est de rang N-1 et a N colonnes.
On corrige cela en plaçant un point arbitrairement à zéro. On prend le point n°1, le plus en haut à gauche que l'on met à zéro. Comme cela, on a donc maintenant N-1 points avec une matrice de N-1 colonnes et de rang N-1. Elle accepte donc une matrice pseudo-inverse de Moore-Penrose unique B qui se calcule facilement par B = inverse(At.A) . At. (ici, on notre At la transposée de A). On sait que B est telle que B * A = matrice identité de dimension N-1 et telle que X = B * M avec X optimal au sens des moindres carrés.
On obtient ainsi le vecteur X tel que les deux vecteurs M (nos mesures) et A.X (les mesure qu'on devrait trouver sachant X) sont les plus proches possibles au sens des moindres carrés.
On a ainsi, avec X, la cartographie des hauteurs de la plaque.
On a même l'erreur quadratique RMS des mesures en calculant la moyenne quadratique du vecteur M - A*X, qui s'écrit aussi M - A*B*M .
Certe, c'est bien beau, on a les positions des points de mesure. Mais ne c'est pas les défauts du marbre. Les défauts, ce sont les distances entre un plan parfait et les points de mesure. Pour cela, il faut déterminer ce plan parfait qui passe au plus près de tous ces points et ensuite calculer la distance entre ce plan et nos points de mesure.
Ce second problème est posé ainsi.
On considère nos points X est on considère un plan déterminé par :
- une position h en z (sa position en hauteur)
- un angle a selon l'axe x
- un angle b selon l'axe y
Le problème est de déterminer le vecteur (h,a,b) de manière à ce que, en moyenne, la distance entre le plan et les points soit minimale.
Si on a N points sur ce plan en regard à nos N points de mesure, on note R la matrice qui détermine la hauteur de ces points en fonction de (h,a,b). (R est donc une matrice de N lignes et 3 colonnes). On veut donc que R.(h,a,b) soit le plus proche possible de X. Et bien on utilise à nouveau la pseudo-inverse de R qu'on note S. Et on estime les paramètres du plan par (h,a,b) = S.X. On obtient ainsi notre plan qui passe au mieux à proximité des points de mesure. Et les distances des points à ce plan, c'est-à-dire les défauts du marbre, sont X - R.(h,a,b).
On a ainsi les défauts du marbre.
Pour éviter d'avoir des valeurs positives et négative, j'ai translaté toutes les valeurs de manière à avoir un point à zéro et tous les autres avec des valeurs positives.
Voili-voilou