Hi,
I’m looking for advice / solution to a fairly minor problem that my tired
brain can’t figure out. I need to rotate an object from a rotational vector
(xs, ys, zs) to a target vector of (xd, yd, zd) in incremental steps to
achieve animated rotation. My initial solution was simply to subtract one
vector from the other and divide the result by a factor that determined the
number of rotational increments. Now all worked but I noticed that there
were occasions when an object would rotate through a larger angle than was
needed.
If you consider an object with an x rotation of 270 and you want it to
rotate to 0 then my result requests a rotation of -270 whereas 90 degrees
would have been the quicker move ! I’m looking for a general solution that
provides me with the minimum solution and copes with all angles i.e. -90 is
the same as 270 as is -180 and 180 …
(I can’t believe that I can’t get my head around this one … especially
after deriving a Quaternion based camera class !)
I look forward to hearing from you …
Many thanks
Andrew