def project_to_plane(points, coeffs):
    'Projects points onto a plane.\n\n       Projects a list of points onto the plane ax+by+c=0,\n       where a,b,c are elements of coeffs.\n\n       Arguments:\n       coeffs: The coefficients of the plane ax+by+c=0.\n       points: A numpy array of points.\n\n       Returns:\n       A list of projected points.'
    (a, b, c) = coeffs
    proj_mat = [[((b ** 2) + (c ** 2)), ((- a) * b), ((- a) * c)], [((- a) * b), ((a ** 2) + (c ** 2)), ((- b) * c)], [((- a) * c), ((- b) * c), ((a ** 2) + (b ** 2))]]
    return (np.matmul(points, proj_mat) / (((a ** 2) + (b ** 2)) + (c ** 2)))
Projects points onto a plane.

Projects a list of points onto the plane ax+by+c=0,
where a,b,c are elements of coeffs.

Arguments:
coeffs: The coefficients of the plane ax+by+c=0.
points: A numpy array of points.

Returns:
A list of projected points.
def project_to_plane(points, coeffs):
    'Projects points onto a plane.\n\n       Projects a list of points onto the plane ax+by+c=0,\n       where a,b,c are elements of coeffs.\n\n       Arguments:\n       coeffs: The coefficients of the plane ax+by+c=0.\n       points: A numpy array of points.\n\n       Returns:\n       A list of projected points.'
    (a, b, c) = coeffs
    proj_mat = [[((b ** 2) + (c ** 2)), ((- a) * b), ((- a) * c)], [((- a) * b), ((a ** 2) + (c ** 2)), ((- b) * c)], [((- a) * c), ((- b) * c), ((a ** 2) + (b ** 2))]]
    return (np.matmul(points, proj_mat) / (((a ** 2) + (b ** 2)) + (c ** 2)))