Манхэттен Расстояние между плитками в гексагональной сетке

Для квадратной сетки евклидово расстояние между плитками A и B равно:

distance = sqrt(sqr(x1-x2)) + sqr(y1-y2))

Для актера, вынужденного двигаться по квадратной сетке, Манхэттенское расстояние является лучшим показателем фактического расстояния, которое мы должны пройти:

manhattanDistance = abs(x1-x2) + abs(y1-y2))

Как получить манхэттенское расстояние между двумя плитками в гексагональной сетке, как показано красной и синей линиями ниже?

enter image description here

21
задан Elliott 10 April 2015 в 13:10
поделиться