Newton's cradle physics sim

Can it be done? I know Maya’s rigid body system is capable, as the book I have from the library uses a newtons cradle as a demo tutorial. Just wondering if we can do this in Blender.

I know one way to find out…

As long as the Bullet engine can properly transmit force between objects I don’t see why it can’t be possible. Bullet is designed for accurate physics in games so I’d try it.

I think it’d work yea.

Ive thought of trying this several times, don’t know why I still haven’t.

So far as I know there aren’t any constraints for rigid bodies yet, which would be needed. (Strings limiting the balls movement.)

Hey that sounds like it would be pretty fun to make. I’m going to try it, I’ll post my results here = )

Edit:
I’ve been trying to tweak it so that it works on it’s own continually, but to no avail = (

anyway, here’s a screenshot:
http://i33.photobucket.com/albums/d63/Ven0mSeven/newtonscradle.jpg

and the .blend file (RC2)

well… i tried real quick to see how easy it was and i didnt get it to work… but i dont wanna waste alot of time on it trying it out so heres the .blend
try it out yourself and mabye get it working
i made the .blend with rc2 so i could use the constraint gui instead of from python

actually there is in 2.42 if you use python and if you use 2.43 RC2 there is a GUI for it

Ah, I see. I’m waiting for the official release of 2.43, as I have read about some people having trouble opening files saved under the RCs once the official release comes out.

The simulation should work in theory right? Why doesn’t it work?

bullet is designed for speed not accuracy

^i think i saw that somewhere

probably why

I’m no physics engine expert, but some thing taken from real world physics:

  • The scale that is used by the physics engine seems to be 1BU=1meter so scaling the cradle down quite a bit (with applying) seems to be necessary at least … or for a quick test you could increase gravity :wink:
  • Maybe wrong material or mass behaviour (try playing with the values in the DYN setting of the Material [F5] … although (changing the) mass does behave differently in the engine than in real world AFAIK.Other than that i have no idea.
    Werner

I took your nice example blend in the first post and changed a few things to make it work:

  • Added material to all spheres and set the “Restitut” value in the DYN settings to a high value.
  • Set gravity to 25 (max value for the slider … i think wia phyton you can increase it further) … this is a quick workaround to avoid re-scaling which is the proper way i think.The file is here.

EDIT: Actually forget the gravity thing … just leave it at the default value … the only thing that is necessary is the Restitut value.

Werner

Kudos to you man! It works now = ) Well, it seems anything is possible if you put your mind to it :wink:

I notice in your screenshot that speed and rotation dampening are both set higher than zero. These are probably slowing down your spheres.

Initally, I did change the values to zero, but that didnt seem to make the spheres transfer motion any better, so i switched the values back to the default value.

I’ll have to wait a bit to check out your .blends, but I’m rendering a Maya anim right now. Will post back in a bit…

[Edit] sorry there’s no strings, but here’s the video. 17 MB Don’t open it with Windows Media Player, use Quicktime.