Grasshopper

algorithmic modeling for Rhino

Hi yall

I have searched the forum but have found no answer. I have a quite simple task to achieve: I would like to "circle pack" the facade building according to the silhouette of a tree, or some other image. Anyone knows a simple way to do that? Thanks in advance for your help.

Best regards

Thomas.

PS: It's pretty much exactly what the images below describe actually.

reference image

result

Views: 15348

Replies to This Discussion

It is actually not exactly what I'm looking for; I'd like the basic shape of the branch to generate the perforation, but I'd alos like to have a scalling of the circles according to the distance to the branch. I'd also like to set a minimum and maximum radius to the circle. That's a lot of rules to set for my limited skills, but I figured I might as well ask you guys, just to make sur I'm heading in the right direction.

The image looks exactly like a nested voronoi (Voronoi Groups):

But if you want to pack any shape it is not simple at all, brute force example without many optimizations (stupid algorithm inserting, rotating and scaling randomly):

And if you want to pack circles into shapes, you can use Kangaroo:

Thank you very much Systemig.

I'll take a look at kangaroo then. But the concept seems a bit different from what I was lloking for, since the distiribution of the pattern is not logically related to the originating grid. To make things clearer, here is an image of my "distribution object":

So i as I said in my first reply to my own post, I'd like to distribute the circles (or the pattern whatever it would be) so that the scale of the circle grows bigger the further away it goes from the "branch" of the tree (the branch itself being pattern empty).

Do you think Kangaroo would be able to do that? Most of the exemples I've found give solution to fill a closed shape, but that's not quite what I'm looking for...

Thanks for your help anyway

Regards

Thomas

I would make an heterogeneous point distribution with the tree as attractor: more points near the branches.

Several approaches to do this, simplest is beginning with a very dense set of points (grid or random) and cull the points considering the distance to the tree.

Then use the points in a voronoi and calculate the circles inscribed in voronoi cells.

The circles won't be packed very well, so Kangaroo could be used to refine the result.

Or directly use the points as seeds for Kangaroo and let it modify the radii and locations of circles (maximize the radii without intersections and constrain the centers near original location).

Pas simple en tout cas.

Simple example (without Kangaroo optimization) made with Lloyd's algorithm

Voronoi cells calculated from your image, with Daniel Piker's definition, circles calculated from cells "centers" and radii from min distance from centers to middle of edges.

Wonderful work Yannes!

My name is not Yannes =)  (but the first letter is right).

Oh I forgot, the branches being pattern empty is easy by culling circles, and I suspect Daniel would have some nice suggestions for this problem, working with meshes in mind would give nice packing: http://www.grasshopper3d.com/photo/circle-packing-1

Though with lot of elements, Kangaroo would struggle and some optimization would be needed (springs acting locally only, for example).

Terribly sorry Yoann,
Hope I did not insult you?
I guess it has something to do with this after midnight work and checking grasshopper's forum at the same time.

My apologizes once again.

No problem Georges, this is not the end of the world !

You should have told me that yesterday. :)

Hi Systemig

Thanks a lot for your help. It is not exactly my original goal, but it looks interesting anyway. Did you just start with Lloyd's algortithm and generated this result? Or did you modify it a little? If so, would you care sharing the GH definition with me so that I can see if i can improve it in the direction I 'm seeking?

Thanks anyway, and happy new year to you and all the readers of this thread!

Hi Systemig

So I managed to rebuild your diagram up to the cell center extraction from the voronoi diagram.

However I'm having a hard time setting the radii of the circles the way you described it "from min distance from centers to middle of edges".

I guess i'd have to use the functions in the curve analysis tool box, but I 'm not really finding a simple solution.

Would you care to give me a hint towards that?

Thanks for your help anyway!

regards

Thomas

RSS

About

Translate

Search

Photos

  • Add Photos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service