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
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to