# 2 dimensional collision modeling

1. Jun 25, 2010

### Yaridovich

I have been working on making a 2-dimensional physics simulation on my computer and am having a bit of trouble with collisions. I know that:

-horizontal momentum is conserved
-vertical momentum is conserved
-kinetic energy (both rotation and translational) is conserved (assuming elastic collision)
-angular momentum is conserved

I have also created another equation that determines the angle at which the objects are deflected. That leaves me with 5 equations, but I need to know:

-horizontal velocity after collision (for both objects)
-vertical velocity after collision (for both)
-angular velocity (for both), which leaves me with 6 unknowns.

How else can I relate these variables so that I can solve for them explicitly?

2. Jun 25, 2010

### espen180

You want to solve the following:

Let $$v_1$$ and $$u_1$$ be the velocities before the collision. $$v_2$$ and $$u_2$$ are the velocities after the collision. $$m$$ and $$M$$ are the masses of the objects.

Solve the following for motion in both x and y:

$$mv_1+Mu_1=mv_2+Mu_2$$

$$v_1+v_2=u_1+u_2$$

Angular velocities are more comlpcated and depend on the shapes of the objects, where and from what angle the collision happens, but the conservation law is:

Let $$\alpha_1$$ and $$\beta_1$$ be the angular velocities before the collision. $$\alpha_2$$ and $$\beta_2$$ are the angular velocities after the collision. $$i$$ and $$I$$ are the moments of inertia of the objects about their centres of mass.

$$i\alpha_1+I\beta_1=i\alpha_2+I\beta_2$$

3. Jun 25, 2010

### K^2

The parameter you are missing is duration of the collision. Without it, you cannot gauge how much energy goes into rotation.

In a perfectly elastic instant collision, no rotation is transfered*, so both objects will keep angular momentum. But I'm sure that's not what you want. A more realistic collision has a finite duration, and the angular momentum transfered is basically given by torque from kinetic friction at point of collision over the duration of collision, but no more than needed fore angular velocities to match. You'll have to figure out what that does in terms of energy loss, of course, as well as momentum transfer in tangential direction.

Then you have a headache of figuring out how much of the duration was spent in kinetic friction and how much in static friction modes.

All that headache, plus a lot of problems with many-body-collisions is the main reason people usually don't do that in simulation. Instead, they compute actual forces acting on body at every step of the simulation, each collision taking up a significant number of steps. That way you can always check if you have kinetic or static friction, account for energy losses directly, and not be in any sort of trouble if object collided with two others at once.

* I assumed circular boundary here. For a general boundary, you'll have angular momentum exchange even in perfectly elastic collision, of course, but you shouldn't have trouble computing that.