Благодаря этому сообщению: шестиугольные плитки и находя их соседних соседей , я могу собрать соседние плитки к данной плитке. Но я в значительной степени застрял в алгоритме, который дает мне только «кольцо» плиток, указанных смещением. Алгоритм, приведенный в этом посте Stack Overflow, не совсем заботит порядок, в котором он собирает тайлы.
Я знаю, что с каждым смещением добавляются 6 плиток.
- Смещение 1 дает вам 6 плиток (первые смежные плитки).
- Смещение 2 дает вам 12.
- Смещение 3 дает 18 и т. Д.
Существует постоянный рост 6 с каждым смещением. Поэтому я предполагаю, что должно быть правило, которое адаптируется к этим смещениям. Я не могу точно понять это. Кто-нибудь?
источник
Я нашел эту статью очень хорошим справочником по алгоритмам гексагональной сетки, а ее раздел «Расстояния» предоставляет метод для определения количества шагов между двумя тайлами. Если вы конвертируете осевые координаты (xy) в координаты куба (xyz), расстояние всегда равно наибольшему из смещений координат между двумя плитками или max (| dx |, | dy |, | dz |).
источник