"perfect" grid with nice boundary

relaxing the mesh helps, (a bit)
quadmesh output:



quad mesh + the dual mesh of itself gives a nice result but fails at the “corner”:

Some years back I made a lot of perforation patterns for Volkswagen/Bugatti and it indeed has always turned out to be a difficult job. I think an ellipse is a rather simple example because you can break it down to 4 edges, two of them equally sized, which makes it rather easy to fill up. Reality isn’t like this. The B&O example and the speaker below is by far the best, because from my experience the most important aspect is eye floating (don’t know if this translate right). Basically you don’t want any stop in the pattern. Therefore a perforation based on curves almost always yields best results. You always read the perforation as a dotted curve. A relaxed mesh returns equally spaced points, but has many directions, indicating something is not working right. jagged edges are usually more acceptable, if it follows some sort of regularity.


a bit better if you suppress the corners. But still I don’t quite like it as it is more difficult to ‘read’.



A very interesting topic,

There are many possible ways to relax these distributions – beyond just treating edges as springs.

As several people have pointed out, the flow of the curves can be more important than the spacing, so sometimes it makes sense to use bending along grid lines to keep them smooth.

Also, making any changes in edge length more gradual across the grid can help – so equalising concurrent segments along the grid directions.

The hardest part is often selecting the right topology. Internal irregular vertices tend to draw the eye, which we often want to avoid.

However, if we don’t have any internal valence 2 or 3 vertices, to meet a smooth boundary curve we need to either chop some grid cells diagonally at the boundary, or have some valence 2 corners, which tend to cause some bunching up around them.

If cutting cells diagonally, there are then various ways to treat the relaxation differently at the boundary to get the spacing nice.

Here are a few variations

dotdistribute.gh (36.7 KB)


Actually this picture hints a good trick when edges can’t be achieved well. You truncate or encapsulate the pattern with a visual gap or extrusion of similar diameter. Building a fake component-separation always increases the visual quality for free.

are you allowed to share some images of that?

1 Like

One advantage of using a triangular grid instead of quads is that you can turn corners with a smaller angle in the regular grid (multiples of 60 degrees instead of 90, or 30 instead of 45 if allowing half cells), so when relaxing these corners onto a smoothly curved boundary they cause less bunching and distortion.

dotdistribute_triangles.gh (36.0 KB)


the first one is quite nice!

but would it meet the bugatti-standart? :upside_down_face::wink:

I think there’s still room for further improvement, for instance here’s the effect of adding some bending resistance to concentric rings of edges towards the boundary, which reduces the squeeze at the ends visible in the third one above.


nice but smaller dots makes the eye more forgiving, so to test if this really works it should be displayed with dots that are at least as large as their spacing.

1 Like

I agree - a stipple of tiny dots is much less revealing of the irregularities in a grid than a packing of tangent circles centred on the same points. It depends on the application which one is more relevant

I don’t think I’m allowed to share, but I also simply don’t own images of that work. That question is actually not so easy to answer.
Between 2013 and 2016 I made a couple of Dynaudio and Fender Speakers for Volkswagen, seats and other interiour parts, many concept cars and concept part. You can google for them, but only a small percentage of that work will ever be seen by public. And guess what, the boring stuff won way to often.:woozy_face: Since 2012, Grasshopper is broadly known at VW Design, fighting with many prejudices. So many of this work was rather experimental, keeping up with new technology. And many things you see, look like Grasshopper, but are made with Catia or completly manual drawn in Alias or Icem Surf. Don’t underestimate cheap design contractors from oversee :wink: :man_facepalming:

In 2015 I switched to exteriour where I first fully introduced a way to create generative parts up to production quality. I made every generative exterior pattern of the PoloGti, GolfGti and Jetta Gli (which just came out recently). These 3 cars alone had at least 3-4 years of full design development. One of my most difficult perforation job was a full dashboard cover for a Phaeton, which was never presented to public, since the car was stopped, same as many other cars later during the diesel gate. I think you will see more generative parts in the near future, since it slowly begins to be an accepted tool, and designer becoming better with it, but I’m out of this anyway, doing GH for hobby only.

And to be honest with you guys, after doing at least 10 of these cheese grater, I wonder if you guys would find the job very exciting. I can only demotivate you all becoming good at it, because otherwise you might be the idiot doing it… :smile:


Perf patterns are tough, period! And it’s never an idiot doing it. (I got the ironical humor though…:wink: )

Perf patterns are critical to products requiring aesthetics since they can be “make-or-break”…in that they impart such strong visual influence, especially when deployed prominently, such as the chair example above. Hard work!

Excellent topic OP, and @DanielPiker…you’re always a technical inspiration! Thank you!

The problem with any pattern done with Grasshopper is, that its actually fun and indeed intellectual challenging to create algorithms and working out multiple mapping strategies.
But from my experience this is about 10% of all the work involved , the rest is applying to frequent changes , proving feasibility and optimisation until perfection. This rest (the 90%) is what nobody tells you about until you experience it for yourself. I personally found this quite boring, after doing it dozens of times. :confused:
Me and my workmates actually tried to rotate on doing perf patterns for this reason back in the days…

1 Like

I agree. I think because it makes the stepping at the ends look consistent with the long sides.

I think this could look very good but with manually deleting one point at each corner

Edit: like this "perfect" grid with nice boundary

How about a slightly more complex shape?