From: "Kelvin Chung" <[EMAIL PROTECTED]> Sent: Thursday, December 13, 2001 2:59 PM
> Hi Raffi, > > In the implementation of AxisAngle set(Quad) > and setRotation(AxisAngle) we explicitly > change the magnitude to avoid divide by zero happen > when computing axis. I think it is this that adjust > the data back to normal somehow. But for setRotation(Quad) it > just use the well known formula to set the rotation > part so it seems not that stable numerically. I suppose that the "not that stable numerically" arises when the quat represents very small angles and the conversion to the matrix requires very small numbers added to and subtracted from 1. An application of normalize() and set(double scale) might get you out of the Exception, but the accuracy is probably gone forever. Some terrible ways to do the conversions get published and used. The problem is not the Quats. The problem is the conversion to the matrix in the first place. It's clear that you should deprecate Transform3D in 1.4 and do all the transformations in Quats. Oh, stop. It's just a joke. Cheers, Fred Klingener =========================================================================== 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".
