Take the 2-minute tour ×
Physics Stack Exchange is a question and answer site for active researchers, academics and students of physics. It's 100% free, no registration required.

I'm a programmer and a game developer, not a mathematician or a physicist. So please go easy on the math :)

I know two things:

However what I need to know is: given the mass, the velocity, and the 'angle' the two objects are going two be when they collide - how can I know if I need to compute an elastic or an inelastic collision?

I need this for the 2D game I'm developing, that tries to simulate relatively-realistic physics. Thanks for your help

share|improve this question
If the total kinetic energy before the collision equals the total kinetic energy after the collision, the collision is elastic else it isn't. –  Alfred Centauri Jun 24 at 18:46
Have you looked at the Wikipedia article on momentum conservation in collisions? –  Kyle Kanos Jun 24 at 18:47
@AlfredCentauri that should probably be added to your answer –  David Z Jun 24 at 18:57
I think you know how to calculate the velocity for a perfect inelastic collision. (I assume so because you say "new object", singular). For other inelastic collisions, the two objects do not fuse and resulting velocities are dependent on the fraction of energy converted to heat. –  MSalters Jun 24 at 19:03

4 Answers 4

If the total kinetic energy before the collision equals the total kinetic energy after the collision, the collision is elastic. Otherwise, it isn't elastic.

given the mass, the velocity, and the 'angle' the two objects are going two be when they collide - how can I know if I need to compute an elastic or an inelastic collision?

The mass, velocity and angle do not give you any information on the type of collision.

It is the nature of the objects themselves that determine the nature of the collision.

Compare two different collisions where mass, velocity and angle parameters are the same. One is a collision of two ball bearings balls (hard, round, smooth) and the other a collision of two balls of clay (soft and somewhat lumpy).

The collision of ball bearings will be effectively elastic (with negligible losses). The clay balls will not rebound smoothly and may even stick together, perhaps coming to a near stop. Since the kinetic energy is drastically reduced, the collision is inelastic.

share|improve this answer
Is that, instead of "ball bearings", "ball bearing balls", steel balls used in bearings? –  Volker Siegel Jun 24 at 20:57
@VolkerSiegel Yes, Alfred means a collision between two steel balls, not two bearing assemblies. In American English (not sure about other dialects), "ball bearing" can be used to refer to any solid metal ball of modest size, whether or not intended for use in a bearing. You could, for instance, describe the steel balls found in a pinball machine as ball bearings. (Cannonball-sized objects, not so much.) In fact I think this meaning is more common than "a complete bearing assembly of the type containing round balls". –  Zack Jun 24 at 21:42
@VolkerSiegel, Zack is correct but, since you've brought it up, I edited my answer. –  Alfred Centauri Jun 24 at 22:01

It Depends on Your Model

How closely do you want to model reality? The truth is, most collisions are some mixture of inelastic and elastic. (That is, momentum is transferred, but not always "cleanly," some of that energy gets transferred into deforming the objects.) You can see this sort of thing if you watch slow-motion videos of things striking other things; momentum is lost because of deformation. Physicists tend to talk about clay and billiard balls (or ball bearings) because these tend to approximate perfectly elastic or inelastic collisions. Other things, like a wet sponge hitting a roast chicken, is a good example of how most collisions are both elastic and not.

Anyways, you'll need more information about the colliding objects to do this successfully. Here are some solutions:

A Simple Solution

You give every object which can be involved in a potential collision a "squishy" attribute. If one or both things have the "squishy" attribute, then the collision follows the inelastic collision model. Otherwise, use the elastic model.

You can get more complicated about your solutions, but I think the mentioned one will work if you want to keep thing simple.

Deformation Factor

You could also put in a deformation factor on objects that could collide. Basically, it says that there is a certain percentage of the momentum that gets treated as elastic and the other percentage is inelastic. Some materials are one or the other, but most should be somewhere in between.

This is more real, but also more complicated. It's actually not super complicated, and people would notice the sweet physics in your game.

Deformation Factor + Hardness

You could also give those objects a hardness and a deformation factor. The hardness would put a limit on how much energy needs to be put in before the object starts deforming (or becomes a slightly inelastic collision). You can get energy from momentum and mass, but you may just know the mass and speed anyways. This means that, at slow speeds, some things will act elastically, but at higher speeds, that same item will just go splat and be inelastic.

This would be the most realistic of the proposed models here, but the complications could go unnoticed by the average person. After all, it models how stuff actually works really well, so most people won't notice. Some engineers and scientists would notice, and they may show it off to other engineers and scientists. It opens up some marketing channels, letting you possibly show it to minutephysics or vsauce on youtube; they and their audience like this sort of thing.

share|improve this answer

The elastic and inelastic collision are models used in point mechanics of what really happens in the continuum mechanics world.

In reality, the objects both deform when they collide. As contact is made, the object become coupled by non-interpenetration forces in the direction normal to their contact area, and friction forces in the direction tangential to it. Under these contact forces, both will deform according to their elastic modulus. Then, the elastic forces will act to restore the rest shape of each: in doing so, a restoration force will be created which will push away the object from one another at the contact zone. If there has been no loss (no internal friction [viscoelasticity] and no internal damage [plasticity]), then all of the energy is restored and you get a perfectly elastic collision. See also Why does a ball bounce lower?

You can derive a simplified model from these observations, I'll try to write a simple one assuming that your objects are viscoelastic solids. Then their viscoelasticity is characterised by an elastic modulus $E_i$ and a time $\tau_i$ for object $i$, then the energy dissipated will decrease of so much the total kinetic energy : in each solid, dissipation rate is of the order $F^2/(\tau_i E_i)$ where $F$ is the collision force. Now this force can be estimated to be proportional to $F = (\Delta \mathbf p)\cdot \mathbf n/\max_i(\tau_i)$ where $\Delta \mathbf p$ is the change of momentum of either object (they're equal in magnitude) and $\mathbf n$ the normal to the contact zone, as this will be the acceleration during the deformation time $\max_i(\tau_i)$. Bringing this together, you get an energy loss of order $$\frac{(\Delta \mathbf p \cdot \mathbf n)^2}{\max_i(\tau_i)}\left(\frac{1}{\tau_1 E_1}+\frac{1}{\tau_2 E_2}\right).$$ (In the limit of large enough $\tau_i$: we have assumed that it was the collision duration, zero duration makes the dissipated energy blow up ; in practice one can check that he is well below perfectly inelastic case)

share|improve this answer

For a collision to be inelastic, all energy stored in the two (or more) objects are contained in those objects before and after the collision. This is in reality impossible as some of the energy will always be converted into some other form.

In a car accident for example, some (allot) of the energy contained in the two cars will go into mainly the deformation of the cars and even into the sound of the collision and the heat due to the friction.

A popular example of a collision that comes close to being inelastic is that of two pool (or snooker) balls colliding. Because the balls are so hard, they barely deform and thus keep nearly all the the energy contained in the system (although energy may be transferred from the one ball to the other). The balls do however deform ever so slightly and the collision will give off energy in the form of sound.

Getting to the game you are developing, it would certainly be easier to program if you assume the objects collide inelastically, but it depends on what the objects are. Elastic collisions will be more realistic, but you would have to calculate or estimate the amount of energy being lost from the system with each collision, and then alter the objects' trajectories somehow incorporating these losses, which will probably be quite difficult.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.