enter image description here

Been trying to achieve this hexagon pattern, but luck so far. I have tried to use blending modes and also making a brush out of the pattern but keeps coming out very irregular.

How can i approach to create this hexagon pattern with the rotation and size offset?

3 Answers 3


Straight lines and the gaps, which thicken uniformly towards the edge give 2 hints:

  1. The hexagons touch nothing. One should calculate (or program his computer to calculate) their sizes, geometric forms, orientations and places for a perfect result. Probably the gaps between the hexagons are actually drawn instead. It's much easier to draw and orient the gaps, because they are a contiguous structure which can be built of pieces and the pieces can overlap with no harm. That gives much extra freedom and tolerance against inaccuracies.

  2. It can be drawn in a traditional way by using a pen, a ruler, a compass and a protractor and by filling the colored areas after their outlines are constructed. Of course, one uses today graphic software due its superior speed and accuracy. But as a theoretical construction problem the case is elementary.

If the hexagons still are needed as separate filled shapes one can combine all splinters of the gaps to a Boolean union and subtract it from a solid shape.

Let's start the construction with few drawings:

enter image description here

This is drawn in Inkscape. No effects are used, so those who can access Illustrator can follow at least as easily as Inkscape users.

Figure 1 is an ordinary hexagon. It is rotated to have 2 horizontal sides and converted to path. That's doesn't mean expanding in Illustrator terms, it's only converting from SVG polyline to Bezier curve. Illustrator makes polygons as paths by default.

I use the hexagon as a guide. It must be distorted to get the wanted midline of a gap.

In figure 2 the hexagon is split to pieces at the corners. The top and bottom sides are rotated +9 and minus 9 degrees to fit the hexagon inside a 18 degrees wide sector. That 18 degrees come from the fact that I am going to tile 20 (a random selection) hexagons along a full 360 degrees circle. That gives 18 degrees room for one hexagon.

The blue extensions of the tilted sides cross at point P. That's the center of my tiling circle. The circle itself is not needed, we use only its center. To keep sure the center do not vanish later the purple line is inserted to mark the center.

The loose part (red) of the split hexagon is useless and can be deleted. It has wrong size and angle. It could be scaled and its right corner angle maybe could be calculated, but no need to do it. The red part is redundant, because the next (wider) ring of gaps would cover it. Fig.3 contains what's actually needed

The tilted edges of the hexagon are also redundant, because they overlap. One edge is enough. It must be a wedge because the gaps should get wider when the distance from the circle center increases.

I decided (again randomly) the gap should be in a 1,2 degrees wide sector. To get it I made 2 new markers - one is the gap midline marker rotated +0,6 degrees and the other is rotated -0,6 degrees.

The leftmost edge of the hexagon is stretched proportionally a little longer because it must cut the whole upper gap.

The 2 leftmost sides of the hexagon must be thickened to have widths, because they are only the midline of the gap. The left side gap also should grow thicker from the middle towards the upper and lower corners. In this phase I cheat and use a constant width.

The next image is drawn to show how I got the wanted thickness for the left side gap:

enter image description here

The orange circle is drawn to fill the upper gap at the crossing with the left side gap. It's diameter is used to draw the width for the left side gap.

2 copies of the left gap midline are inserted. They are moved leftwards and rightwards to kiss the marker circle.

The purple line segments are inserted because I wanted to try the shape builder to create the final drawn gap. The next screenshot is from Inkscape's shape builder:

enter image description here

It's so simple that as easily one could draw it by clicking with the Bezier curve tool on the corners. Snapping ensures the result is exact. The next image shows the final gap or what's actually needed of it. It's a closed shape with black fill and no stroke:

enter image description here

Now 19 copies of it must be inserted, each rotated 18 degrees more around P:

enter image description here

In the left 19 copies are inserted. In the right all 20 pieces are combined to one (Path > Union) and a 9 degrees rotated copy is made for the next ring. The copy must be stretched proportionally and centered (hold Ctrl+Shift) to snap with the original:

enter image description here

In the left the stretching is done.

In the right: More rings can be added by duplicating both of the first 2 rings and by dragging them proportionally centered to a bigger size. No more rotation is needed. They must be dragged without snapping to a nearly right size and then with the snapping to the final right size.

The result resembles one given in an earlier answer, but it's not the same. The cheated widths of the rotation center sides of the gaps make my version weaker.

Another method

A good result can be got also with high resolution raster images. Those who have bothered to stay awake in the school during the math classes and still can remember such things as analytic geometry, trigonometry, complex numbers, etc... can write in Krita or GIMP a transform which converts the common hexagon plane filling pattern to polar coordinates - not in the simplest way, but so that local geometric forms stay. I just tried it. Unfortunately the images do not have negative coordinates, so only a quarter of the circle was easy to do. But 3 rotated copies could be inserted. Here's the quarter before and after transforming to polar coordinates:

enter image description here

Here teasing people with math formulas is begging downvotes, so I'd rather explore other ways.

The most obvious method in Illustrator is to use a hexagon as a pattern brush. I bet numerous persons have tried it and got something, like this:

enter image description here

A hexagon is dragged to the brushes and applied to a circle. The hexagon is expanded, it has no stroke. In this way the adjacent hexagons join nicely to each other. The hexagons only are a little curved, but that can be fixed easily by expanding the appearance and applying Object > Path > Simplify > Straight lines, 0 degrees angle tolerance. The hexagons are still distorted to fit into a sector 360 degrees divided by the number of the hexagons in one ring. This result has is got when the full ring contains 24 hexagons. The green sector is 15 degrees wide:

enter image description here

Inserting the second ring reveals the impossibility. The angle between 2 adjacent hexagons in the same ring is so much reduced from 120 degrees that the rings do not fit: enter image description here

