Original Post
I know there is lots of posts in regards to this on this forum and on google but through all my research almost 2 days now I have not found a working solution to my issue. If there is a solution posted and I have somehow missed it I apologize I am very tired of researching with no results so I thought I would try asking for help. The easiest scenario to explain it in is billiards but with balls that have different sizes( masses ). Every sample equation / code I have found of other people doing this is always using a "Cartesian coordinate system" which I am trying to avoid if possible but if I don't have a choice then I am willing to use that type of solution. each ball object has these properties: - velocity - radius - x - y - rotation - mass The current method that the ball moves is using the "rotation" which is the angle that it is facing and it follows that line using the velocity. From the rotation and velocity the new x/y are populated. I would like to point out that even though I am very comfortable with programming I have no issue with pointing out that math is definitely not my strong point. Anyway the results of two objects( balls ) colliding is what I am looking to find. I guess another way of putting it is the response AFTER the collision. The collision itself is very simple and is not what I need help with. The desired output that I would like to get from the collision of two balls is the new velocity and the new rotation( the facing angle or direction that the ball travels on ) of each ball. I am not interested in the spin which is a major factor in a real world billiard type of collisions. Any help would be appreciated in the form of math equations , code snippet or any other.