Results 1 to 3 of 3

Thread: Moving sphere elastic collision

  1. #1

    Thread Starter
    Frenzied Member HarryW's Avatar
    Join Date
    Jan 2000
    Location
    Heiho no michi
    Posts
    1,827

    Moving sphere elastic collision

    Hi all. Hope you can help me with this, I've been puzzling over it a while.

    The problem is this: two moving uniform spheres collide perfectly elastically (for now, I may change this later) and bounce off, changing their velocities and conserving energy and momentum. This is a realistic physics thing. The physics I have no trouble with, I am having some trouble with establishing where the spheres actually were when the collision occurred.

    The collision is never going to be detected until the spheres overlap and occupy the same space. The collision is easy to detect, but I want to trace their paths back so that I know the position of both spheres at the moment of impact. This obviously makes a difference to the angle that the spheres bounce off at.

    I'm basically trying to model collision between two pool balls realistically, in case you hadn't realised what I was doing yet

    So anyway, I figured it out for one moving ball hitting a stationary ball, after a lot of head-scratching, but I'm a bit stumped with both balls moving. If this proves to be more trouble than it's worth then I could use this existing model with a bit of modification but I'd rather do it realistically.

    This is the image:

    The picture shows a diagram of the problems. Fig. 1 is the original problem I had which I've now solved (more or less). Fig. 2 is the problem with both balls moving. The red outlines are the positions of the balls at the moment of impact, and the vertices E and F are their centres. The distance between E and F must be (R+r), where R and r are the radii of the spheres. The vertices marked in blue are known.

    So, anybody got any ideas? Thanks
    Attached Images Attached Images  
    Last edited by HarryW; May 12th, 2001 at 09:45 PM.
    Harry.

    "From one thing, know ten thousand things."

  2. #2
    transcendental analytic kedaman's Avatar
    Join Date
    Mar 2000
    Location
    0x002F2EA8
    Posts
    7,221
    What to do is very easy actually, set up a function expression for the distance between the balls with respect of time, that would be pythagoras with displacement components as functions of time. Then set x(t)=r+R and calculate t. Use the original displacement functions to retrieve the impact positions.
    Use
    writing software in C++ is like driving rivets into steel beam with a toothpick.
    writing haskell makes your life easier:
    reverse (p (6*9)) where p x|x==0=""|True=chr (48+z): p y where (y,z)=divMod x 13
    To throw away OOP for low level languages is myopia, to keep OOP is hyperopia. To throw away OOP for a high level language is insight.

  3. #3

    Thread Starter
    Frenzied Member HarryW's Avatar
    Join Date
    Jan 2000
    Location
    Heiho no michi
    Posts
    1,827
    Hmm, I sort of see what you mean... I'll take a look, thanks Ked
    Harry.

    "From one thing, know ten thousand things."

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width