Eternl Knight wrote:Having read the document, Julio, I think you are a little off base in your analysis of the document. Whether this is deliberate or not, I cannot say, but your comments are somewhat misleading.
First of all, the "rating" you refer to where Newton comes third was in reference primarily to features, ease of use, and documentation. At that part of the document, there had been no testing performed to check the correctness, speed, or stability of the engines. The way I read your comment implies this was a "final" rating on the engines evaluated - which is not the case.
Secondly, the paper mentions that there are factors that COULD be tweaked to improve the performance / accuracy of the engines tested BUT they were only used for the joint constraint test. And when this was done, the original "non-tweaked" values were still presented for comparison. Again, reading your post, one would assume that the author tweaked the values to get what the results he wanted without presenting the results of the non-tweaked engine.
--EK
Actually the test were tweaked in the cases where the two other candidate performed worse than Newton. Further more in the cases that Newton perform better than the other two candidates, the experimenter ended the test with a disclaimer:
Page 41
This test doesn?t show the whole truth. There are many more things that are important
when running a simulation with constraints so these results should be read with
the other constraint tests in mind.
A factor to bear in mind is that there are ways to tune the parameters to make the
simulation better, e.g., in ODE you can set an ERP parameter which might make the
simulation more close to a horizontal line.
Here Newton show better tolerance to mass ratios and the experimenter chooses to disregard the test minimizing the importance. He even suggests that some magical ERP might make the 45 degrees ramp and the random energy oscillation typical of any iterative linear system solver disappear. when in fact this oscilations are a intriscic properties of the algorithm as any Eigen Vector analisis will demostrate.
But he insist that the reason is some kludge is not set properlly.
Page 49
All the simulations look good. There is no simulation that behaves like any other. The
pile of boxes may fall in different directions depending on which engine is used.
There are a lot of tricks that can be used to make the pile be more stable, e.g., freeze
different parts of the pile that is not affected by any external forces.
With Novodex the pile falls after 15 boxes, Newton after 18 boxes and ODE after
13 boxes.
Again another test where Newton perform better and again the same disclaimer attribute the behavior to some kind of trick.
The point is that there are not tricks, in fact all of the demos on the SDK ion Newton demonstrate stacking with masses ratio o 20 to 1 and with the auto freeze off.
Now if you compare those test to this on
Page 48
Both Novodex and ODE increases linearly when boxes are added. Novodex is the fastest
of them all, ODE is second best. Newton is slower than the other two and also has a
steeper slope. This means that the computation time per colliding pair increases faster
resulting in a more expensive simulation. The oscillations in Newtons graph could be
explained by instability in the pile resulting in less contact points.
He is happy to immediately jumps to the erroneous conclusion that Newton have a steeper slopes than the other, further more he goes on saying that the oscillation of the graph could explain the instability. But if he new about optimization methods he would know that what the curve is showing is the extra time spend moving variable in and out of active and inactive sets.
He ignored completely the test were Newton showed perfect stability, and he totally confuses the plot of a quadratic curve with the slope of a linear algorithm.
Any fairly season engineer or scientist looking at that plot will immediately deduce that the curve is the tail tale of an algorithm with a quadratic time complexity.
Point in case
AntonioMartini wrote:
actually the most interesting part i found about the Newton evaluation was the complexity plot in figure 4.17 where it seems that the Newton solver has at least O(n^2) complexity. However i didn't do any regression of the plotted data.
cheers,
Antonio
The point is that this is not a secret as I had stated that in several occasions. In fact every time a person register in the forum asking for high performance I am the very first one to discourage them and send them to try other open source solution.
????????
You say the rating was base on the features on each engine where base on easy of feature, easy of use and documentation.
Features: do you really believe that ODE and Novodex at the time of the test had more features than Newton? No counting concave mesh-to-mesh collision, I do not think that Newton is missing any feature required by a rigid body simulator.
Please if you think I am wrong please list what those featucre are, because I do not see them in the document.
Easy of Use: I think is safe to said that this is a very suggestive appraisal. However when you read the document you can see how everything is explained in turns ODE settings and documentations, you tell me who would win that round.
Documentation: you speak about documentation and you are probably right Newton is not documented very well. Now here is the point It did not think that he had problem using Newton at all, he just chose not to set the initial conditions of the rigid bodies to have zero damping coefficients on initialization. Notice I am not talking about tweaking Newton I am speaking about setting the initial parameter on creation of the bodies, this is not different that creating a body with a specified mass value.
This publications about Newton and me had been made. I had seen others,
I do not think I seen one that claim that Newton can not simulate three joint thought, have you?
You tell me who is off base.