code: def _get_simpx_plane(self):
          
          on_wulff = [False] * len(self.miller_list)
          surface_area = [0.0] * len(self.miller_list)
          for simpx in self.wulff_cv_simp:
              pts = [self.wulff_pt_list[simpx[i]] for i in range(3)]
              center = np.sum(pts, 0) / 3.0
              # check whether the center of the simplices is on one plane
              for plane in self.facets:
                  abs_diff = abs(np.dot(plane.normal, center) - plane.e_surf)
                  if abs_diff < 1e-5:
                      on_wulff[plane.index] = True
                      surface_area[plane.index] += get_tri_area(pts)
  
                      plane.points.append(pts)
                      plane.outer_lines.append([simpx[0], simpx[1]])
                      plane.outer_lines.append([simpx[1], simpx[2]])
                      plane.outer_lines.append([simpx[0], simpx[2]])
                      # already find the plane, move to the next simplices
                      break
          for plane in self.facets:
              plane.outer_lines.sort()
              plane.outer_lines = [line for line in plane.outer_lines
                                   if plane.outer_lines.count(line) != 2]
          return on_wulff, surface_area
docs: Locate the plane for simpx of on wulff_cv, by comparing the center of
          the simpx triangle with the plane functions.