code: def surface_subdivide1():
      
      if NO_IMAGES:
          return
  
      surface = bezier.Surface.from_nodes(
          np.asfortranarray([[0.0, 1.0, 0.0], [0.0, 0.0, 1.0]])
      )
      surf_a, surf_b, surf_c, surf_d = surface.subdivide()
      figure, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2)
      for ax in (ax1, ax2, ax3, ax4):
          surface.plot(2, ax=ax)
      surf_a.plot(2, ax=ax1)
      ax1.text(
          1.0 / 6.0,
          1.0 / 6.0,
          r"$A$",
          fontsize=20,
          verticalalignment="center",
          horizontalalignment="center",
      )
      surf_b.plot(2, ax=ax2)
      ax2.text(
          1.0 / 3.0,
          1.0 / 3.0,
          r"$B$",
          fontsize=20,
          verticalalignment="center",
          horizontalalignment="center",
      )
      surf_c.plot(2, ax=ax3)
      ax3.text(
          2.0 / 3.0,
          1.0 / 6.0,
          r"$C$",
          fontsize=20,
          verticalalignment="center",
          horizontalalignment="center",
      )
      surf_d.plot(2, ax=ax4)
      ax4.text(
          1.0 / 6.0,
          2.0 / 3.0,
          r"$D$",
          fontsize=20,
          verticalalignment="center",
          horizontalalignment="center",
      )
      for ax in (ax1, ax2, ax3, ax4):
          ax.axis("scaled")
      save_image(figure, "surface_subdivide1")
docs: Image for :meth`.Surface.subdivide` docstring.