There's an ugly hole which is too big to be covered nicely with a slight overlap. In addition the the 3 branch area between 3 white hexagons is harmfully much asymmetric.

One possible fix is the same as used in my first example: Remove the whole upper edge from the brush. The bottom edge should be wider to cover the gap between adjacent rings. Here's the making of such pattern brush:

enter image description here

The brown rectangle is used to intersect. Exactly a half of the vertical sides of the hexagons are removed. The result with this brush (after straightening the curved sides) is essentially the same as in my 1st example, but maybe achieved a little easier.

Another possibility is to use a full hexagon as a brush, but fix at first the top corner angle. It's useful, because angles a and b are still quite close the original 120 degrees. We can fill the gap nearly completely by making in our original hexagon the top corner angle a slightly smaller than 120 degrees. The final fix is to let the rings to overlap a little. A fast calculation shows that the right top corner angle should be 120 degrees minus the sector width of one hexagon in the ring. It's tried in the next image:

enter image description here

A. The red lines are a little stretched copies of the halves of the upper side and rotated 7,5 degrees to get the 15 degree reduced top corner for a 24 hexagons ring.

B. The new hexagon is formed with the shape builder. The shape is still stroke-only with no fill.

C. An offset path is inserted. The offset is 50% of the wanted gap width

D. The outer shape is filled with blue and the inner path is grey. The strokes are removed.

Applying the brush to a circle, expanding the appearance, straightening the curves an inserting a second ring gives this:

enter image description here

The edges of the rings do still not fit exactly, but the needed overlap (eyeballed) to fill the holes is only about 10% of the width of the blue area. This kind of fine tuning is not needed, if you want only the grey areas and finally delete the blue areas which are the gaps. You can well stretch the outer ring so that it snaps. See NOTE1.

More rings can be inserted easily by duplicating both rings and stretching them both at the same time. Eyeballing is not a must. Large areas can be made by applying scale with copy. This can be repeated by pressing Ctrl+D. The scaling percentage is 160,966%. I measured it from the eyeballed result.

enter image description here

NOTE1: The blue areas are actually the gaps between the originally wanted hexagons. Select one, select the same fill color and press DEL to get rid of them.

  • @tapesmoke- Nicely done ! I like your way of looking at this and figuring out how to do it.
    – Kyle
    Commented Nov 5, 2023 at 4:01

Someone may come along with a more automated method, which I'd be interested in.

I created a simple Pattern Brush, only using a middle piece - since there won't be any corners on circles.

enter image description here

Note the hexagon rotation in the brush. Hexagons are rotated 90° from what Illustrator draws by default with the Polygonal Tool.

enter image description here

The Add Space to Fit option was necessary.

Then a series of circles with the brush applied.

enter image description here

Make certain Sale Strokes and Effects is checked.

Draw one circle, apply the brush.

  • Copy then Paste in front
  • Scale up and rotate.
  • Repeat

The degree of rotation could probably be worked out mathematically - it's likely something related to 50% of the hexagon width - but I'm just not into the math right now.

I manually rotated each new circle until it essentially aligned. I'm aware this is not "perfect". But that all comes does the degree of rotation and scale. Because strokes are set to scale, the pattern increases in size as the stroke scales.

enter image description here

Keep repeating and getting larger hexagons until you are happy.

The reality is, once you have 2 circles, you can copy those two circles, paste in front, and then merely scale. Then you have 4 circles, copy those, paste in front, scale. You then have 8 circles. Copy those, paste in front, scale. Keep repeating and you can construct a pretty large area like this rather quickly.

enter image description here

Again, this is all rotated and scaled by eye, so it's not mathematically perfect. For anything I'd need to use it on the minute discrepancies in the spacing/rotation would probably not be a concern. In fact, I personally often prefer these minute variances to avoid an "overly digital" appearance.

Select all then Object > Expand Appearance to have the hexagons as objects.

  • why not make the brush multi row?
    – joojaa
    Commented Nov 2, 2023 at 16:30
  • I just realised I had an older version of AI that didnt have these options when creating a pattern. Thank you Commented Nov 2, 2023 at 16:37
  • eesh how old? Because I'm using Illustrator CS6. You'd have to be using a version earlier than that to be missing any of the options I've used.
    – Scott
    Commented Nov 2, 2023 at 16:47
  • @joojaa Perhaps I'm missing something.. multi-row brush is possible however, because of the distortion you can only use 1 stroke/instance. You can't copy and scale like I've done in the answer. And the size of the hexagon circle is limited to how tall the brush artwork is. So if you want a really large area, you'd need a really tall brush. By using 1 row for the brush, It's easier, at least to me, to create as large of an area as I want.
    – Scott
    Commented Nov 2, 2023 at 16:49
  • Also.. with a taller brush I start running into scaling glitches (at least in the version of AI I'm using) with no readily apparent way to fix them in the brush itself.
    – Scott
    Commented Nov 2, 2023 at 16:59

The already shown Brush & Copy& Scale & Rotate idea is quite close, but it can be improved to avoid conflicting angles. Also the gaps can grow smoothly, there's no gap width steps between different radius rings. A slight modification to the process gives this with very little extra effort.

enter image description here

The hexagons are still quite irregular, but the irregularity is the same for every hexagon. There's no need to eyeball a compromise between conflicts.

(to be continud later)

  • 1
    Agreed. How did you solve it? Commented Nov 2, 2023 at 16:38
  • 1
    You shouldn't reference other answers in your answer most of the time - there's no telling if other answer will change or disappear in the future. If you have another method, just post it. 😀
    – Scott
    Commented Nov 2, 2023 at 17:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.