I'm currently trying to define a function which has the same symmetry as a planar hexagonal lattice. For a quadratic lattice the solution $f(x,y) = \cos(x) + \cos(y)$ is quite simple but I wasn't able to modify it to really fulfill the desired properties.
My current "best" solution is $f(x,y) = \cos(x-\frac{1}{\sqrt{3}}y) + \cos(x+\frac{1}{\sqrt{3}}y)$. As can be seen in the attached image, this results in function maxima at every lattice point but the function does not have the desired rotation and reflection properties. Does someone know the solution to this problem or if this is even possible? Right now I have the feeling that the approach of combining two cosine functions does not work as the directions necessary are not orthogonal and the function maxima therefore not circular.
PS: The example in the image uses a Radius of $2\pi$
Check out the book by Frank Farris on Fourier series and wallpaper patterns. It has everything you need to know and beautiful pictures too. The basic mechanism is to average any lattice-periodic function over the finite group of additional symmetries you wish to obtain.
P.S. If you wish to avoid complex numbers, you can represent the symmetry operations on the lattice by unimodular 2x2 matrix operations on a pair of lattice generators, eg. $(e_1, e_2)\to (e_2, -e_1+e_2)$ has order 6 and models a rotation through 1/6 of a full revolution. Iterating that operation gives you 6 distinct results. You could apply that directly to $f(x,y)=\cos x +\cos y$ for example by
substituting $(x,y)\to (y, -x+y)$ into $f(x,y)$ and do all iterates as well. Iteration is the same as matrix multiplication.
Creating Symmetry: The Artful Mathematics of Wallpaper Patterns