Hi Kelvin,

Thank you for the workaround. I hadn't suspected that scale might be the
culprit.

In my complex application, MANY behaviors change MANY different Transform3Ds
above the ViewPlatform. The BadTransformException is actually thrown in a
different method than the one I sent you (a method that also inverts a
Transform3D). The workaround helped when I put it into that other method
because it turned up a non-uniform scaling (0.9998446654939445,
0.9999999999999996, 1.0001553586386134) due, no doubt, to rounding errors.

HOWEVER...

I think the bigger issue is that there seems to be less accuracy in Quats
than in AxisAngles. In my entire program, there is only one method that uses
a Quat (the one that I sent you). The other methods use AxisAngles. It looks
pretty damning against the Quat that when I replace its one instance with an
AxisAngle the problem goes away.

Catching the exception and doing the setTransform again works but is less
desirable than just using the AxisAngle. Judging from the APIs, AxisAngle
seems to be less favored than Quat. I, for one, would like to see
Transform3D.get( AxisAngle ) in addition to Transform3D.get( Quat ).

Raffi

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to