How Can I Solve for Forces in a Physics Engine Without Knowing Acceleration?

  • Thread starter Thread starter Tilon
  • Start date Start date
  • Tags Tags
    Forces
AI Thread Summary
To solve for forces in a physics engine without knowing acceleration, it is suggested to simulate elastic collisions using conservation of energy and momentum principles. The stopping time and forces during collisions are critical unknowns that cannot be determined without additional data on object velocities. A proposed method is to treat colliding objects as compressible springs, allowing for a model based on force and deformation. The coefficient of restitution can also be utilized to relate the velocities of colliding objects. Ultimately, without empirical data or a detailed model of the collision process, accurately calculating forces and stopping times remains challenging.
Tilon
Messages
2
Reaction score
0
Up Front I'm A First Year Physics Student In Highschool

Basically I've Been Programming A Physics Engine, But I'm Currently Stumped, I'm Essentially Trying To Solve For The Force(Newtons), But To Do That I Obviously Need The Acceleration, And Mass. In A Physics Engine I Can Obviously Pre-determine The Mass Of Any Object In The Engine, But What About The Acceleration?

Say 2 Objects Come Into Contact With Each Other Going In Opposite Directions, The Computer Can Calculate The Speed, And I Can Tell It The Mass Of Each Object.

But That Leaves 2 Important Unknown Variables: Stopping Time Between The Objects, And The Force They Are Applying To Each Other

Is There A Way To Solve For One Without The Other?

I Asked My Teacher And He Said He Wouldn't Even Know Where To Begin.
 
Physics news on Phys.org
Tilon said:
Say 2 Objects Come Into Contact With Each Other Going In Opposite Directions, The Computer Can Calculate The Speed, And I Can Tell It The Mass Of Each Object.

But That Leaves 2 Important Unknown Variables: Stopping Time Between The Objects, And The Force They Are Applying To Each Other

Is There A Way To Solve For One Without The Other?

I Asked My Teacher And He Said He Wouldn't Even Know Where To Begin.

Rather than calculating forces, maybe it is enough to simulate "elastic collisions" between two "particles" at a time. The idea is to assume the objects are rigid solids, so collisions happen in only a split instant. All you need is for your teacher to help calculate the final velocities according to "conservation of energy and momentum".

If you work in multiple dimensions there are extra variables which basically have to do with the shape where the objects collide (ie. things glance sideways less when the collision is aimed closer to dead centre). Not too complex if your objects are all spherical.
 
Assuming you have many data points that tell you the speed of the objects at various times, you can calculate the approximate acceleration at each time point as the change in speed per time interval. From the mass and the acceleration, you can calculate the force
 
A more appropiate approach might be to use the concept of "coefficient of restitution".
 
andrevdh said:
A more appropiate approach might be to use the concept of "coefficient of restitution".
The original question sounds to me like Tilon is attempting to model the collision process. Energy and momentum considerations are sufficient to model the net effect of the collision, but they are not sufficient to examine the internal forces involved and the stopping time.

IF Tilon has (or can invent) enough time-stamped data of the velocities during the collision, those forces can be deduced. If that data does not exist, then the forces and stopping time cannot be determined. Tilon should be aware that there are infinitely many internal interactions between the two objects that can lead to the same after-collision velocities.
 
The engine already keeps track of every object's velocity, and the acceleration of an object is relative to whatever is in contact with it at the given time, so it is simple to calculate as well. But even if I know the acceleration ahead of time, the acceleration I need in terms of force is the (de)acceleration of the object upon impact, and for that i still need to figure out the stopping time.

Assuming all objects are rigid solids is fair enough, but even if they stop in a split instant, there still has to be a stopping time, even if it is extremely small, right? I assume no object can stop instantly.

i.e.
F = m(a)
a = (Vf - Vo)/t

if t = 0 sec then the result is undefined

Note: All objects are spherical, and yes I am trying to model the collision process

EDIT: re-read OlderDan's Post

That would work if the computer figured in a stopping speed/force for me, but I haven't programmed a gradual stop upon impact. To do that I would need to to know the force of the objects acting on each other, which puts me back at the beginning.
 
Last edited:
You are correct that it would take an infinite force to stop an object in no time. You cannot know either the force or the stopping time without more information about the collision process. When hard objects collide, there is little deformation, very little contact time, and huge forces involved. I'm sure you have seen the images on TV of a golf club hitting a golf ball. The ball deforms more than you might guess, but the contact time is short and the forces are very large.

If you need a model of the collision process, you could treat your objects like compressible springs, where force is directly proportional to the amount of compression. The total compression of the springs is easily related to the energies of the objects before collision. You could construct a computer model for such a process.

Real physical spheres are probably not quite like springs, but the spring model would be a good first step. You might be able to locate some data for the force vs deformation curve of a sphere.
 
Note that in order to give a detailed description of the actual collision process, lots of truly ugly stuff pops up, for example:
1. Failure of linear elasticity models, plastic flow enters
2. Fractures appear
3. Equations of motion becomes coupled with the thermodynamic equations
4. Boundary.value problem with the actual boundary as an unknown function of time&space

No one to day has anything like a good, predictive and solvable model for such problems.
This means that such issues can only be studied empirically, and it is deucedly difficult to do that, too.

Thank heavens for conservation laws! :smile:
 
Last edited:
Newton (yes, he did investigate other processes too) came to the conclusion that the separation speed , v , of an object (ball) is a fraction of the approaching speed u when it collides head on with another object. That is

v = eu

where e is the so called coefficient of restitution. If two balls are approaching each other head on with speeds u_1 ,\ u_2 this will then become

v_1 + v_2 = e(u_1 + u_2)

If the collision is not head on one need to resolve the velocity components of each ball parallel and perpendicular to the direction connecting their centers at the point of impact.

The perpendicular velocity components will not be altered by the collision. The separation components are of cause in the opposite direction than that of the approach components. It is just case of determining their magnitudes.

This together with momentum conservation should make it possible to solve for the separation components, v_1, v_2.
 
Last edited:
Back
Top