Пример #1
0
 def make_triangles(self):
     polyline = []
     triangles = []
     for p in self.points_list:
         polyline.append(p.get_coord())
     this_polygon = None
     for i in range(5):
         try:
             this_polygon = poly2tri.Triangulator(polyline)
             break
         except:
             pass
     if not this_polygon:
         return None
     for triangle in this_polygon.polygons:
         point_a = Point()
         point_a.set_coord(triangle[0].x, triangle[0].y)
         point_b = Point()
         point_b.set_coord(triangle[1].x, triangle[1].y)
         point_c = Point()
         point_c.set_coord(triangle[2].x, triangle[2].y)
         this_triangle = Triangle()
         this_triangle.set_point_by_points(point_a,
                                           point_b,
                                           point_c)
         triangles.append(this_triangle)
     return triangles