   Sphere Collision in 3D
  HiI am looking for a tutorial for the physic of 2 spheres in Space.  I saw and read a lot of 2D collisions and responses tutorial, but none in 3D.   Im using my knowledge in math, but the effect after collision seems weird sometime.  I did not find any post about it on this site.   
  here are some interesting articles http://www.gamedev.net/reference/list.asp?categoryid=199http://www.peroxide.dk/download/tutorials/tut10/pxdtut10.htmlhttp://www.gamasutra.com/features/20000330/bobic_01.htmYou are sure to find articles on sphere-sphere collision in at www.gamasutra.com. hope they help.cheers   ;  See this thread.   ;  Thank you for your quick answers.  It was very helpfull.I write no more to go programming faster!----Cheers to all game programmer!;  ...  I still have problems...The intention behind my first post was to know how I would be able to reproduce a collision beetween 2 spheres, like a pool game.  I saw A LOT of tutorials explaining how to do (in 2D) that with the line of impact and the tangent.  However, I can't transpose it to 3D.In the 2D exemples, the tangent is perpendicular to the line of impact (which it is normal!), but in 3D, how do you choose the tangent? (in space, a line as an infinite number of perpendiculars).   Do i have to transpose my line of Impact to "some kind of plane of impact"?  ...and do I have to use the moment about a point when I calculate the energy of my system?Do I take the right method...or just becoming completly crazy?Please, answer me before the madness comes....btw... I am still at school and I still get a lot to learn, but when I will be able, I'll help the other has you do.   ;  This could be very simple, or it could be beyond my knowledge, depending on if the balls are allowed to leave the table.  If they are stuck to the table, then just use the 2d method you know.  If they can leave the table, I can't help you, good luck.   ;  Okay, prepare for a repost with additional commentary :P. This method works for any constant-radius shape, i.e. circles in 2D and spheres in 3D (and let your imagination run wild! ...). The impulse on each object is in the direction of the contact, i.e. along the line connecting the objects' centres – no tangents required!The COR[coefficient of restitution] as I understand it is just the 'elasticity' of the collision, i.e. a post-multiplier *in the zero momentum frame* (more on that in a sec) of the final velocities.The way we were taught this collision response in my physics course is as follows:Transform the velocities of the objects into a zero-momentum frame (ZMF), i.e. where the total momentum of the bodies involved is zero. This is easy enough: the total momentum in the world frame is sum(mass×velocity), so the velocity of the ZMF is sum(mass×velocity)/2. To transform object velocities into the ZMF, just subtract that amount from them.Perform the collision elastically. In a ZMF two-body collision, the objects head straight towards each other and leave in opposite directions, with opposite momenta. The final direction is controlled by the direction of the impulse, which for spheres is just a normalised version of r1-r2 (the displacement of centres) – henceforth d – and the magnitude is 2mv.d. Thus the final momentum of particle 1 in the ZMF is m1(v1-init+2(v1.d)d), and that of particle 2 the opposite. If the collision is not elastic, multiply both momenta by the elasticity factor (0 to 1).Transform the new velocities back into the world frame by adding sum(mass×velocity)/2 back in. (Opposite of step 1.)Remember to normalise the direction vector! Your collision detection ought perhaps to calculate this direction.If you move onto non-spherical objects, where the impulse is not through the centre of each object, this method fails because it doesn't take account of angular momentum and angular KE. That's not a problem for you yet, but just a little heads-up.The sign in m1(v1-init+2(v1.d)d) might be a minus sign, depending on which direction d is in. I'm notoriously bad with signs, so if your objects go in the wrong direction try the other one   ;  Awesome thank!I was not sure my post was the same than the one who were linked.  Thank you for your advices.   