Grasshopper

algorithmic modeling for Rhino

Can someone help me to create algorithm for randomly circle packing on the 2D surface?


This algorithm could be a good basic point but VB code won't work on my configuration (Rhino SR9 + Grasshopper 0.9)

http://www.grasshopper3d.com/forum/topics/circle-packing-1

In any case, i need a posibility to define diameters of circles (0.1 mm resolution) and, for each diameter, how many circles i want to be used for calculations.

For example. 3 circles from 4mm, 5 circles from 2.5 mm, 7 circles from 2.1mm and rest of the surface to be filled with 1.3mm circles...

In some cases i will use maybe 3 or 4 different diameters, in some cases maybe more than 10.

But mostly will be from 3 to 10 different diameters.

Also, it would be great if i could predefine positions for some of the circles. Mostly for greatest diameters.

Thank you and sorry for my bad english...

Views: 14299

Replies to This Discussion

It's worth defining exactly what you mean by a circle packing.

Is it just that you want no 2 circles to overlap, and to fill the surface without too many large gaps ?

Or is it important that the circles should be tangent to one another ?

Here is a simple example with Kangaroo that uses collision forces between spheres of chosen radii to distribute points across a surface, also giving you the option to fix some centres.

(This is also a nice example of the usefulness of the new 'strictly diagonal' option in the cross-reference data matching component)

see also these threads:

http://www.grasshopper3d.com/forum/topics/circle-packingflow-along

http://www.grasshopper3d.com/group/kangaroo/forum/topics/packing-ci...

Attachments:

By pure chance, this friday I was teaching how to use Kangaroo and was doing a circle packing exercise. It occured to me on the spot to use cross reference with strictly diagonal instead of the usual way i did it. First time I used the component.

Thank you very much. Your solution is close to final one. I was forgot to mention in last massage that also must be a possibility to control gap between circles with tolerance of 0.01mm. Usualy is about 0.05mm. Maybe you have some other solution in approach. I can better explain with some pictures what i need to realise in practice.On pictures are 3d surfaces but i work only with 2d surfaces.

Hello Daniel, Im new in Grasshopper, and Im trying to make a circle packing in a 3D surface...

I have 7 sizes of circles (1400, 1200, 950, 750, 600, 500, 400, 200)... Im trying to do something similar as yours, but I can't figure it out where to add more circles and where to manage that they do not overlap, and I need them to be like 60 tall.

hope you can help me with this. 

Thanks, Paola

Attachments:

RSS

About

Translate

Search

Photos

  • Add Photos
  • View All

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service