Example #1
0
def read_scene(filename):
  out = []
  with open(filename, "r") as f:
    for line in f:
      input_data = line.split(" ")
      if input_data[0] == 'N':
        out.append(int(input_data[1]))
      elif input_data[0] == 'OBSTACLES':
        out.append(int(input_data[1]))
      elif input_data[0] == 'BONUSES':
        out.append(int(input_data[1]))
      elif input_data[0] == 'RADIUS':
        out.append(coordinate_to_FT(input_data[1]))
      elif input_data[0] == 'TIME':
        out.append(int(input_data[1]))
      elif input_data[0] == 'D':
        out.append(float(input_data[1]))
      elif len(input_data) == 2:
        out.append(Point_2(coordinate_to_FT(input_data[0]), coordinate_to_FT(input_data[1])))
      elif input_data[0] == 'O':
        polygon = []
        for i in range(0, int(input_data[1])):
          polygon.append(Point_2(coordinate_to_FT(input_data[2 * i + 2]), coordinate_to_FT(input_data[2 * i + 3])))
        polygon = Polygon_2(polygon)
        out.append(polygon)
      elif input_data[0] == 'B':
        polygon = []
        for i in range(0, int(input_data[1])):
          polygon.append(Point_2(coordinate_to_FT(input_data[2 * i + 2]), coordinate_to_FT(input_data[2 * i + 3])))
        polygon = Polygon_2(polygon)
        out.append([polygon, int(input_data[-1])])
  return out
Example #2
0
def tuples_list_to_polygon_2(lst):
    lst0 = []
    for tuple in lst:
        lst0.append(Point_2(tuple[0], tuple[1]))
    p = Polygon_2(lst0)
    if p.is_clockwise_oriented(): p.reverse_orientation()
    return p
Example #3
0
def coords_list_to_polygon_2(lst):
    lst0 = []
    for i in range(len(lst) // 2):
        lst0.append(Point_2(lst[2 * i], lst[2 * i + 1]))
    p = Polygon_2(lst0)
    if p.is_clockwise_oriented(): p.reverse_orientation()
    return p
def read_scene(filename):
    out = []
    with open(filename, "r") as f:
        for line in f:
            line = line.strip()
            input_data = line.split(" ")
            if input_data[0] == 'N':
                out.append(int(input_data[1]))
            elif input_data[0] == 'OBSTACLES':
                out.append(int(input_data[1]))
            elif input_data[0] == 'BONUSES':
                out.append(int(input_data[1]))
            elif input_data[0] == 'RADIUS':
                out.append(coordinate_to_FT(input_data[1]))
            elif input_data[0] == 'TIME':
                out.append(int(input_data[1]))
            elif input_data[0] == 'PREPROCESS_TIME':
                out.append(int(input_data[1]))
            elif input_data[0] == 'TOTAL_TIME':
                out.append(int(input_data[1]))
            elif input_data[0] == 'D':
                out.append(float(input_data[1]))
            elif len(input_data) == 2:
                out.append(
                    Point_2(coordinate_to_FT(input_data[0]),
                            coordinate_to_FT(input_data[1])))
            elif input_data[0] == 'O':
                polygon = []
                for i in range(0, int(input_data[1])):
                    polygon.append(
                        Point_2(coordinate_to_FT(input_data[2 * i + 2]),
                                coordinate_to_FT(input_data[2 * i + 3])))
                polygon = Polygon_2(polygon)
                if not polygon.is_counterclockwise_oriented():
                    polygon.reverse_orientation()
                out.append(polygon)
            elif input_data[0] == 'B':
                polygon = []
                for i in range(0, int(input_data[1])):
                    polygon.append(
                        Point_2(coordinate_to_FT(input_data[2 * i + 2]),
                                coordinate_to_FT(input_data[2 * i + 3])))
                polygon = Polygon_2(polygon)
                if not polygon.is_counterclockwise_oriented():
                    polygon.reverse_orientation()
                out.append([polygon, int(input_data[-1])])
    return out
def load_path(path, filename, number_of_robots):
    with open(filename, 'r') as file:
        for line in file:
            coords = line.split(" ")
            tup = []
            for i in range(number_of_robots):
                x = coordinate_to_FT(coords[i * 2])
                y = coordinate_to_FT(coords[i * 2 + 1])
                p = Point_2(x, y)
                tup.append(p)
            path.append(tup)
Example #6
0
def xy_to_point_2(x, y):
    return Point_2(x, y)