Physics - Collision in 2 dimensions (no rotation)

Collision in 2 dimensions (no rotation, no friction)

I am not sure how useful this case is? It would be quite difficult to arrange a collision where the objects are free to move in 2 dimensions but are prevented from rotation. However this is an intermediate case between collisions in one dimension and collisions in 2D with rotations, so it is useful to solve this to give ideas about how to proceed with the more complex case.

In the perfectly elastic case there are 4 unknowns (2 dimensions of velocity of object a + 2 dimensions of velocity of object b) and the conservation laws only give us 3 equations (conservation of momentum in 2 dimensions + conservation of scalar energy). Therefore the conservation laws are not enough to solve this.

In the perfectly inelastic case there are 2 unknowns (since the final velocity of both objects are the same we only have to find its component in the x and y dimention). Therefore the conservation of momentum alone should be enough to solve this.

 

Perfectly elastic (Conservation of energy)

image- image= - (image - image)

Perfectly inelastic (Objects connect)

image= image

Final velocity of object a=image = I am still working this out image* ma+ image* mb
Final velocity of object b=image = I am still working this out image* ma+ image* mb
impulse = I am still working this out (image-image )* ma

Perfectly inelastic case (Objects connect)

by conservation of momentum

va * Ma + vb * Mb = vf * (Ma + Mb)

where:

so

vf = image* ma+ image* mb

 

impulse = change in momentum

therefore impulse on object a is:

i = (Va - Vf)*Ma

i = (Va - Va* ma+ Vb* mb )*Ma

i = (Va* ma+Va* mb - Va* ma+ Vb* mb )*Ma

i = (Va* mb + Vb* mb )*Ma

i = (Va* mb + Vb* mb )*Ma

i = (image-image )* ma


Perfectly elastic case (Conservation of energy)

First here is an attempt to solve using the conservation laws alone (conservation of energy and conservation of momentum).

Conservation of energy: image * ma + image * mb = image* ma + image* mb

I cannot think of a way to represent conservation of energy using 2 dimensional vectors so I think its necessary to :

image = image + image i.e. by Pythagoras, square of velocity is sum of x and y components

and: image= image+ image

and: image= image+ image

and: image = image+ image

image this gives: image * ma + image * ma + image * mb + image * mb = image* ma + image * ma + image* mb + image * mb

imageconservation of momentum in x dimension: image* ma + image* mb = image* ma + image* mb

imageand conservation of momentum in y dimension: image* ma + image* mb = image* ma + imageimage* mb

We want to find the final velocities in x any y components so there are 4 unknowns (image , image, image and image) but there are only 3 equations, so we need more information before we can solve.

I guess this because the velocities will depend on where the objects collide. After all this is is the whole principle of snooker, pool, etc. If the queball hits on one side the object ball goes in the other direction. So we need to include some information about the collision point into the equations.

image

So we can try the same trick as in the one dimensional case and move to the frame of reference of body A, then body B will appear to bounce off it with minus the angle to the normal that it hit.

Therefore: (image - image) / (image - image) = tan(2*theta)

To make things simpler, change the x-axis so that its along the normal and the y-axis so that its perpendicular to the collision:

so :four image- image= - (image - image) :the relative motion along the normal is reversed.

and image- image= image - image:the relative motion across the normal remains the same

from 2 : image* ma + image* mb = image* ma + image* mb

and image* ma + image* mb = image* ma + image* mb

rearranging gives: image* mb = image* ma + image* mb - image* ma

and image* mb = image* ma + image* mb - image* ma

substituting for imagein 4 gives: (image + imageimage - image)* mb = image* ma + image* mb - image* ma

and (image -image + image)* mb = image* ma + image* mb - image* ma

image* (mb+ma) = image* (ma- mb)+ image*2* mb

and image* (mb+ma) = image*( ma - mb)

five image = image* mb+ image* image

and image = image* mb

image= image + image - image = image + image* mb+ image *( image-1)

image = image - image +image = image* mb - image +image

image image = image* image- image* mb

image =image- image* image

But these equations assume that the x-axis is along the normal and the y-axis is perpendicular to the collision. So for the general case we need to rotate the axis by theta.

Using conservation laws alone does not allow us to solve for the general case so we need to calculate the impulse as below:


metadata block
see also:
Correspondence about this page

Book Shop - Further reading.

Where I can, I have put links to Amazon for books that are relevant to the subject, click on the appropriate country flag to get more details of the book or to buy it from them.

cover Physics Modelling for Game Programmers. This book uses DirectX and C++ and shows how to build a physics modelling framework. It includes theory about many of the maths and physics topics required to write games. The theory is kept as simple as possible, almost no calculus (a few differentials have sneaked in) and no quaternions. I think it could be potentially confusing that impulse is described as force and given the letter F. The edition I have seen has some strange printing on the collision response derivation, w is printed as ... and torque is printed as ~.

Commercial Software Shop

Where I can, I have put links to Amazon for commercial software, not directly related to the software project, but related to the subject being discussed, click on the appropriate country flag to get more details of the software or to buy it from them.

 

This site may have errors. Don't use for critical systems.

Copyright (c) 1998-2017 Martin John Baker - All rights reserved - privacy policy.