Formula for the points in a grid of hexagons. Say I fill up the plane with regular hexagons whose side is distance 1, all packed together. Is there a formula or a pattern that gives all points? I let the $(0,0)$ be the center of the first hexagon, and the first six points are easy $(1,0),(-1,0),(1/2,\sqrt{3}/2),(-1/2,\sqrt{3}/2),(1/2,-\sqrt{3}/2),(-1/2,-\sqrt{3}/2)$. Now can each other point be extended from those? It is easy to handle moving sideways since all we have to do is just add one to the $x$ coordinate each time. But what about moving upwards? Thanks in advance.
 A: All hexagon center points are at points
$$(3n,m\sqrt3) \tag{1}$$ and
$$\Big(3(n+\frac12),(m+\frac12)\sqrt3\Big) \tag{2},$$ while all hexagon vertices are at $$(3n\pm1,m\sqrt3) \tag{3}$$ and
$$\Big((3n\pm\frac12),(m\pm\frac12)\sqrt3\Big), \tag{4}$$ where $\,n,m\,$ are any integers. This comes from the center points triangular lattice being the disjoint union of two orthogonal lattices and the hexagonal
vertices grid being the disjoint union of four
orthogonal lattices, with all six of the lattices given explicitly above. Also notice
how each hexagon has six vertices shared among three adjacent hexagons.
A: I find it easier to think in terms of complex numbers.
If the center is $(0,0)$ and the hexagon has side $1$, then the other  hexagons are integer translations of the central hexagon by $1+\omega$ and $-2+\omega$, where $\omega = \cos(60^\circ)+i \sin(60^\circ)$.
The centers of the hexagons are thus 
$$
m(1+\omega) + n(-2+\omega) = (m-2n)+(m+n)\omega
$$
Each center has exactly one such representation.
The vertices are the translations of the points $1$ and $\omega$ by a center and are thus given by:
$$
1+c, \quad \omega+c
$$
where $c$ is a center.
Each vertex has exactly one such representation.

