Irregular hexagon tesselation

Hi! I am trying to do something like this, but I have not many ideas on how to start. It look voronoid-ish, but I need to have hexagons with 6 sides all the time. Any suggestions on how to start?

Your in luck, flow! Check this out:

Hey diff-arch, thanks for the reference! That post is actually asking something very different though-- how to create a tiling of different shapes. Flow23 is trying to find out how to create a tesselation of identical irregular hexagons. (And so am I, which brought me here.)

I took a look at the disorded hexgon tessellation file, but it didn’t seem to point in the right direction. Do you (or anyone) have any ideas on how to approach a tessellation of identical irregular hexagons?


Can you sketch what the expected result should look like?

It’s exactly the screenshot that Flow23 posted originally:

If you click the link to the site, it will take you to an interactive graph of monohedral tessellations.

For type 3, the rules are as follows:

A = C = E = 120 (every other angle in the hexagon is 120 degrees)
a = a’ (the sides adjacent to angle A are congruent)
c = c’ (the sides adjacent to angle C are congruent)
e = e’ (the sides adjacent to angle E are congruent)

Still not sure what you mean with identical irregular…

Not at my computer but what happens when you take a regular triangular mesh, deform it randomly and then use the weaverbird dual graph component?

You could probably also create a regular hexagonal mesh and move the points randomly…

Meaning of identical irregular:

  • irregular: that the unit shape does not have all the same angles and sides, as a regular hexagon would
  • identical: the tessellation is made up of many copies of the same shape

tesselation: an arrangement of shapes that cover a flat surface without gaps or overlapping.

If you look at the image above, you’ll notice that all of the shapes in the tessellation are identical, even though they are irregular.

The issue with deforming randomly is that the resulting irregular shape probably won’t tessellate.

You could probably also create a regular hexagonal mesh and move the points randomly…

This is what the referenced file does, but it’s not what I need. All the shapes are different.

Oh ok I see that now…

Yay, thanks!

Any ideas?

something like this?

Cant share code to above image, but it is not as hard as you think, suggest you look for different ttransform / sporph methods…

Do the hexagons need to maintain area and keep edge length within bounds? can be done with k2 for sure!

A Kangaroo definition can be set up according to the sketch in the first post. I’ve only looked at type 3 so far.

My definition uses the Grab component to drag one corner away from its original position.

Angles and lengths are kept equal with angle goal and equal length goal.

The arrays are defined with lines which in their original length and orientation would create the arrays of three regular hexagons into a semaless pattern. The lines get transformed with the solver according to the point which is dragged… (33.3 KB)


This looks amazing! Thank you, Martin!

1 Like
1 Like