Circle packing - with gradient

I’m trying to achieve a pattern (see below).
I see that there are similar posts about circle packing but they vary in size, so not what I’m looking for. (P.s. I’m a beginner so preferably no plugins)

Would somebody be able to show me how to inscribe all the circles (without overlapping) in the rectangular box? I have only managed to sort the size of circles in relation to the y-axis.

I have attached the file as well. Thanks for your help!

Circle pattern.gh (20.0 KB)


CircleGradient_re_V1.gh (13.3 KB)

3 Likes

Aha @HS_Kim was quicker :slight_smile:
I’ll post mine anyway as a slightly different way


circle_rows.gh (9.6 KB)

2 Likes

And a reference discussions

1 Like

I knew I remembered seeing something like this on here before, but didn’t find it on a search - too many different circle packing discussions!

Thank you both @HS_Kim @DanielPiker!

I’m just wondering if I can increase the rows of circles within the set boundary?
Or is that completely different?

Thanks! I’ll have a look too

The ‘Count’ slider in that definition controls the number of rows.
You can’t have the circles exactly fit both horizontally and vertically in this approach, because for the circles to fit the bounds horizontally the number on each row needs to change by a whole number as you go up. The number determines the radius, so you can’t vary the total height arbitrarily.

I guess you could generate the maximum number of rows that fit within the total height, then if you wanted to match exactly the top and bottom, distribute the remaining difference as a small gap between the rows.