Grasshopper

algorithmic modeling for Rhino

Hello all, I have a group of circles, randomly placed in x,y,and z. My idea is to have the uppermost circles trim the ones below it so I end up with something resembling the attached image. I also need the resulting shapes to be closed cells.

My last attempt was to create surfaces using the circles and split them with the same circles. This of curse gives me all the split fragments - not the effect I'm after. Thanks for any ideas..Intersecting%20Objects.ghx

Views: 1213

Replies to This Discussion

Seems to work for convex curves at least. There's a bug somewhere, looking deeper.

 

--

David Rutten

david@mcneel.com

Poprad, Slovakia

Attachments:

thanks David, I get a " unable to read beyond the end of the stream" msg. I'm guessing it has to do with me using 8.0010 rather than the new one. I can't download the new build right now, it seems the server is down. I'll try again later though - looking forward to trying this out.

cheers..

Scott

 

 

Yeah, you'll need 0.8.005x. I wrote it with 0.8.0052 but that one isn't officially out yet.

 

--

David Rutten

david@mcneel.com

Poprad, Slovakia

Hi David, the script works with the included circle component but when I hook it up to my random circle generator I get this error.. Do you think there's a way to do it in Grasshopper based on the z height?

thanks.

Attachments:

If one curve is completely underneath another one this message will be printed. It doesn't mean there's something wrong necessarily. Is the result you're getting not correct? If so, can you post your curves?

 

--

David Rutten

david@mcneel.com

Poprad, Slovakia

Hi David, here are the random circles as generated and then the script result which shows only one circle.

thanks

I don't know scripting so I'm working on a GH solution. Here's what I have so far:

 

I split the list of circles in half, using one to trim the other with region difference. It works for some but obviously not all. I need to find a way to pick one circle and trim all those "below" it. I was thinking I could use proximity 2d combined with the circle radius to determine if one collides with another. I would need a formula here, I think so any hints would be appreciated.

thanks

Hi,

To trim the circles you need to move it to the same plane.

 

I decompose the center points and compare z coordinates, then I move all the circles that have larger z coordenate to the z coordinate of the circle i was comparing (i use smaller than component for this).

I use the graft list component so every center point is compare with all the center points.

 

You can replace the curve component with your circles and the center points (the area component) with your randoms center points.

 

Attachments:

Thanks Manuel, this is exactly what I was hoping to do. Thanks also for explaining the process. It allows me to try a few new ideas now using this as a starting point.

cheers

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