code: def surface_subdivide2(surface, sub_surface_b):
      
      if NO_IMAGES:
          return
  
      # Plot set-up.
      figure = plt.figure()
      ax = figure.gca()
      colors = seaborn.husl_palette(6)
      N = 128
      s_vals = np.linspace(0.0, 1.0, N + 1)
      # Add edges from surface.
      add_edges(ax, surface, s_vals, colors[4])
      # Now do the same for surface B.
      add_edges(ax, sub_surface_b, s_vals, colors[0])
      # Add the control points polygon for the original surface.
      nodes = surface._nodes[:, (0, 2, 4, 5, 0)]
      add_patch(ax, nodes, colors[2], with_nodes=False)
      # Add the control points polygon for the sub-surface.
      nodes = sub_surface_b._nodes[:, (0, 1, 2, 5, 3, 0)]
      add_patch(ax, nodes, colors[1], with_nodes=False)
      # Plot **all** the nodes.
      sub_nodes = sub_surface_b._nodes
      ax.plot(
          sub_nodes[0, :],
          sub_nodes[1, :],
          color="black",
          linestyle="None",
          marker="o",
      )
      # Take those same points and add the boundary.
      ax.plot(nodes[0, :], nodes[1, :], color="black", linestyle="dashed")
      ax.axis("scaled")
      ax.set_xlim(-1.125, 2.125)
      ax.set_ylim(-0.125, 4.125)
      save_image(ax.figure, "surface_subdivide2")
docs: Image for :meth`.Surface.subdivide` docstring.