code: def projectionpoints(self, pps):
          
          return [pp - np.dot(pp - self.p1, self.normal_vector) * self.normal_vector for pp in pps]
docs: 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