Creating a FABRIK solver
FABRIK (Forward And Backward Reaching Inverse Kinematics) has a more natural, humanoid looking convergence. Like CCD, FABRIK works with an IK chain that has a base, end effector, and target to reach for. Unlike CCD, FABRIK works with positions, not rotations. The FABRIK algorithm is easier to understand since it can be implemented using only vectors.
In many ways, FABRIK can be used as a drop-in replacement for CCD. Both algorithms address the same problem, but they take different approaches to address it. FABRIK tends to converge faster and look better for humanoid animation, so you will probably use it as the solver for character limbs.
Working with positions instead of rotations will not work well when it comes to humanoid rigs, which need to be animated by rotating joints. This can be solved by adding a pre- and post-process step to the algorithm. The pre-process step will convert all transforms in the IK chain into world space position vectors....