# Geometry Nodes: How to grow a perfect honeycomb structure out of hexagons one by one (or three by three or so)

I'm trying to make this honeycomb pattern in Geometry Nodes in a way that I could just click some integer higher and by so construct the honeycomb from center to outwards, so that it would keep the round shape as much as possible.

Like this, but perfect honeycomb: It doesn't have to grow three hexagons at once, one by one is just as good, if not better, actually.

I thought this would've been easy to create...

Hexagons have happened so many times I decided to refine my technique of spawning them. Using the generalized technique of reproducing patterns from here: And the anatomy of a hex from here: You can create a lattice of hexes by making the offset $$A$$ of the horizontal distance between two hexes, which is two inradii (heights of equilateral triangle) $$2r = {2a \over 2} = {2s \sqrt{3} \over 2} = s \sqrt{3}$$, and the offset $$B$$ is the same but rotated by $$60°$$ (other multiplies of $$60°$$ would also work as long as not divisible by $$180°$$): Which for $$s = 1$$ makes for a very simple setup: You can see the horizontal dimension $$x$$ translates to $$x-1 \over 2$$ hexes on either side of the center hex (the dimensions need to be odd for there to be a center hex) horizontally, and $$y$$ translates to $$y-2 \over 2$$ rows of hexes above and below. If you're interested in the vertical dimension, it's $$A+s$$ (largest width + side length) for each two rows in either vertical direction: So for each row, the vertical offset is $${A+s \over 2} = {2s+s \over 2} = {3s \over 2} = 1.5s$$ or you could take the cosine of the $$60°$$ multiplied by horizontal length:

>>> sin(radians(60)) * sqrt(3)
1.4999999999999998


In Geonodes you could also use Vector Rotate node to rotate the horizontal offset and separate its $$y$$ component… Once we have the parallelogram lattice, move it to center, and delete hexes further than some radius (cut out a circle out of it):  For some fancy (dis)appearing, you could realize the hexagons in the base radius, and apply my answer here:

How to make disintegration or dissolve effect from center of the object with texture or geometry nodes?

Or even better, don't realize the hexagons, and delete the points by using the technique in quellenform's answer. For a spiral effect you would just add a Gradient Texture in radial mode. • Wonderful stuff, very useful, thank you! Sep 27 at 10:37

I gave it a try, and it seems to work. There might be room to simplify the nodes further. I've uploaded screenshots of the relevant nodes.      • Wow, there are so good answers here! I would love to click 'best answer' to all of these :) These are very useful, thank you! Sep 27 at 10:35