It is hard to find a correct solution for this problem. But I can say that I have already made some nice simulations with my method and even mechanical toys like the tippe top or the rattleback worked very well

Jan
It really depends when you perform static-friction clipping. If you clip during the iterations, it will be not correct, even if you use accumulated impulse.Dirk Gregorius wrote:What I don't see is the problem with wild impulses. I compulte the friction using the accumulated impulse, not the intermediate "Delta Impulses". I don't see how this should get wild, since the accumulated converges
Thanks for the explanation. Things can be counter-intuitive indeed.Erin Catto wrote:I actually did the sphere stacking test awhile ago with PGS. Top down gives you approximately a one iteration advantage over bottom up. I also found this counter intuitive. You might think of it as getting the full weight to ground quicker.
With regard to going back-and-forth, this is called Symmetric Successive Over Relaxation (SSOR). I also thought this sounded good. Apparently it has provably worse convergence than regular SOR (of which GS is a subset). See Matrix Computations by Golub.
Randomization of constraints kills the cache. I saw solver performance double on the PS2 by turning off randomization.
Dirk, convergence of GS is determined by the eigenvalues. These should be immutable under row and column swaps. I think ordering can only affect convergence in small ways (like 1 iteration).
We all use different testbeds, and make assumptions based on our own testbed. It would be good to re-use the same tests at least. If we all support COLLADA physics import, we can share complex setups, including articulated modelsJan wrote: tippe top or the rattleback worked very well
With regards to applying the friction at the manifold center - I'm actually experimenting with the same thing. My approach is as follows:Dirk Gregorius wrote: Regarding friction:
I apply the friction at the manifold center as we discussed a while ago. And of course I have all normal impulses then. What I don't see is the problem with wild impulses. I compulte the friction using the accumulated impulse, not the intermediate "Delta Impulses"....
Nice try. But I think first I will finish writing another nice paper... my PhD thesisIt would be great if someone in academia could spend the time to compare these methods and write a nice paper with pictures and graphs (pssst ... Jan).