algorithmic modeling for Rhino

A couple of months ago, I saw this video on youtube and found it really interesting. The video shows exactly what I am trying to achieve in one of my projects, but I have not been able to work out how to do this. I will try and show the different solutions I have tried, and hopefully someone will be able to explain to me how I should resolve it. (controlled circle packing, fixed radii)

My first attempt (see 1st image) shows a random grid of points, of which the ones that fall inside the main circle are deleted.  circles are then drawn around each point, of which the radius is matched to the distance of the next closest point.  This leads to a serious of floating pairs of circles, which are not of a regular size and do not all touch.

I then found these articles on the designcoding website, which were interesting with relation to my project.  When I worked with it, I realised that the circles touch each other, but are not of a fixed radius.  Further to this, it gets significantly more complex when more circles are added, as each has to be added manually.

The prcedent video appears to show an iterative solver, as there are many iterations that move towards the final stage. I know grasshopper is not an iterative solver and so I tried other ways to get the same result.

I then heard about the Galapagos plugin, which sounded promising as it is an iteritive solver. I created two circles, which are moved together until they touch (please see the 2nd and 3rd image).  This works with two circles, but again it gets significantly more complex with more circles.

I have tried many many solutions, but still after months of trying, I have not worked out how to do it!  I would really appreciate it is someone could suggest a way for me to do this!

Views: 22718


Replies to This Discussion

Kangaroo seems suited for that:


Thank you so much Systemiq for your quick reply, I tried to look at your file yesterday, as it is exactly what I am looking for.  I think I might be running a slightly different version of GH (not a personal computer, so cannot update), and so I got these warning messages.  I tried to resolve them, but can't find out what's wrong.

Thank you again!


Create a List Item and connect it like in my screenshot.

hello! I still opened, but there is a problem. You circles are touching, and I do not (do not know what's the matter?

Double click that.

Hi Systemiq 

Would you be able to mimic the "fixed radii + fixed boundary" algorithm as well? I.e. kill off agents exceeding the boundaries 46 seconds in )

I swear I just spent the past hour breaking the script down bit by bit and its so complicated for me. Its lovely to use but am dying to understand all the tools used, why and whats the conceptual reasoning behind each one.

Hi Tom,

Would you please share some examples of "circle packing with interpolated field !" its really appreciated.








  • Add Photos
  • View All

© 2020   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service