How to determine applied force when two objects collide? (basic physics engine)

In summary, to determine the applied force during a collision between two objects in a basic physics engine, you need to consider the masses and velocities of both objects before and after the collision. Calculate the change in momentum for each object using the formula: momentum = mass × velocity. The applied force can then be estimated by dividing the change in momentum by the duration of the collision (using the impulse-momentum theorem). Additionally, factors such as the coefficient of restitution and the type of collision (elastic or inelastic) will influence the calculations and the resulting forces.
  • #1
indoshon
2
1
TL;DR Summary
When an object hits another and bounces what exactly is the force that accelerates it back in the direction it came.
I'm trying to make a very basic physics engine.

So far I've got a variety of small things worked out but I've been driving myself crazy trying to work out collisions. From one sense I get I can use momentum and impulse to determine the velocity of an object after a fully elastic collision (no KE lost), and that I understand.

However what I'm having trouble trying to understand is the fact that it does accelerate back in the direction it came, which means there has to have been a force applied to accelerate it, a rather large force in fact to accelerate an object so quickly from one direction to another. I've looked into deformation and I do understand how (basically) how it works, but it does seem a bit beyond the scope of a very basic kinematic physics engine. So I was wondering, how (if at all) it might be possible to determine the total force colliding objects would experience due to deformation, and simply apply that when the two objects collide. And in that way emulate a fully elastic collision.

Thanks in advance, and please let me know if any of my explanation was confusing.
(This is my first post on here :) )
 
Last edited by a moderator:
Physics news on Phys.org
  • #2
indoshon said:
... the fact that it does accelerate back in the direction it came
No this is not a fact. Only one of two colliding objects in a fully elastic collision end up going "back in the direction it came (from)" --- the heavier of the two, if heavy enough, just keeps going in the same direction but at a reduced speed, or if the hit is not head-on, then both change direction with neither of them going back in the direction it came from.
 
Last edited:
  • #3
indoshon said:
TL;DR Summary: When an object hits another and bounces what exactly is the force that accelerates it back in the direction it came.

I've looked into deformation and I do understand how (basically) how it works, but it does seem a bit beyond the scope of a very basic kinematic physics engine.
An answer to your question is electro magnetic force. There is no other answer for electron-electron collision. Even for more complex daily materials, almost all the forces except gravity are reduced to em force.
 
Last edited:
  • #4
indoshon said:
So I was wondering, how (if at all) it might be possible to determine the total force colliding objects would experience due to deformation, and simply apply that when the two objects collide. And in that way emulate a fully elastic collision.
Not easily, no. The force will vary during the collision as the objects deform. You're much better off working with momentum change resulting from a collision than trying to model the collision itself.
 
  • Like
Likes PeroK
  • #5
indoshon said:
TL;DR Summary: When an object hits another and bounces what exactly is the force that accelerates it back in the direction it came.
The objects have elasticity. That is, when deformed by the collision they attempt to return to their original shape. As others have pointed out, this is due to electromagnetic forces acting between the molecules that make up the objects.
 
  • #6
indoshon said:
So I was wondering, how (if at all) it might be possible to determine the total force colliding objects would experience due to deformation, and simply apply that when the two objects collide. And in that way emulate a fully elastic collision.
I once had a need to calculate the force between two colliding objects. A part that should have had near infinite life was failing in a short time. An elastic collision can be approximately modeled as a collision with a spring in the middle. If you know the mass and velocity of the moving object, the spring constant of the spring, and assume zero damping, it is easy to calculate the peak collision force.

The challenge is to find the spring constant at the impact. We did it by using high speed video at 20,000 frames per second to measure the duration of impact. The math is as follows:

1) The "spring" compresses for half the total duration of impact, then pushes the object back for the second half duration.

2) Since we are assuming that the impact is modeled using a linear spring, the average velocity during the deceleration portion (first half) of the impact is half the approach velocity. Average velocity times duration of the deceleration portion equals deceleration distance.

3) The kinetic energy of the object is converted to potential energy in the spring: ##KE = 0.5Kx^2##, where##K## is the spring constant and ##x## is the deceleration distance. The only unknown is ##K##, so solve for ##K##.

4) Knowing the spring constant ##K## from (3) above, and the deceleration distance from (2) above, the peak force is ##Kx##.

