Advice on how to approach this?

Roger
Posts: 3
Joined: Mon Jul 27, 2015 5:05 am

Advice on how to approach this?

Post by Roger »

Hi. I have a hobby that has made me interested in modeling something. I'm not an artist or a physicist, and I've never used any modeling software before, so I wasn't even sure if what I'm thinking is possible to model, and if it is, how to approach it. I was wondering if any of you might be able to either provide some advice or point me in the right direction? My hobby is metaphysics and physics-related and I'd like to model a system with the following characteristics:

1. 3D, soft-body modeling of flexible spheres of equal diameters and in contact with one another. The spheres are just a surface with no internal content or subunits. The spheres should be flexible and can change shape, but should not be able to stretch or shrink to a larger or smaller, respectively, surface length than that of the circumference of the sphere.

2. There's an initial sphere (layer 0) whose surface is entirely covered by non-overlapping, tangentially touching ("kissing") spheres of the same size. This is layer 1. From what I've read about sphere packing, there will be room for 12 spheres in layer 1 but not quite enough room on the surface of the layer 0 sphere to allow in a 13th sphere. But, in order to completely cover the surface of the layer 0 sphere, there has to be a 13th sphere. Because of this, the 13th sphere and its immediately adjacent layer 1 spheres will be trying to occupy the same location. Because they're separate, flexible spheres trying to occupy overlapping positions, they will compress each other and will meet the spheres with which they're "competing" at an interface.

3. Any of the outer surfaces of the layer 1 spheres that are not already covered by other spheres, will also be covered by non-overlapping, tangentially touching spheres of the same size (layer 2). Some of these layer 2 spheres will also be trying to occupy overlapping positions if there's not enough space to fit in an integral number of them. They will thus overlap and be compressed as in layer 1. This process of sphere creation next to surfaces not yet covered by other spheres will continue ad infinitum so that layers of spheres (0, 1, 2, etc.) are created sequentially (e.g. layer 0 sphere first, then the layer 1 spheres, then the layer 2 spheres, etc.).

4. The overlapping-in-position spheres are all trying to achieve their natural spherical shape and thus will exert pressure on each other. This is where the flexibility part comes in. As the overlapping entities push against each other, they will change shape (e.g. "bulge out") and push into the adjacent spheres. In one version of the model, these adjacent spheres will therefore be pushed and move away from the bulging out spheres. As this happens, new spheres will be created next to the surfaces of the bulging out and moving spheres that are no longer in contact. In another version of the model, the adjacent spheres can't physically move away from the bulging out sphere but will just change shape/deform as they are bulged into.

Is it possible to make a 3D simulation of what happens when you start the above system running starting with sphere 0 and then adding layers sequentially to see how the spheres move and deform over time and how the pressure waves and forces move through the spheres? Ideally, at the end, I'd like a map or some analysis showing the net flows of the spheres, and pressure waves.

People I know have recommended various software programs including Bullet, Blender, Houdini, 3ds Max, etc. I'm not sure what would be best? From my initial reading, it seems that Bullet is incorporated into Blender and some of the others. Also, starting from no knowledge, very roughly how long might it take me to become proficient enough to make the model I described?

I would be grateful for any advice you could provide. Thank you!

Sincerely,
Roger Granet
p1p1
Posts: 2
Joined: Thu Aug 20, 2015 6:53 pm

Re: Advice on how to approach this?

Post by p1p1 »

