Hi Henrikmo,

In osg::Matrix* there is a get(Quat&) mehthod for getting the rotation.

Also why not use a MatrixTransform then you should be able to just
copy the matrix straight over.

Robert.

On 7/31/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
Hello.
I am having some troubles with mapping the transform matrices from the
joints of a Immersion CyberGlove to the hand geometry. When connected
directly, the movements seems "mirrored" (in plain, it seems like you are
bending your fingers backwards).

For debugging, I wanted to disassemble the transform matrix of each
component and see if the rotational axes are coordinate system dependant
in some way. For example, the geometry was misplaced until i switched z
and y translation and negated x translation.

osg::Matrix has getScale and getTrans, but no methods for rotation. I
could with some work change to PositionAttitudeTransform, but then I would
have to do the deconstruction in the matrices I get from the CyberGlove
(double[4][4]). These matrices are by the way column major, but I use my
trusty transpose method to fix that.

What would be the "good practice" here for dissasembling the matrix and
not loose any transform detail?

Here is a screenshot of the thumb, pinky and palm turned on with and
without corrected translation (x,y,z = -x,z,y).
http://folk.ntnu.no/henrikmo/img/with.png
http://folk.ntnu.no/henrikmo/img/without.png

Best regards
Henrik Gundersen
[EMAIL PROTECTED]



_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

Reply via email to