spherical linear interpolation

New Message Reply Date view Thread view Subject view Author view

David Plew (kishore++at++aimnet.com)
Tue, 11 Mar 1997 08:57:23 -0800 (PST)


Hi :

        Pardon me for my ignorance, but I need to know how does pfSlerpQuat
perform spherical linear interpolation. Where can I find info on this kind
of interpolation? For some reasons I am cornered with the problem of
generating arbitrary axis for rotation of an objenct, manually. And I
think that knowing how to do this spherical interpolation, will enable
me to generate the axis. As a simple example, here is what I would like
to to:

        model a cube at the origin with default position and orientation.
        Rotate it about X
        Rotate it about Y
        Rotate it about Z - all rotations are by 90 deg.

Each of the above actions are represented as key frames consisting of
list of keyframe positions and orientations. The animation is computed
using pfSlerpQuat for orientation and Catmull-Rom method for position
interpolation. I do not have any tool to generate these key frames, hence
have to do it by hand. Interpolation of both position and orientation
takes place from one key frame to next. The rotations in the key frames
are expressed as quaternions. My task is to be able to generate these
quats by hand. How can I compute the axis for each of the key frames so that
pfSlerpQuat interpolates properly between two frames?

Specifying the orientation as the list:

        [ 1 0 0 90,
          0 1 0 90,
          0 0 1 90 ]

doesn't work (First three floats are axis, last one is angle in deg.).

any ideas?

thanks
-anita

kishore++at++aimnet.com
=======================================================================
List Archives, FAQ, FTP: http://www.sgi.com/Technology/Performer/
            Submissions: info-performer++at++sgi.com
        Admin. requests: info-performer-request++at++sgi.com


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:54:52 PDT

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.