Hi!
I was wondering if any of you might be able to either provide some advice or point me in the right direction?
Yes, although your question does not relate directly to Bullet Support and Feedback...
Is it possible to make a 3D simulation of what happens when you start the above system running starting with sphere 0 and then adding layers sequentially to see how the spheres move and deform over time and how the pressure waves and forces move through the spheres?
Yes, it is possible, but you will have to be more specific on the task and you'll have to define many informal things like "surfaces not covered by other spheres", as long as many more formal things, like material properties, pressures and all of the conditions you want in your simulation.
Ideally, at the end, I'd like a map or some analysis showing the net flows of the spheres, and pressure waves.
Whenever one says 'some analysis', it usually means, the analysis is undefined because it's not really needed. If you need a more detailed analysis on that, you would have to be specific. That means, doing technical specifications, paper work, whitepaper reading, etc... You can't say 'just give me some analysis!' ) Well, you can, but the analysis will be as specific as your initial requirements are, in the first place. If you try to list your exact formal requirements you will inevitably end up gaining all necessary skills to express that.
People I know have recommended various software programs including Bullet, Blender, Houdini, 3ds Max, etc. I'm not sure what would be best? From my initial reading, it seems that Bullet is incorporated into Blender and some of the others.
All of those programs are good and you can do it with any of them as long as you have professional skills in modelling, understand 3d computer graphics and maths of newtonian physics. Blender+Bullet is free, 3ds Max is commercial (it's actually expensive). Once you're able to express your idea formally, the software package becomes much less significant.
Also, starting from no knowledge, very roughly how long might it take me to become proficient enough to make the model I described?
At least one year from zero knowledge in 3d/cg/physics/modelling to some decent skills. Real pro artists/modellers/programmers never stop learning and working on their skills, so it might take a life or two, depends on how much you need it, really... A technical education could speed it up significantly, but the education itself might take a couple of years or more. Actually, any estimation of how much it might take is a plain guess, there's too many factors for consideration.
I would be grateful for any advice you could provide.
I seriously recommend first reading any good book on 3d/cg/modelling/physics/gamedev (there's plenty of them, see feedback from other readers, google and stackoverflow). Also, there's a lot of tutorials for beginners, you should probably dive into them to get some ground basics. For modelling - everybody watches youtube tutorials. Search 'blender tutorial' and click through links from there. You might even getaway with only youtube tutorials for both physics/modelling, if you're lucky. An understanding of programming or scripting can also help a lot. Prepare for a long journey if you really want to make it from zero experience to a model, that you can fully control. If you're not ready for this or your sole purpose is not learning for learning, I would recommend hiring a 3d/cg/coder/modeller/artist for a paid job.
Roger
Posts: 3
Joined: Mon Jul 27, 2015 5:05 am

Re: Advice on how to approach this?

Post by Roger »

Thank you for the advice! Very roughly, how much might hiring a qualified person cost? How do I find them? Thanks!

If you're not ready for this or your sole purpose is not learning for learning, I would recommend hiring a 3d/cg/coder/modeller/artist for a paid job.
User avatar
drleviathan
Posts: 849
Joined: Tue Sep 30, 2014 6:03 pm
Location: San Francisco

Re: Advice on how to approach this?

Post by drleviathan »

One way to simulate this system would be to use verlet constraints. Each big sphere could be simulated as a large collection of smaller spheres connected by springs.

The advantage of such an approach would be:

(1) The algorithm is relatively simple to implement.

(2) It is stable.

(3) It can achieve high accuracy and physical realism.

The disadvantages are:

(4) Verlet integration converges slowly --> big simulations won't run in real-time. You might need to throw a LOT of computation power at it in order to achieve the required: resolution, size of simulation, and accuracy.

(5) The friction of the simulation would be fiddly: it would depend on the micro details of how it was set up: e.g. the size and density of the sub-spheres. You might need to add special handling (e.g. empirical logic) during the collision resolution phase to allow for friction tuning.

(6) The minimum folding resolution of the larger spheres (how sharp they can be pinched) would depend on the size of the sub-spheres. This relates to how accurate you need your simulation to be and the trade-off here is speed (see problem (4)).
Roger
Posts: 3
Joined: Mon Jul 27, 2015 5:05 am

Re: Advice on how to approach this?

Post by Roger »

Thank you for the tip on Verlet constraints! I checked out the link, and it looks pretty complicated, but I'm realizing I may need to be able to handle things like this in order to model the system I want. I think my required size of simulation (number of spheres and running time) might be pretty high in order to see if anything interesting happens in the system, so that might be a problem because you said using Verlet constraints would take a lot of computing power. I live close to a large university, so maybe I could use some of their systems? Anyways, I'm saving your advice for when I get closer to building the model. I took one Blender tutorial and am working on another, so I'll get there. Any additional advice would always be welcome. Thank you very much again! I do appreciate your consideration.