How to simulate spheres packed like oranges in a store?

   3391   5   1
User Avatar
Member
8 posts
Joined: Aug. 2015
Offline
Hi. I'd like to have a central sphere (sphere 1) with 13 tangentially touching spheres covering its surface. All the spheres should be elastic/softbody/squishy. There won't be quite enough room for the 13th sphere so this will cause the 13 spheres to be compressed. I'd then like to simulate the motion of all the spheres caused by the rebound force against the compression. I'm just starting out, so I'm not even sure if I should just do a copy SOP on the central sphere and then I don't know how to get the copies covering the central sphere's surface instead of just extending out in a line away from the central sphere. Or, should I use particles somehow?
Does anyone have any ideas on how to do this? Thanks!
User Avatar
Member
2534 posts
Joined: June 2008
Offline
You may want to investigate FEM objects. (Solid TAB Organic Tissue)If you make each sphere a FEM object you get some squash behavior by default. Then you could just drop them into a box/container using dynamics.
Using Houdini Indie 20.0
Windows 11 64GB Ryzen 16 core.
nVidia 3050RTX 8BG RAM.
User Avatar
Member
1799 posts
Joined: Oct. 2010
Offline
one that may get you close too is VDB to spheres. Try creating a polygon box, do VDB from polygons, then VDB to spheres
-G
User Avatar
Member
8 posts
Joined: Aug. 2015
Offline
Enivob and grayOlorin,

Thanks for the ideas! I'll try them both and will get back to you. For the past 3-4 months, I've practiced at night using the Go Procedural video tutorials and SideEffects manuals, but I was still kind of stuck in trying to do what I wanted, so I appreciate your ideas!

Roger
User Avatar
Staff
809 posts
Joined: July 2006
Online
For your initial configuration, you might look at the Tetrahedral setting for Point Configuration on the PointsFromVolume SOP. This gives a fairly tight sphere-packing and is used for setting up Grain simulations.

Turn on Add Scale Attribute and set the Particle Radius Scale to 0.5, then use the Copy SOP to copy 1-unit spheres onto the points. They should stack together nicely. Increase the Particle Radius Scale slightly and they'll overlap.
User Avatar
Member
8 posts
Joined: Aug. 2015
Offline
Johner,

Thanks! I tried it and was able to get a stacked array of spheres within a larger sphere container; although, some smaller spheres were put in between the bigger ones. I'll also try to make them squishy/elastic. I'm going to try the FEM objects and VDB to spheres methods Enivob and grayOlorin suggested, too in order to simulate the compression and rebounding movement of the spheres. Maybe, I can combine elements from all 3 methods.
Anyways, thank you!

Roger
  • Quick Links