Javascript : Calcul de coordonnées
neosqualls
-
neosqualls -
neosqualls -
Bonjour,
Je m'arrache les cheveux depuis plusieurs avec le problème suivant :
http://imageshack.us/photo/my-images/856/calfe.jpg/
Je cherche comment déterminer le nombre de case sur X et sur Y entre les deux carrés rouge (en gros les cases en bleues).
C'est plus compliqué qu'il n'y parait, la difficulté vient de la numérotation des cases ...
Merci par avance.
Je m'arrache les cheveux depuis plusieurs avec le problème suivant :
http://imageshack.us/photo/my-images/856/calfe.jpg/
Je cherche comment déterminer le nombre de case sur X et sur Y entre les deux carrés rouge (en gros les cases en bleues).
C'est plus compliqué qu'il n'y parait, la difficulté vient de la numérotation des cases ...
Merci par avance.
3 réponses
-
Rien ne t'empêche de considérer implicitement une autre numérotation des cases.
Par exemple, pour chaque case (x,y) de ta numérotation actuelle tu considères la numérotation (X,Y)=(2x+y%2,y).
Avec cette nouvelle numérotation, il est facile de voir que pour aller de (X,Y) à (X',Y') il faut max(abs(X'-X),abs(Y'-Y))-1 cases bleues. En repassant dans la numérotation initiale cela donne donc : max(abs(2x'+y'%2-2x-y%2),abs(y'-y))-1
Exemple de ton dessin, (x,y)=(0,1) et (x',y')=(3,3) :
max(abs(2*3+3%2-2*0-1%2),abs(3-1))-1=max(6,2)-1=5
Il ne te reste plus qu'à comprendre, vérifier, et traduire en JavaScript... -
est-ce que ceci http://cjoint.com/data/0KxxnqITeLB_calcul_de_coordonnees.pdf peut t'aider à résoudre le problème ?
-
Salut neosqualls.
j'ai une proposition de solution, mais son accessibilité dépend fortement ton niveau de connaissance en théorie des graphes. En as-tu déjà entendu parlée ? L'as-tu déjà abordée ?
-------------------
Cordialement