Hi...
In my game of hexapawn on a 2D chess board I took the source location and the destintaion, computed the difference between the two, then computed a fixed "step value" for each frame of animation to take place. In my case for example, a pawn would move from X=96, Y=132 I think it was to X=127, Y=150 in 30 fixed steps, so the step values were y=(127-96)/30 and x=(150-132)/30. The same process can be applied to 3D, so long as the number of steps is large enough to create a smooth motion.
S.
Any truly great code should be indisguishable from magic.