by Julio Jerez » Wed Sep 28, 2011 9:51 am
if you connect tow object with more than one joint, them the system because unpredictable,
this is because say you have two bodies, the number of degree of freedom between then is six.
joints eliminate or limit the ability of relative motions between the bodies by canceling degree of freedom,
each joint is designed to eleminate some of those DOF, and they do that by writing arithmetic expression that epecifi geometric relatintion between those DOF.
for example a slider will make zero motion in 5 of the 6 DOF.
if you connect the same two bodies with two or more sliders, what you are saying is that there are 12 or more DOF between those two bodies when ther can only be only 6 valid DOF.
Mathematically this translated to a matrix with rows and column who are linear combination of each other. If you know something about linear algebra,
you will know that a Matrix can only be solved if its determinant is not zero, but if a Matrix has at least two rows or Column who are linear combination of each other, then the determinant is zero.
There are ways to remove rows who are linear combination of each other, because the above example the desired effect would be motion about the free dofs.
The problem is what rows or Columns to eliminate and how to preserve the essential one from the matrix. The mathematiocal method for that is called singular value decomposition.
Newton 1.0 until 1.53 had a singular value decomposition solver to preprocess the block system matrix that is forme between tow bodies conected by a joint,
and that worked very well for joints, but it was too slow when dealling with laots of contacts.
because contacts in newton are also joints. contact has the nasty property that the generate lot of redundant rows (row who are linear combination)
for example a cylinder resting on a floor on its base will have many contacts, several of them will be redundancy, and it is was slow detrmin whci oen are essencial by using SVD..
some of the self appointed experts from Umea university started to write papers with the sole purpose to discredit me, and those test were use as trophy in some other forum.
The run plot and when teh say tthat new shod that behavior os quadraic decay with many contact, a moron from a Physios forum intepreted that as me not know what I was doing.
I tryed to explaining was happening to these people just to get very dishonest reposes from the cheerleaders, Plagiarizers and the pseudo intellectual morons on that forum.
By Newton 2.0 I decided to removed the SVD contact prune analiser from the solver and move it the functionality
to the collision system using the heuristic that contacts can only be on the perimeter of a convex plane.
This is fast but then it does not prevent the end use from doing stuff like you are trying to do.
plus it will not deal well with object link together by a joint and alloed then to collide, by that newton by defaul disable collision on bodies connectd by joints. so that is not a big problem.
The problem is that if you have an exact solver and you do not prepossess the matrix by eliminating those bad rows an and columns,
the system lead to a explosion, if you have an iterative solver that does not iterate until if finds the solution than when you get is the effect of a soft joint.
this can be explained by the follwing reason.
An iterative solver will solve each row one at a time by adding small corrections,
when it finds a row that was a linear combination of another row, the contribution of that row will almost completetly be cancelled
the contribution calculate by the previous row, so the system converge very, very slowly to a solution.
and since the solver only execute a fix number of iterations, in the end it stops with an solution that basics does nothing.
The system does not explode, but you do not get the solution either.
These erroneous solution had being interpreted as huge thenoological achievement by the self appointed experts like mister Adrian Boieng and Keenny Bodin from Umea University, (and true pair of complete itelectual morons with PHD degrees)