Я хочу сгенерировать шестиугольную сетку в океане для поиска кратчайшего пути.
Networkx предоставляет lattice.hexagonal_lattice_graph , который генерирует граф, узлы и ребра которого представляют собой шестиугольную мозаику плоскости.
Однако я не хочу искать по краям шестиугольников, но я хотел бы рассматривать шестиугольники как узлы, а 6 смежных шестиугольников как соседние узлы. Таким образом, есть 6 направлений поиска от узла, как показано на этом рисунке .
Чтобы применить это к проблеме маршрутизации корабля, я бы сгенерировал такой график для Земли и исключить все шестиугольные плитки внутри наземных многоугольников и разделить шестиугольники, пересекающиеся с границами наземных многоугольников, на более мелкие шестиугольники, создавая более высокую плотность графа в прибрежных областях.
Как мне создать такой шестиугольный мозаичный граф, чтобы каждый узел имеет ребра в шести направлениях с Networkx?