Le but c'est de trouver la distance AHp, P représentant un point quelconque.
On note en particulier, si P est sur [HB] alors AP=20
On considère que dans un premier temps que P est dans le secteur délimité par les demi droites [AH) et |AB).
Il suffit de projeter P sur le segment AH en un point nommé Hp, et de récupérer cette distance projetée.
En l'occurrence,
On prend un vecteur unitaire de direction (AH) et de sens A vers H; u(1,0)
Et la distance est donc donnée par Ahp.
Maintenant dans le cas où P peut se balader dans le plan, il faut trouver dans quel secteur se trouve P.
On cherche alors l'angle orienté HAP. Je passe comment trouver l'angle entre deux points...
l'hexagone est en 6 secteurs, si l'angle vaut entre
-30 et 30 : secteur 1 (celui qu'on a traité)
30 et 60: secteur 2 etc...
a chaque changement de secteur le vecteur
(s de 1 à 6) à considérer (subit une rotation de 360/6) est donné par
idem
Maintenant il reste à faire l'échelle, idem ton repère X,Y que tu n'as pas précisé,..., vers tes coordonnées "hexagonales".
Pour ca tu considères le point H (que vaut il avec les valeurs de ta souris)
et un autre point (axe vertical, que tu n'as pas non plus donné).
se trouvant idem sur un bord. La différence de leur ordonnées donnera l'échelle sur X, de leur abscisse sur Y.
Enfin l'offset sur X et Y est donné par leur différence par rapport à 0...