Archived

This topic is now archived and is closed to further replies.

BSXrider

Ball ball interaction

Recommended Posts

I''ve not started to work this one out yet. Here goes. Two balls collide. Ball 1 is stationary before the collision. Ball 2 (much larger) moves towards it and hits it with a glancing blow. Ball 2''s velocity does not change because it is massive. How does the smaller ball react? I''m thinking it moves away from Ball 1 on the vector defined by their two centre points at collision time? Is this right? - seb

Share this post


Link to post
Share on other sites
Friction = spin, a wee bit of heat and sound.

Of course if the big ball doesn''t slow down then the smaller ball shouldn''t move at all since no momentum has been transfered between the 2 and energy cannot just come into being ;-)


zipless

/* Ignorance is bliss, then you go and spoil it by learning stuff */

Share this post


Link to post
Share on other sites
quote:
Original post by BSXrider
Ball 2''s velocity does not change because it is massive.

Ball 2''s velocity does not change significantly, but it changes.


[ GDNet Start Here | GDNet Search Tool | GDNet FAQ | MS RTFM [MSDN] | SGI STL Docs | Google! ]
Thanks to Kylotan for the idea!

Share this post


Link to post
Share on other sites
Sorry Oluseyi. I should have been clearer.

I know under the laws of physics both balls experience a change in their velocities. But I don''t want the larger ball to do so in my game, it wouldn''t make sense in this scenario. Not yet anyway.

I want to apply "proper" physics to the other ball, but will just ignore any changes that should be made to the large ball. I know this will lead to a growth of energy in my system...

- seb

Share this post


Link to post
Share on other sites
This reminds me of a very similar problem I was thinking of a while ago. If you have 2 spheres, arbitrary sizes, masses and velocities, that collide, can you work out the resulting velocities? It seems to me that it shouldnt be too hard - I of course did this sort of thing in 2D in college, but when I looked in a physics book it seemed to be saying that for the above 3D general case the problem couldn''t be solved, since there were more unknowns than equations.
Is this really the case? If so, is there some simple way to approximate?

Thanks
Cameron

Share this post


Link to post
Share on other sites
If memory serves me right the problems start to crop up when you look at the transfer of momentum and the materials the spheres are made of. It''s entirely possible that a ball strikes another and bounces backwards or that the same experiment changing only the material would send both balls rolling forward.

I can''t remember but i think that all the work i carried out in my old physics classes gave you one of the result vectors simply because it''s too complex to work out. Then again i may be wrong, maybe i should dig out my old physics stuff.



/* Ignorance is bliss, then you go and spoil it by learning stuff */

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
with ball bal interaction basically you do a conservation of momentum problem, if you don''t want to change the big balls velicity, assume it''s mass is much larger than the small ones, say 100x more. so....
mass small ball=m1
mass big ball=m2
velocity small ball=v1
velocity big ball=v2

before collision momentum is m2*v2
after collsioion momentum is m2*v2 + m1*v1, so the only way to get a correct physical approach is to actually change the big balls speed.
If you don''t want to change that you get the best result with v1 pointing along the line between the center of the big ball and the small ball. For the speed i would choose the ration between masses to get the best approximation. This way the only total momentum gain is in the bit you neglect to substract from the big one, remember that if you do this too often your system will get very unstable because of the constant adition of momentum, but in a game this might not be a real problem.

Share this post


Link to post
Share on other sites