Ta distance de Manhattan, c'est juste la distance entre les tuiles selon les axes d'angle (Pi / 6)
Je n'ai pas encore cherché la simplification de la formule, je mettrai ça en ligne après manger.
Je maintiens que rajouter des dimensions, c'est (comme quand on rajoute des dépendances), amener de la complexité inutile.
Je ne sais pas où tu as vu qu'on appelait ça des "coordonnées axiales"; à part dans cet (obscur) article, ce terme n'est pas approprié. On parle tout simplement de redondance. D'ailleurs, pourquoi vouloir conserver ce "z" à toute force, plutôt que de juste le remplacer par sa valeur (x;y)?!
Puis bon, niveau utilisation des index, on est quand même mal barrés...
T'es loin de m'avoir convaincu...
(tu peux me nommer, perso, je préfère, je déteste l'approche du "y'en a qui disent que/qui devrait/qui ceci cela" sans nommer. Ca ne fait pas avancer le schmilblik. Bon, là, ok, c'est obvious, mais perso, je préfère largement le nominatif explicite au nominatif caché)
PS: si ton modèle est un graph, c'est à dire une liste de tuiles (qu'importe la forme) avec les liens entre elles, la distance de manhattan se calcul trivialement en partant de la tile de départ, puis en ajoutant +1 à chacun de ses enfant et en réitérant, sans revenir en arrière. C'est le modèle le plus bateau et efficace quand t'as la carte en mémoire
Code :
const d = Math.sqrt((du * du + dv * dv) / 2.25) * Math.cos((Math.atan2(dv, du) + 2 * Math.PI) % (Math.PI / 3) - (Math.PI / 6));
Je n'ai pas encore cherché la simplification de la formule, je mettrai ça en ligne après manger.
Je maintiens que rajouter des dimensions, c'est (comme quand on rajoute des dépendances), amener de la complexité inutile.
Je ne sais pas où tu as vu qu'on appelait ça des "coordonnées axiales"; à part dans cet (obscur) article, ce terme n'est pas approprié. On parle tout simplement de redondance. D'ailleurs, pourquoi vouloir conserver ce "z" à toute force, plutôt que de juste le remplacer par sa valeur (x;y)?!
Puis bon, niveau utilisation des index, on est quand même mal barrés...
T'es loin de m'avoir convaincu...
(tu peux me nommer, perso, je préfère, je déteste l'approche du "y'en a qui disent que/qui devrait/qui ceci cela" sans nommer. Ca ne fait pas avancer le schmilblik. Bon, là, ok, c'est obvious, mais perso, je préfère largement le nominatif explicite au nominatif caché)
PS: si ton modèle est un graph, c'est à dire une liste de tuiles (qu'importe la forme) avec les liens entre elles, la distance de manhattan se calcul trivialement en partant de la tile de départ, puis en ajoutant +1 à chacun de ses enfant et en réitérant, sans revenir en arrière. C'est le modèle le plus bateau et efficace quand t'as la carte en mémoire