def point_respect_line(point, line):
    """
    :param point: point of (x, y)
    :param line:  line of two points (point1, point2),
    :return: an integer that >0, ==0, <0, if == 0 means point lies on the line
    """
    # Method 1: cross product

    # (pnt1, pnt2) = line
    # v1 = [pnt2[0] - pnt1[0], pnt2[1] - pnt1[1]]
    # v2 = [point[0] - pnt1[0], point[1] - pnt1[1]]
    # r = np.cross(v1, v2)

    # method 2: algebra mathematical
    (pnt1, pnt2) = line
    return (pnt1[1] - pnt2[1]) * point[0] + (pnt2[0] - pnt1[0]) * point[1] + pnt1[0] * pnt2[1] - pnt2[0] * pnt1[1]