Grasshopper

algorithmic modeling for Rhino

Hello,

I am playing a bit with a circle packing def by urban future organization and a flow along surface def. I am not sure if I am doing it right!

My problem is, the circles get all the time stretched and the pattern looses the shape.

 

Furthermore I will combine the object with a column in the shape of a nodes/bone structure. Is this possible? And if, how looks the connection? Made with T-splines?

 

I add a pic of the cardboard pavilion, for an impression what I mean. I don't want to pack it like that,in a sphere, more on a kind of organic "leave"!

 

I hope someone might help me and of course if someone has a better idea for the circle packing and flow along surface problem, I'll appreciate it!

 

Thanks!

Views: 21960

Attachments:

Replies to This Discussion

Hey,

 

the scaling is quiet tricky. But you get closer by using a squared/rectangular base and target surface.

 

I made a example def.

 

Best Regards

 

DeDackel

Attachments:

Hey Dedackelzucht (Alles für de Dackel, alles für de Club ;-))

 

thx for your reply! I checked your def and it helps me a lot to understand the scaling on surfaces. And yes it is a lot easier with this "simple" surface than with a complex one. But, I will try it with a more complex one to get a more interesting shape and in the end maybe a more interesting result. Therefore I tried the def by Daniel Piker, Packing circles on surface. It works fine but is there a possibility to add some random sized circles like in the def above or as you can see in this link? Packing circles on surface random size

I attached the working def of Daniel. I noticed in this def, that the offseted circles next to the ground edge are deformed, any idea why?

 

Thx for you help!!

 

cheers

Sebastian

 

Attachments:

Here's an example of packing randomly sized circles onto a surface (in this case a sphere, but it will work with any surface).

There's a slider to adjust the general scaling factor for the circles so you can adjust them until they fill the surface.

Attachments:
oops - just realized I copy pasted the random component and forgot to change the seed value between the Z component and the circle radius, so that definition will put all the small circles towards the bottom. Just change the seed values to avoid this.

Salut,

aaah very cool, it seems to work perfectly, on a sphere! I didn't test it with other surfaces so far. But I am confident! ;-)

Daniel, thanks so much for your help!!

Attachments:

Also - depending on what qualities you are after in your circle packing, there may be variations that will work better.

If it is not essential to cover the entire closed surface (eg if you want a dome not a full sphere), then you can probably more easily get a closer packing (each circle tangent to more other circles) by combining the collision spheres with attraction forces or gravity, and allowing them to settle together, leaving part of the surface empty.

Hey,

Yeaah I tried it, but somehow, ... I have a problem with the base plane, I can not find the failure, ... If I have another surface, where is the origin or the orientation of the circles? If I extrude them it looks allways like that, if it is not a sphere (pic 1)

 

Than, if I change the distance of the outside circles, why doesn't it work form the midpoint of the original circles?guess depend also on the base plane problem?! (pic 2+3)

 

Maybe I missed something? hope someone has an idea!

 

THANKS!!

 

Attachments:

Ah I got it, ... I lost the track of the definition. always those small, simple, bad failures! ;-) Just needed to delete the marked part.

cheers,

S

This looks great! But I've noticed that if I decrease the number of circles in the sphere_randomcircpack.ghx definition, it does not accomplish any packing. For the problem I'm working on, I am hoping to be able to pack a limited number of circles as closely as possible to each other (not overlapping) on a sphere.

What can I add to the definition so that if I set the number to, say 9 circles, they would all attract to a common region and pack themselves together?

Hey,

I don't know how to handle the circles that they will not overlap. Guess the problem is, that the circles are regulated by the sphere. If you have many circles you get a higher chance for a closed surface, ... I managed it by hand, played with the sliders, ... I know, not very professional^^ ;-)

 

It would also be very interesting to see if it is possible doing it with cones, you know, that they have contact in the base and in the top

 

Looking forward for your solution/ideas!

 

cheers,

S

I figured out a way to pack a small number of circles on a sphere. The definition is attached. It works good enough; so it will serve my needs for now.

I had to ditch the Spring components and use a couple of PowerLaw components instead. I'm a little disappointed with having to do that because with PLaw, they keep jittering and never settle down. I wanted to do it with springs so I could use enough damping so that they would just settle in the most optimal position. But for some reason, springs are unreasonably hard for me to control.

If anyone knows how I might replace the PLaws with dampened springs, the definition is here and should be easy to switch out if you have a better sense of springs than I do.

 

Attachments:

There is a Sphere in the definition. in the top right corner in the grasshopper window (in the picture).. Replace that with your own surface. Then you can start to control the amount of circles and their radius and then get Kangeroo to calculate the optimal positions of the circles...

 

Know that it's a late response - it's just if you are still wondering..

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