# Why doesn't an object fall through the ground when it hits it?

1. Sep 10, 2009

### krej

My college Physics class keeps on increasing my interest for physics, and I'm getting bored of the in class work so I've decided that I want to try to make a physics engine so that I can play around with physics and help myself learn more of it without being confined to just what my professor teaches us. I'm also a Computer Science major so programming all of this is double the fun! :)

Anyways, so in my engine right now I just have a particle that is falling due to the force of gravity. I have no air resistance or anything like that yet, gravity is the only thing acting on it. Now what I'm wondering is, how do I make the particle stop when it hits the ground? I've been googling this for about a week now and just can't figure out what keeps an object from falling through something when the collide.

This isn't two objects colliding, it's one object with the ground which has no velocity and the mass seems like it'd be way to big to do anything with, so I don't think I can use the conservation of momentum. Also, wouldn't the material of the object and the surface it collides with have an impact on it? A bouncy ball is going to have more of a reaction when it falls to the ground than say a cement brick. And if you were to simply drop a bouncy ball on the cement, it would bounce higher than if you were to drop it on the grass or some other surface, correct?

So could someone please help me figure out what keeps an object from passing through another stationary object?

2. Sep 10, 2009

### Nabeshin

What keeps objects from passing through each other is, on a macroscopic level, the contact force between them (which we can call a normal force). Two objects in contact generally produce this force on the other in order to oppose acceleration (up until they break, that is).

Microscopically, this is due to the electrostatic repulsion of the electrons of the constituent atoms of the substances.

The point of objects colliding and bouncing you make brings up the point of coefficients of restitution and elastic collision. Of course, as you note, this is material dependent.

I'm not sure where the rest of the question is though?

3. Sep 10, 2009

### mikelepore

The falling object hits the ground and does work to break molecular bonds, for example, to cause a clump of hardened mud to crack, or overcome the static friction of sand particles in a pile. The falling object loses its kinetic energy as it does this mechanical work. The object comes to rest, and the surface that it fell onto is slighly altered.

4. Sep 10, 2009

### krej

Ah! That is more or less what I was looking for. I'm not really looking for what happens at the macroscopic level, since my physics simulator doesn't go that far into it. I have not heard of the coefficient of restitution before your post(sadly my physics book doesn't mention it), so I googled with that and found this article which explains the coefficient and impulse magnitude. However, when I program in those equations, the particle will just slow down when it hits the ground, but it will continue falling through it. :( I'm pretty sure I programmed it correctly, so is there anything else that you'd need besides those equations?

Also, I'm wondering, does the coefficient of restitution account for the material of both the object falling(a simple particle in my case) and the ground it collides with? The article says that a COR of 1 would be used for a superball, and a COR of 0 would be a lump of clay, so does that mean that the COR belongs only to the particle and not the material of the ground? If thats the case, how do I take into account the material of the ground?

I'm getting a little ahead of myself with this, since I didn't want to do anything with two particles colliding until I got them colliding with the ground working good, but what happens when two objects with different coefficients of restitution collide? Like what if you had a superball and a lump of clay collide? I didn't see anything about that in the article I was reading.

Is there perhaps any other articles like that someone could recommend me to read?

5. Sep 10, 2009

### Loren Booda

The massive neutrino, which is unaffected by the electromagnetic force of electrons and protons, and primarily affected by the radioactive weak force, can pass through light years of lead.

Neutrons, basically E-M neutral but with much greater mass (and finite size) compared to neutrinos, are affected primarily by the nuclear strong force. In simple terms, their cross-section (effective collision area) is much greater than a neutrino's. Also, their half-life is about 15 minutes.

6. Sep 11, 2009

### Nabeshin

Although the wikipedia article on COR doesn't state it very well, COR is a property of a collision rather than an object. As such, it depends on both objects (as your intuition suggests). Sometimes it may seem like the property of an object when comparing to some fixed surface of collision (an immovable, undeformable wall, for example).

Let me explain a little about the modeling of a collision with the ground first. I'm assuming the ground is something like the surface of the earth, which for all intents and purposes we can consider as fixed. So, an object colliding with the ground will rebound with an outgoing velocity proportional to the coefficient of restitution multiplied by the incident velocity. For a bouncy ball this might be .8, for clay 0. This is one of those situations where COR appears as a property of only one object, not the collision.

However, if you want to model your ground as a surface that is still immovable (gains no momentum from the collision) but is deformable, you do worry about this. Now, your CORs will change in a somewhat unpredictable manner which is entirely dependent on both the ground surface and ball type. My gut reaction is to say COR will always be less than in the above case, but this might not be true.

One thing to note is that you can't really calculate what a COR will be. It is an entirely experimentally determined thing. So you shouldn't try to calculate what the COR will be, but rather, depending on the two materials in question DEFINE the COR to be some known value.

The way I would then implement this COR is as a ratio of incident to outgoing velocities (or momenta, if you like). If you want the collision could be instantaneous, or you could model it over a time interval (again, a property of the bodies in question that would have to be experimentally determined, not calculated), and simply use impulse considerations.

As far as two arbitrary particles colliding, the problem is similar to the problem of a perfectly elastic collision between two bodies (common to anyone who has taken an intro physics course), but with an extra factor dictated by the COR. In my view, you could use this factor to simply state instead of Kei=Kef (case of elastic collision),
$$K_{ei}=\alpha C K_{ef}$$
Where alpha is some proportionality constant because the COR isn't necessarily defined as a ratio of kinetic energies. At any rate, this problem should be straightforward to solve now, in a way that is similar to the wall problem.

I hope what I'm saying makes sense to you, and I realize I'm glossing over a lot of stuff so if you want me to elaborate I'd be glad to.

7. Sep 11, 2009

### krej

Ah ok, that explains a bit more to me, and after playing around with it I got it to work! :D

Thanks for your help, its greatly appreciated!

8. Sep 11, 2009

### Andy Resnick

I'm curious, what is a 'physics engine'?

9. Sep 11, 2009

### DavidSnider

10. Sep 11, 2009

### krej

Wait, I'm confused now if I have two objects colliding. You said that COR is a property of the collision, not the objects. So wouldn't that mean there is only one COR throughout the whole collision?

Now what happens if you're dealing with objects in a 2D plane(like just laying on a table) and you throw a bouncy ball and its traveling with a relatively high velocity, and it collides with a light book? Wouldn't the bouncy ball come out of the collision with a high velocity, while the book's velocity would be small? Would you use two different CORs for that, or how would you handle that?