Below is an example (from revno 2514). If somebody see an obvious reason
for getting a NaN, please let me know; if not, I'll send this to Eigen
(the first line should be enough).
Bruno
NaN angle found in angleAxisr(q), for quaternion 1 -1.56132e-11
7.47311e-11 -1.7066e-10, after quaternion product
rbp1.ori * (initialOrientation1.conjugate())) * (initialOrientation2 *
(rbp2.ori.conjugate()) is:
0.745315 -0.0308916 -0.665997 -1.14489e-10 * 0.745315 0.0308916 0.665997
-0 * 0.746671 -0.166278 -0.644077 0 * 0.746671 0.166278 0.644077
-1.47527e-18
with sub-products :
1 -1.56132e-11 7.47311e-11 -1.7066e-10 * 1 9.50188e-19 -2.45305e-19 0
On 26/10/10 15:17, Václav Šmilauer wrote:
If I'm the author of this comment in the sources (I am, probably),
"close to identity" means close to null rotation. In other words the
corresponding rotation matrix is very close to identity matrix.
So, let M be a rotation matrix defining a rotation of 10^-8 degrees.
Theoretically, M*M^(-1)=Id.
Now, do the same numerically with quaternions : let q be the quaternion
representing the same rotation as matrix M, and compute q*q.conjugate().
It seems, sometimes in Eigen, the result will be NaN.
As a workaround, I set angle=0 when angle=NaN.
Bruno, could you post that issue to eigen's forums
http://eigen.tuxfamily.org/index.php?title=Main_Page#Get_support? They
are very responsive as far as my experience goes and will give us proper
mathematical explanation about the cause.
v
_______________________________________________
Mailing list: https://launchpad.net/~yade-dev
Post to : [email protected]
Unsubscribe : https://launchpad.net/~yade-dev
More help : https://help.launchpad.net/ListHelp
--
_______________
Bruno Chareyre
Associate Professor
ENSE³ - Grenoble INP
Lab. 3SR
BP 53 - 38041, Grenoble cedex 9 - France
Tél : +33 4 56 52 86 21
Fax : +33 4 76 82 70 43
________________
_______________________________________________
Mailing list: https://launchpad.net/~yade-dev
Post to : [email protected]
Unsubscribe : https://launchpad.net/~yade-dev
More help : https://help.launchpad.net/ListHelp