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
Click For Summary

Homework Help Overview

The discussion revolves around solving for forces in a physics engine, specifically when acceleration is not known. The original poster, a first-year high school physics student, is attempting to model collisions between objects in a physics engine, focusing on the relationship between force, mass, and acceleration during these interactions.

Discussion Character

  • Exploratory, Conceptual clarification, Problem interpretation

Approaches and Questions Raised

  • Participants explore the possibility of simulating elastic collisions and using conservation of energy and momentum to determine outcomes without directly calculating forces. Some suggest that knowing the stopping time and the forces involved is essential, while others propose using the coefficient of restitution as a potential approach. The original poster questions the feasibility of determining one variable without the other.

Discussion Status

The discussion is ongoing, with various participants offering different perspectives on modeling collisions. Some suggest that empirical data or additional information about the collision process is necessary to accurately determine forces and stopping times. There is recognition of the complexity involved in accurately modeling such interactions, with no explicit consensus reached.

Contextual Notes

Participants note that the physics engine keeps track of velocities and that the objects are assumed to be rigid solids. There is an acknowledgment of the limitations in the current modeling approach, particularly regarding the need for time-stamped data to deduce forces during collisions. The discussion also touches on the challenges of accurately representing real-world collision dynamics.

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 , [itex]v[/itex] , of an object (ball) is a fraction of the approaching speed [itex]u[/itex] when it collides head on with another object. That is

[tex]v = eu[/tex]

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

[tex]v_1 + v_2 = e(u_1 + u_2)[/tex]

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, [itex]v_1, v_2[/itex].
 
Last edited:

Similar threads

  • · Replies 16 ·
Replies
16
Views
2K
  • · Replies 15 ·
Replies
15
Views
1K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 17 ·
Replies
17
Views
2K
  • · Replies 42 ·
2
Replies
42
Views
4K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 13 ·
Replies
13
Views
3K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 7 ·
Replies
7
Views
2K