I let that go because I thought that he will probable made a mistake and at some point he will figure it out but apparently I under estimated the degree of competence of these self appointed engine appraisals expert.
He is still making these comments
Adrian Boeing
“Finally, a chance to figure out some of Newton's strange behavior I noticed in the PAL physics engine benchmarks.”
So maybe this is a good time to explain to this expert how the Newton engine actually works. He has these test
http://adrianboeing.blogspot.com/2011/02/newton-physics-engine.html
And he shows this simulations
Now these system is what is called an over determined system, there are way to determine how ill formed the system is by calculation the mass matrix of the entire system and calculation the singular value decomposition of that matrix.
In these case which is well known we know that the mass matrix is positive semi definitive (PDS) and we can calculate the SVD by using a series of Jacoby or Givens Rotations.
As we do that we will see that each element of the diagonal matrix will be zero ideally or a value so small that it is equal to the machine precision. In other words the matrix cannot be inverted.
Now I realize that that is too complex of an explanation of the problem, so maybe we can demonstrate by solving the problem in close form for an identical but simpler configuration like the one in the image below.
Now that image is still difficult to analyze therefore we will use a mathematical trick called a "small perturbations" Also know as "calculus of variations".
Basically what this does is that we alter the system by a small amount so that we can see the unknowns variables that are part of the system but that are not present because they vanished on some configuration,
in these case we know that after some infinitesimal amount of time the ball will drop a little and it will be support by the tentions of the two strings,
as that happens we will see that the angle of the strings with respect to the horizontal plane change with the position. So for any infinitesimal amount of of time this angle will change by some infinitesimal value.
If we resolve this system and the result has any differential quantity on the denominator, and that values is not canceled by a another difrencial value on the numerator then we know that the system have no solution.
the following image show sthat system alteredd by that small perturbation
Let us call the differential angle deltaA and we do the free force analysis,
The sumation of all the forces along the vertical direction is given by
- Code: Select all
G * mass – T * sin (delta) – T * sin (delta) = Mass * accel
We know that after little iteration the system will either converge to a stable position in witch case the right side of the equation most be zero
or wil diverge in wich case is undetrmoned. If we rearrange the equation we have this For each step of the simulation
- Code: Select all
2 * T * sin (delta) = G * mass - mass * accel
The mass matrix of this system of equation is given by
- Code: Select all
M = [sin (deltaA)]
the singular value decomposition of the matrix
is a matrix of the form
- Code: Select all
M = [1] * [sin(delatA)] * [1]
Now to invert that matrix we simple invert each of their components
- Code: Select all
Inv (M) = inv([i]) * inv ([sin(delatA)]) * inv ([1]
But now we see the 1/sin (delatA) is a degenerated number as delta is a small value.
any good rigid body simulator with a decent solver will generate the same result that Newton is showing on that video.
wich is a comple divergence.
Why after all these years none of these experts had not commented of that, say more about the motivation of these test that the test themselves.
I think.
The question is not why Newton blow up, the question should be why didn't those other engines did not blow up as well?