code: def polygon_triangulate(tri_idx, *args):
      
      # Initialize variables
      tidx = 0
      triangles = []
  
      # Generate triangles
      for idx in range(1, len(args) - 1):
          tri = Triangle()
          tri.id = tri_idx + tidx
          tri.add_vertex(args[0], args[idx], args[idx + 1])
          triangles.append(tri)
          tidx += 1
  
      # Return generated triangles
      return triangles
docs: Triangulates a monotone polygon defined by a list of vertices.
  
      The input vertices must form a convex polygon and must be arranged in counter-clockwise order.
  
      :param tri_idx: triangle numbering start value
      :type tri_idx: int
      :param args: list of Vertex objects
      :type args: Vertex
      :return: list of Triangle objects
      :rtype: list