Grasshopper

algorithmic modeling for Rhino

Hey all,

I am trying to create a definition that I assign it points to which it creates circles. I do not want these circles to overlap. So in theory, areas that have dense points, circles will be smaller and areas with scarce points, circles will be larger. I have looked into circle packing methods but none seem to work how I need them to. Any suggestions would be appreciated!

Thanks for your time!

Views: 2838

Replies to This Discussion

I have worked on a small script that is trying to take the smallest distance between points and use half of that as the radius. But the far point should be much larger to fill the space between the two smaller ones.

Thanks!

Hi Tyler,

Could you make a sketch of roughly what kind of result you are after?

There are many possible variations on circle-packing, some of which can be solved directly, and some of which need iterative approaches.

Basically I need to assign points. Then these points turn to circles that expand evenly and when they reach another circle it stops. So the denser points become small circles and scarce points become large circles.

So the centres are fixed, and the circles expand until they touch - something like this?:

This is done with Kangaroo -Particles are being pushed away from each point along the Delaunay edges until they collide, and their distances from their starting point kept equal so they define a circle.

I expect you could also achieve the same thing with a fairly simple iterative script, or even with Hoopsnake. 

You could also get a much closer packing of the circles if you allowed the centres to move a little, but if I understood you correctly you don't want this.

Attachments:

This is exactly what I am looking for actually. I have never used kangaroo but I have it installed. My school is using 0.9.0014 for grasshopper and there seems to be some small issues with the grasshopper file. I'm not to sure what all I need to do to get the final result. But the image you have posted is EXACTLY what I need!

This is what I am coming up with after assigning the points. Again I am not familiar with kangaroo and pretty new to grasshopper so I am having trouble following exactly whats going on and/or how to trouble shoot it.

Thank you very much.

I think there is some bug in one of the recent Grasshopper versions where internalised data does not get properly transferred between different releases.

Here I've re-saved the definition with the inputs as panels instead

Attachments:

This one is identical to the previous one. Here is the canvas after the points have been assigned. Some things are broken on mine.

I have put the K from sort in to the AxB.

B is defined as 0.2

After the "kangaroo" componant what needs to go into "dist" and circle components?

Hello, Daniel!

I know this is a bit late in relation to the starting date of this topic, but I hope you still find it meaningful to discuss it!

I'm experiencing the same problem, importing the points to the point component, with everything looking great except for the Kangaroo component showing red colours.

The error message reads: 

1. Solution exception:Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index

I'm currently using Grasshopper build: 0.0.0076

A bit of help would be greatly appreciated!

Best regards/

                     Anders

Daniel,

Can you elaborate the logic behind this in detail if you don't mind? Thanks in advance

Hello Daniel,

I just realized you are the author of Kangaroo! Thank you for actively helping people out with the applications.

I am new to Kangaroo and unable to "run" the simulation to make the circles "grow"

I have my points located based on certain attraction values. I'm trying to place the circle at those points. And I'm fine with some of the points moving. I would immensely appreciate any feedback on this.

Thanks!

Praddy

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