Python library to work with hexagon grid geometry.
Hexometry is a Python library to work with hexagon grid geometry. Some ideas of having x, y, z coordinates for hexagon grid are taken from this article by Jasper Flick.
Particulary this image gives a good idea of a choosen coordinates for hexagon grid:
This library has no dependencies apart from python stdlib, but it requires Python 3.11 or higher. There is no problem to make it work with Python 3.7 — 3.11, but the original intention was to try fancy features of modern Python.
pip install hexometry
from hexometry import Coord, Direction, Route
c1 = Coord(0, 0)
c2 = Coord(2, 3)
print(f"Coordinates {c1} and {c2} on a field are {c1-c2} hexes away each other")
route = c1 >> c2
print(f"and the route between them are: {route}. Let's traverse it:")
coord = c1
for direction in route:
coord += direction
print(f"moving {direction.value} to {coord}")
assert coord == c2
print("here we are")