CS157: Computer Animation
Project 2
In this programming assignment you'll extend your user interface/ curve editor
to allow a user to specify keyframe orientations of the box.
A keyframe orientation is a point on the current curve and an orientation, represented
by a quaternion. Initially you should define the starting keyframe as the
first point of the curve and the rotation between world coordinates and the local coordinates
of the box. (If these axes are aligned the initial quaternion is [1,0,0,0].)
Your program should
- Allow the user to move the box to any point, p, on the curve. At p, the box
should be oriented according to the last keyframe preceeding p.
-
Allow the user to reorient the box at p by rotating it about its
local coordinate axes. You should provide rotation handles to allow the user to
select the axis of rotation. The user should be able to compose a sequence of rotations
to achieve the desired orientation.
-
Allow the user to save the keyframe point/orientation.
-
Allow the user to delete any existing keyframe.
-
Animate the box moving along the curve changing orientation at
the keyframes. At this point you do not have to interpolate between orientations;
just make the change at the keyframe position.