Projects each points in the point list pps on plane and returns the list of projected points
        :param pps: List of points to project on plane
        :return: List of projected point on plane

def projectionpoints(self, pps):
        """
        Projects each points in the point list pps on plane and returns the list of projected points
        :param pps: List of points to project on plane
        :return: List of projected point on plane
        """
        return [pp - np.dot(pp - self.p1, self.normal_vector) * self.normal_vector for pp in pps]