From: "Dipl. Ing. Paul Szawlowski" <[EMAIL PROTECTED]>
Sent: Wednesday, April 25, 2001 9:23 AM
> ...
> In OpenGL Programming Guide page 115:
> Sometime, programmers who want a continuously rotating object attempt to
> achieve this by repeatedly appliying a rotation matrix that has small
> values. The problem with this technique is that because of round-off
> errors, the product of thousands of tiny rotations gradually drifts away
> from the value you really want (it might even bevome something that
> isn't a rotation). Instead of using this technique, increment the angle
> and isue a new rotation command with the new angle at each updating
> step.
> ...
Isn't this what Transform3D.normalize() is supposed to fix? We're left with
the little problem of detecting drift and deciding how often to call it, but
the function is there.
I dunno whether calling normalize() every step is more or less expensive
than setting the Transform3D from an angle or a quaternion, and finding that
out is pretty low on my to-do list. Lower on my list is figuring out
whether doing successive increments on the quaternion has the same
vulnerability.
Cheers,
Fred Klingener
Brock Engineering
===========================================================================
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".