System Information
Linux bubastis 3.10.25-gentoo #10 SMP Thu Jan 30 22:17:35 UTC 2014 x86_64 Intel(R) Core(TM) i7-4800MQ CPU @ 2.70GHz GenuineIntel GNU/Linux
01:00.0 VGA compatible controller: NVIDIA Corporation GK107GLM [Quadro K1100M] (rev a1) (prog-if 00 [VGA controller])
Blender Version
Broken: 2.72b
Worked: did it ever?
when animating the influence parameter of a child-of constraint to make an object move between two points the motion can end up being inexplicably non-linear when the parents are rotated.
Create two empties at different locations (e.g. [0,0,2] and [0,0,10] ) . Rotate both empties by -90d around the y axis.
Take the default cube and give it two child-of constraints. One constraint should be targeted at the first empty. It's influence should have two keyframes t0=1, influence=1 and t1=30, influence=0.
The second constraint should be targeted at the second empty. Its influence should have two keyframes t0=1, influence=0 and t1=30, influence=1.
Just to keep things simple, go into the fcurve editor and make both curves linear.
Use alt-A to start the animation. Notice how the cube follows a curved path. This is VERY nonintuitive. The same problem appears to affect child constraints targeted at the bones of armatures. The weirdness becomes even more pronounced if the object with the child constraints has a non-<0,0,0> location.
In my specific use case I'm animating an object that is alternately attached to bones, or traveling between bones in an armature. The empties appear to be an easily reproduced variation that I assume illustrates the same math oddity.