def METHOD_NAME(draw):
    """
    Generate a vector with a random length and orientation.
    The vector is returned as the two points at its extremity.
    Returns
    -------
    point1: numpy.ndarray
    point2: numpy.ndarray
    distance: float
    """
    # Generate random polar coordinates and convert them to euclidean
    # coordinates.
    length = strategies.floats(min_value=0, max_value=100,
                               allow_nan=False, allow_infinity=False)
    angle = strategies.floats(min_value=0, max_value=2 * np.pi,
                              allow_nan=False, allow_infinity=False)
    distance = draw(length)
    theta = draw(angle)
    phi = draw(angle)
    shift = np.array([draw(length), draw(length), draw(length)])
    x = distance * np.sin(theta) * np.cos(phi)  # pylint: disable=invalid-name
    y = distance * np.sin(theta) * np.sin(phi)  # pylint: disable=invalid-name
    z = distance * np.cos(theta)  # pylint: disable=invalid-name
    return shift, np.array([x, y, z]) + shift, distance