Normalisation des coefficients de Fourier
Avant de pouvoir utiliser notre couple de vecteurs \( \left( a^x_{0},a^x_{1},a^x_{2},...,a^x_{n} \right) \) et \( \left( a^y_{0},a^y_{1},a^y_{2},...,a^y_{n} \right) \) ,
il va falloir les normaliser. Ceci va se faire en trois étapes :
- Appliquer une rotation à notre signature pour qu'elle soit "horizontale". Dès lors il n'y a aura plus à se soucier de l'orientation de la feuille quand on signe.
- Appliquer une translation à notre signature pour qu'elle soit centrée en une origine. Dès lors il n'y aura plus à se soucier de où l'on signe sur la feuille.
- Appliquer une dilatation à notre signature. Dès lors il n'y aura plus à se soucier de la taille de notre signature.
Appliquer une rotation
C'est surement la partie la plus délicate des trois points présentés ci-dessus.
Etape 1 : Régression linéaire
Premièrement, remarquons que le point\( A_0 \left( a^x_{0} , a^y_{0} \right)\) est le point moyen de la signature, do,nt on sait qu'il appartient à la droite de régression linéaire.
Il ne reste qu'à récupérer un vecteur directeur de la droite de régression linéaire de notre signature.
Pour cela calculons trois quantités :
- \( Var_X = \sum (X_t - a^x_0)^2 \)
- \( Var_Y = \sum (Y_t - a^y_0)^2 \)
- \( Cov_{XY} = \sum (X_t - a^x_0) \times (Y_t - a^y_0) \)
(\( M_t (X_t , Y_t) \) étant l'ensemble des points formant notre signature)
Calculons maintenant \( m = \dfrac{Cov_{XY}}{Var_X} \), le vecteur \( \overrightarrow{u}(1,m) \) est alors un vecteur directeur de notre droite de régression linéaire.
Remarquons qu'il est possible (mais hautement improbable) que \( Var_X=0 \), dans ces conditions, on remplace \(m\) par \( m' = \dfrac{Cov_{XY}}{Var_Y} \), ainsi le vecteur
\( \overrightarrow{u}(m',1) \) est aussi un vecteur directeur de notre droite de régression linéaire,... et à celui qui me dit : " Que fait-on si l'on a aussi \( Var_Y=0 \) ?", je lui réponds , déssine un truc et ça marchera mieux !
Reste encore une dernière chose à décider : prendre le vecteur \( \overrightarrow{u}(1,m) \) ou \( -\overrightarrow{u}(-1,-m) \) ?
Ceci va dépendre de l'orientation du texte : si l'abscisse du premier point de la courbe est inférieure à l'abscisse du dernier point de la courbe, alors on choisira :
\( \overrightarrow{u} \) sinon on choisira \( -\overrightarrow{u} \).
Etape 2 : Fabrication d'un repère orthonormé
Une fois le vecteur directeur \( \overrightarrow{u} \) de notre droite de régression identifié, on le normalise puis on calcule sa normale \( \overrightarrow{v}(-u_y,u_x) \).
\( (A_0 , \overrightarrow{u},\overrightarrow{v}) \) est alors le repère orthonormé idéal dans lequel appliqué notre rotation.
Etape 3 : Appliquer le bon produit scalaire pour faire tourner notre signature autour de \(A_0\)
Pour faire tourner notre signature, il suffit de projeter les coordonnées des vecteurs \( \overrightarrow{A_{0}X_{t}}\) sur \( \overrightarrow{u}\) et \( \overrightarrow{v}\),
ce qui revient à calculer les produits scalaires \( <\overrightarrow{A_{0}M_{t}} , \overrightarrow{u}>\) et \( <\overrightarrow{A_{0}M_{t}} , \overrightarrow{v}>\).
Or \( <\overrightarrow{A_{0}M_{t}} , \overrightarrow{u}> = \begin{pmatrix} \sum_{k=0}^n a^x_{k}cos(kt) -a^x_0 \\ \sum_{k=0}^n a^y_{k}cos(kt) -a^y_0 \end{pmatrix} . \begin{pmatrix} u_x \\ u_y \end{pmatrix}
= \begin{pmatrix} \sum_{k=1}^n a^x_{k}cos(kt) \\ \sum_{k=1}^n a^y_{k}cos(kt) \end{pmatrix} . \begin{pmatrix} u_x \\ u_y \end{pmatrix} \)
\[= \sum_{k=1}^n a^x_{k}cos(kt)\times u_x + \sum_{k=1}^n a^y_{k}cos(kt)\times u_y \]
\[= \sum_{k=1}^n (a^x_{k}\times u_x + a^y_{k}\times u_y )cos(kt) \]
\[= \sum_{k=1}^n < \overrightarrow{a_k} , \overrightarrow{u}>cos(kt) \] en posant \( \overrightarrow{a_k}= (a^x_k,a^y_k)\)
Par un raisonnement analogue, on obtient : \( <\overrightarrow{A_{0}M_{t}} , \overrightarrow{v}> =\sum_{k=1}^n < \overrightarrow{a_k} , \overrightarrow{u}>cos(kt) \)
On en déduit que notre signature une fois tournée admet les coefficients de Fourier suivants :
\( \left( a^x_0 ,< \overrightarrow{a_1},\overrightarrow{u} >,...,< \overrightarrow{a_n},\overrightarrow{u}> \right) \) et \( \left( a^y_0 ,<\overrightarrow{a_1},\overrightarrow{v}>,...,<\overrightarrow{a_n},\overrightarrow{v}> \right) \)
Appliquer une translation
Rien de plus simple ! En effet le point\( A_0 \left( a^x_{0} , a^y_{0} \right)\) est le point moyen de la signature, il suffit donc d'annuler ces deux coefficients. On va même faire mieux, on va littéralement les éliminer car inutile de les garder puisqu'ils vallent maintenant 0.
Appliquer une dilatation
Concaténons les deux vecteurs de la façon suivante : \( \left( a^x_{1},a^x_{2},...,a^x_{n} , a^y_{1},a^y_{2},...,a^y_{n} \right) \) , on obtient un vecteur de
taille \( 2n\)
Si l'on multiplie ce vecteur par un réel k quelconque, on obtiendra la même signature, mais k fois plus grosses. Pour ne plus avoir à se soucier de la taille
de notre signature, il suffit tout simplement de normaliser ce veteur. On calcule sa norme Euclidienne et on divise chacun des coefficients par cette norme.
Et si la norme est nulle me direz-vous, on risque de diviser par zéro ! Je vous répondrai que si votre norme est nulle c'est que vous n'avez rien dessiné !
Une fois toutes nos transformations effectuées nous appellerons notre nouvelle liste de coefficients de Fourier, les coefficients de Fourier Normalisés de notre signature.