|
Introduction Inverse kinematics (IK) is the basis for quite a bit of character animation. IK is solving the angles at each joint to move multiple appendages to get the end effector to the chosen location. Simple eh? Unfortunately, it can get difficult and getting a good solution can get even more difficult. This project's goal was to implement an IK solver and work with some forward kinematics interpolation.
|
Forward Kinematics Inverse kinematics works well for solving the angle problems, especially when setting up animations. Depending upon the system and application needs, it may not be feasible to run the IK in real-time. An alternative is to now use the key frames from the IK to drive a forward kinematics solution. This project includes a simple foward kinematics engine. It interpolates the Euler angles at the joints. (A real world system would use quaternions for their forward kinematics, and would not be restricted to solutions in the plane like this project.)
Interpolation |
Linear | |
Cubic |
Notice when a joint changes direction how the linear interpolation provides for a
harsh transition. What may not appear as too much of an issue in a graph becomes
rather jerky motion when animating.
Spline based interpolation (Catmull-Rom, Hermite) could be added for even smoother animation. |