Quaternions over time

greenspun.com : LUSENET : quaternions : One Thread

Hi, If you have two quaternions, lets say at two different time steps, i.e. q(t) and q(t+dt)

What is the appropriate way to compute the angular velocity between these two frames?

The derivative of a quaternion is defined as q_dot = 0.5* q*Omega

So, can we simply take an estimate of q_dot = (1/dt)*(q(t+dt)-q(t)) and then compute:

Omega = 2*inv(q)*q_dot ?

Is there a better way to do this with quaternion algebra?

-- Andrew Hogue (hogue@cs.yorku.ca), March 05, 2003

Answers

Hello Andrew:

The first question I have tried to answer related to your question is how to handle constant velocity motion using quaternions (URL at the end, needs Adobe's SVG viewer). There are some deep issues involved with moving something at a constant velocity. The reason is the ratio of |dR| and |dt|. If |dR| << |dt| as is the case for classical physics, then the picture is what you would expect, an object moving along smooth and steady. Each event has a timelike relationship with other events (timelike is jargon from special relativity which I don't know if you know, but it means that one event could cause another event to happen). I wrote a program that does the calculation in a way that is consistent with special relativity. When |dR| = |dt|, the picture looks the same, but the program has to be altered to not divide by zero. The events are now lightlike related, meaning only a massless particle can link the events. There is a third case, where |dR| > |dt|. These events all have spacelike relationships with each other. This is the oddest case, because no particle can get from one step to another. My thought is that the system under study is not a point, but instead extends over a volume, and one gets info from different points at different times independently from each other. The program gets modified slightly. Not sure if this is correct, but it does make a fun image.

I know I am not answering your question directly :-) The reason is that both quaternions and special relativity rely on 4-vectors, so I am concerned with handling them in ways consistent with physics laws.

Good luck, doug

http://world.std.com/%7Esweetser/quaternions/qemation/inertia/inertia.html

-- Doug Sweetser (sweetser@theworld.com), March 10, 2003.


Moderation questions? read the FAQ