Václav Šmilauer said: (by the date of Tue, 26 Oct 2010 18:58:32 +0200)
> > so, for example a function that calculates axis angle, could do a > > check if that argument to acos is higher that 1.0. And if yes - then > > perform a normalization, to bring back down that quaternion to an > > identity quaternion. This method will prevent quaternions from growing > > bigger than indentity, but will not catch quaternions that get > > smaller than identity - and that should be prevented too somehow (but > > will not produce NaNs). > > I think it should be fixed in eigen, if that is a pure numerics problem. > That's why we use libs, to not do everything ourselves. yep, and so I'm glad that Bruno will contact them :) > What happens if you re-normalize all quaternions before computing the > product? (just to check; I am not suggesting to do it all the time) Then a simple thing happens: your quaternions are always good! Numerical error is a thing that we cannot get rid of, we must live with it. And it accumulates. -- Janek Kozicki http://janek.kozicki.pl/ | _______________________________________________ Mailing list: https://launchpad.net/~yade-dev Post to : [email protected] Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp

