PBD algorithm For all k Integrate position (without constraints) p[k+1]=integrator(p[k],v[k],t) For all constraints Project p[k+1] on constraints Compute new speed v[k+1]=(p[k+1]-p[k])/h