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".

Reply via email to