Post-impact motion

1. Nov 29, 2014

hoang anh tuan

I have a question:
How to predict the post-impact motion of an 2D object, for example, a square, whether it will roll or bounce up, after hitting a flat surface. Given that we know the motion of inertia,angle of impact, pre-impact horizontal and vertical speed, angular velocity,? Thanks, the angle of impact a is shown below.

2. Nov 29, 2014

voko

Take a cylindrical rod made of glass, say 4 mm cm in diameter and 15 cm long, and let it drop from one meter height onto a massive steel slab.

Then do the same, but with a rod made of rubber.

Do you really need all the things that you mentioned to predict the outcome? What is important then?

3. Nov 29, 2014

hoang anh tuan

What i mean is an analytical way of predicting the outcome based on numerical numbers in a form of formula, for example, comparing the ratio of the potential energy with the dissipated energy and having some kind of a bound so when the ratio crosses the bound it's either gonna bounce or just roll. That is the question i was having. Thanks

4. Nov 29, 2014

voko

So you would have a bogus analytic formula rather than messy truth?

5. Nov 29, 2014

hoang anh tuan

I am using this in a program, so it has to quantify in order for me to do anything. I need a general bogus truth :)

6. Nov 29, 2014

voko

If you need something bogus, feel free to invent it.

Regarding the more particular question of rolling vs bouncing, rolling by definition means that any contact points of a rolling body must be at zero velocity with whatever they are in contact with. Obviously, when a square's second vertex (per the original picture) collides with the surface, its velocity won't be zero, so the motion will be anything but rolling.

7. Nov 29, 2014

hoang anh tuan

I have tried dropping it and sometimes it does not really bounce up but rather just drop down so the angle plays an important role. May be rolling is not the correct term to describe it.

8. Nov 29, 2014

A.T.

There are many physics engines available on the net. You can use them in your program, or look at the documentation, or directly at the source code of those which are open source.