private static double GetInterceptTime(Point3D chasePoint, Point3D position, Vector3D velocity, double maxAcceleration) { // Get the appropriate scalars from the vectors passed in Vector3D directionToGo = chasePoint - position; Vector3D velocityAlongDirectionLine = velocity.GetProjectedVector(directionToGo); // Call the scalar overload return GetInterceptTime(directionToGo.Length, velocityAlongDirectionLine.Length, maxAcceleration); }