public Vector3D Evaluate(int frame, bool direction) { if (direction) { return(target.Evaluate(frame, true)); } Vector3D basis_vec = basis.Evaluate(frame, false); Vector3D target_vec = target.Evaluate(frame, false); return(basis_vec + Vector3D.Normalize(target_vec - basis_vec)); }