Hi folks -- I've noticed that, under some circumstances, Matrix::getRotate()
returns a non-normalized Quat. For example, given the following code:
osg::Matrix m( +0.00057735, +0.00000000, +0.00000000, +0.00000000,
+0.00000000, +0.00057735, +0.00000000, +0.00000000,
+0.00000000, +0.00000000, +0.00057735, +0.00000000,
-0.57735026, +1.42264974, -0.57735026, +1.00000000 ) ;
std::cout << m.getRotate() ;
I get this output:
0.000000 0.000000 0.000000 0.500433
This seems odd because, given the same source Matrix, Matrix::decompose()
returns a normalized rotation Quat (0, 0, 0, 1). Given that both Quats
represent a rotation from the same Matrix, I'd expect them to be identical.
(Mathematically, they are identical, except the getRotate() return value
isn't normalized.)
Is this a bug that needs to be fixed?
Paul Martz
Skew Matrix Software LLC
http://www.skew-matrix.com <http://www.skew-matrix.com/>
303 859 9466
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org