Original Post
Hi everyone, I made this nice engine that uses quaternions for rotation math, I am also attempting (<- notice it's not working >.<) to use quats for setting basic simulation features like rotational speed and acceleration. However quat's can only represent +- pi rad's of rotation (since they use sin & cos representations for the angular magnitude), so what happens is that I set a ball (or any other object) to rotate at 1.5pi rad/sec. When a frame completes I get a delta T (in seconds) in an update function. The update function scales the quat's rotation by dT and performs the rotation. However when I get above pi rad/sec in either direction it naturally wraps around to the other sign (like 1.5pi rad has the same net effect as -.5pi) and so the update function scales -.5pi by dT instead of 1.5pi rad/sec and (not entirely unexpected) my rotation is all screwed. Is there any way to overcome this limitation of quats (without resorting to saying the rotation must be in rad/(.01*sec) and the likes which only strech the cap point)? I have been reading some on wiki and came across tensors, they sound mighty interresting. Can they help? (are they any use at all in computer graphics?) Any thoughts are welcomed Greets, Egelsoft