In the real world, elastic impacts are not linear springs, but this gives you a way to estimate the peak force. You may be able to find a YouTube high speed video of a similar object. For example, here is a screen grab from a Titleist high speed video of a club hitting a golf ball:
Golf ball hit.jpg

The peak deflection of the golf ball can be estimated from the video, and the velocity might be given in the video. If not, the velocity can be measured from the video because you know the diameter of the ball.

Another data point is that a steel ball peen hammer hitting a heavy piece of steel has in impact duration of about 0.001 seconds. And we found why that part failed.
 
  • Like
Likes Juanda, indoshon and PeroK
  • #7
indoshon said:
I've looked into deformation and I do understand how (basically) how it works, but it does seem a bit beyond the scope of a very basic kinematic physics engine. So I was wondering, how (if at all) it might be possible to determine the total force colliding objects would experience due to deformation,
If deformation is beyond the scope of your engine, then you cannot get the force from deformation directly.

You can compute the total transferred momentum from conservation laws, and then assume some contact duration and force profile during that contact, the integral of which matches the transferred momentum. But for kinematics alone that is pointless, because the transferred momentum already tells you how the objects will move.

Modern physics engines do include deformable objects. But they are computationally much more expensive than rigid body physics.
 
  • Like
Likes PeroK
  • #8
jrmichler said:
In the real world, elastic impacts are not linear springs, but this gives you a way to estimate the peak force. You may be able to find a YouTube high speed video of a similar object. For example, here is a screen grab from a Titleist high speed video of a club hitting a golf ball:
Digression:
It seems that all such deformation processes of real macroscopic bodies would show inelastic collision in a strict sense to me. Once deformed by collision they would keep vibrating after they leave, that means dissipation of translational kinetic energy, i.e. inelastic collision. Elastic body can do not elastic but inelastic collision in a paradoxical words.
 
Last edited:
  • #9
anuttarasammyak said:
It seems that all such deformation processes of real macroscopic bodies would show inelastic collision in a strict sense to me.
A strictly inelastic collision dissipates all macroscopic translational kinetic energy in the center of mass frame, like clay clumps that stick together. Collisions where the bodies separate again despite energy dissipation are partially elastic.

anuttarasammyak said:
Elastic body can do not elastic but inelastic collision in a paradoxical words.
Elastic vs. plastic material is a different distinction from elastic vs. inelastic collision. You can have two elastic balls covered with glue, that stick together after collision. The balls' deformation can be elastic while the collision is inelastic.
 
  • Like
Likes phinds
  • #10
jrmichler said:
I once had a need to calculate the force between two colliding objects. A part that should have had near infinite life was failing in a short time. An elastic collision can be approximately modeled as a collision with a spring in the middle. If you know the mass and velocity of the moving object, the spring constant of the spring, and assume zero damping, it is easy to calculate the peak collision force.

The challenge is to find the spring constant at the impact. We did it by using high speed video at 20,000 frames per second to measure the duration of impact. The math is as follows:

1) The "spring" compresses for half the total duration of impact, then pushes the object back for the second half duration.

2) Since we are assuming that the impact is modeled using a linear spring, the average velocity during the deceleration portion (first half) of the impact is half the approach velocity. Average velocity times duration of the deceleration portion equals deceleration distance.

3) The kinetic energy of the object is converted to potential energy in the spring: ##KE = 0.5Kx^2##, where##K## is the spring constant and ##x## is the deceleration distance. The only unknown is ##K##, so solve for ##K##.

4) Knowing the spring constant ##K## from (3) above, and the deceleration distance from (2) above, the peak force is ##Kx##.

In the real world, elastic impacts are not linear springs, but this gives you a way to estimate the peak force. You may be able to find a YouTube high speed video of a similar object. For example, here is a screen grab from a Titleist high speed video of a club hitting a golf ball:
View attachment 347059
The peak deflection of the golf ball can be estimated from the video, and the velocity might be given in the video. If not, the velocity can be measured from the video because you know the diameter of the ball.

Another data point is that a steel ball peen hammer hitting a heavy piece of steel has in impact duration of about 0.001 seconds. And we found why that part failed.
I hadn't even thought about using a spring to estimate the force of defformation, this is an awesome new direction for me to think in. Thank you!
 
  • Like
Likes jrmichler
Back
Top