Curve attractor gradient with fixed sizes and fringed transition

Dear swarm intelligence,

I´m trying to create a Pattern for a CNC - drilled Facade with grasshopper.

So the first thing is to create a grid within a fixed distance between the point centers and fill it with circles with a defined Radius, complication is that the grid is not allowed to touch the frame of the bounding box. This is already solved.

The next step is to variate the size of the circles though a curve or point attractor, nothing special too.

But now the tricky part where i got stuck today:

1.: The gradient circles are just allowed to have a fixed number of different sizes to define which drill or stamp the facade planner has to use.
For example 5 Sizes like: 2cm, 1.5cm, 1 cm, 0.5cm and the last is 0cm or no hole.
No hole is easy to do by “cull items below 0.5 size” but how do i force the other circles to not scale in gradient radiuses? And how can I control the range of the different gradient steps?

2.: The other point is that a perfect gradient with a limited number of variations often looks like s**t, so i need to fringe the transition from for size X to size Y in a way that looks randomly but is controlable for composition.

I made a sketch to visualize my Idea:

Another Variation would be using a Background-picture for a Halftone-look instead of an attractor, where the fringe maybe would be unneccessary.

If you have and Idea how i could solve this dont hestitate to tell me :wink:

Kind regards,


You could try Floyd-Steinberg Dithering ?

or make some random flip between adjacent circles ?

With an image like that (the little one)

Here is a way to randomize a bit the drawing
The not discret gives that

Discret without random

Discret with some random

Full random

random circle (14.4 KB)