3D character animation using geometric constraints