Take the 2-minute tour ×
Physics Stack Exchange is a question and answer site for active researchers, academics and students of physics. It's 100% free, no registration required.

Buckyballs are a desktoy that consist of 216 tiny spherical magnets. You can makes all kinds of interesting shapes and structures out of them (do a Google search).

I want to model them in a physics simulation, but I'm not sure how to do it.

Right now, I'm thinking calculate the sum of the forces between each of the buckyball's poles and each of the other buckyballs' poles, and update its linear momentum. Then calculate the torque that each of those forces causes about the magnet's center, and use that to update angular momentum.

The problem I'm having is how to model the magnets touching. It's easy in real life to make a long chain or a hexagon. How should I model the magnets actually running into each other to mimic this behavior?

share|improve this question
I don't know which is a clone of which, but the same thing is also called Neocube. –  mbq Apr 19 '11 at 8:28
Do You know about "the poles" of such balls? The way the balls adhere to each other at "any" condition, says there must be a lot of poles. This os one of the really new thing with the neodymium magnets: extremely low "demagnetsation", alowing complicated lateral magnetisation. –  Georg Apr 19 '11 at 9:59

1 Answer 1

In a first approximation, you can add an artificial potential which cases repulsive force when the spheres are overlapping -- this will however result in some oscillation artifacts.

The proper way to do it is to use rigid body dynamics with constraints, but this is a bit more complex thing; check out this page for more details: http://www.cs.cmu.edu/~baraff/sigcourse/ To ease the thing up, I think you can resign from friction between spheres -- it would be negligible in comparison to the force with which magnetic moments will try to adjust.

share|improve this answer

protected by Qmechanic Dec 9 '13 at 9:14

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?