(pts, M)
return ret
Transform points in 2D coordinates
    :param pts: point coordinates
    :param M: transformation matrix
    :return: transformed points
Transform points in 2D coordinates
    :param pts: point coordinates
    :param M: transformation matrix
    :return: transformed points
Transform points in 2D coordinates : param pts : point coordinates : param M : transformation matrix : return : transformed points
def transformPoints2D(pts, M):
    """
    Transform points in 2D coordinates
    :param pts: point coordinates
    :param M: transformation matrix
    :return: transformed points
    """
    ret = pts.copy()
    for i in range(pts.shape[0]):
        ret[i, 0:2] = transformPoint2D(pts[i, 0:2], M)
    return ret
def transformPoints2D ( pts , M ) : ret = pts . copy ( ) for i in range ( pts . shape [ 0 ] ) : ret [ i , 0 : 2 ] = transformPoint2D ( pts [ i , 0 : 2 ] , M ) return ret