def is_between(a, b, c):
    """
    Determine if point b is between point a and c
    :param a: One end of our line
    :param b: Point we are checking
    :param c: Other end of our line
    :return: Boolean: True if on the line formed from a -> c, else False
    """
    dotproduct = (c[0] - a[0]) * (b[0] - a[0]) + (c[1] - a[1])*(b[1] - a[1])
    if dotproduct < 0:
        return False

    squaredlengthba = (b[0] - a[0])*(b[0] - a[0]) + (b[1] - a[1])*(b[1] - a[1])
    if dotproduct > squaredlengthba:
        return False

    return True