Help! Require papers about NGS.

aokman
Posts: 30
Joined: Thu Oct 01, 2009 2:17 pm

Help! Require papers about NGS.

Post by aokman »

I had just read Erin Catto's article on his blog.(http://www.gphysics.com/archives/35)
He mentioned a NGS method for position correction, and used it for his Box2D engine.
I'd like to learn more about NGS method. Could anybody please recommend me some
papers on NGS?

Thanks.
Last edited by aokman on Sun Nov 15, 2009 5:42 pm, edited 1 time in total.
Dirk Gregorius
Posts: 861
Joined: Sun Jul 03, 2005 4:06 pm
Location: Kirkland, WA

Re: Help! Require paperrs about NGS.

Post by Dirk Gregorius »

I think there are no particular papers on NGS. The papers that come closest to the method are:

1) Muller: Position Based Dynamics
2) Jacobsen: GDC 2001
3) Cline: PhD (or Master thesis)

NGS stands for Newton-Gauss-Seidel or Non-Linear-Gauss-Seidel. You basically solve a non-linear system of equations with two coupled iterative methods (Newton and Gauss-Seidel).

http://en.wikipedia.org/wiki/Gauss%E2%8 ... del_method
http://en.wikipedia.org/wiki/Newton_method

The gotcha to understand is that satisfying position constraints requires solving a non-linear problem while satisfying velocity constraints requires solving a linear problem. Think of position constraints as a highly non-linear function (e.g. a flying carpet) while for velocity constraints you just look at the tangent space. Also note that Jacobians are a function of the position. So when you change positions you need to update the Jacobian and therefore also the effective mass ( Me = 1/(J*W*JT) )

A good exercise is to generalize the Muller paper to rigid bodies and write it in terms of Jacobians instead of gradients. It is straight forward and I will help you if you have *specific* questions.

http://en.wikipedia.org/wiki/Gradient
http://en.wikipedia.org/wiki/Jacobian_m ... eterminant


HTH,
-Dirk