]> rtime.felk.cvut.cz Git - hubacji1/iamcar2.git/blob - scripts/split_first_obstacle.py
Do not use unicode minus
[hubacji1/iamcar2.git] / scripts / split_first_obstacle.py
1 #!/usr/bin/python3 -u
2 """Split first ``obst`` of JSON input."""
3 import json
4 import sys
5
6 if __name__ == "__main__":
7     if len(sys.argv) != 2:
8         print("Put filename as argument to script.")
9         exit(1)
10     scenario = {}
11     with open(sys.argv[1], "r") as f:
12         scenario = json.loads(f.read())
13     [[x1, y1], [x2, y2], [x3, y3], [x4, y4], [x5, y5]] = scenario["obst"][0]
14     o = []
15     o.append([
16         [x1, y1],
17         [x1+1, y1],
18         [x1+1, y1+1],
19         [x1, y1+1],
20         [x1, y1],
21     ])
22     o.append([
23         [x1, y1],
24         [x1-1, y1],
25         [x1-1, y1-1],
26         [x1, y1-1],
27         [x1, y1],
28     ])
29     o.append([
30         [x1, y1],
31         [x1-1, y1],
32         [x1-1, y1+1],
33         [x1, y1+1],
34         [x1, y1],
35     ])
36     o.append([
37         [x1, y1],
38         [x1+1, y1],
39         [x1+1, y1-1],
40         [x1, y1-1],
41         [x1, y1],
42     ])
43     o.append([
44         [x2, y2],
45         [x2+1, y2],
46         [x2+1, y2+1],
47         [x2, y2+1],
48         [x2, y2],
49     ])
50     o.append([
51         [x2, y2],
52         [x2-1, y2],
53         [x2-1, y2-1],
54         [x2, y2-1],
55         [x2, y2],
56     ])
57     o.append([
58         [x2, y2],
59         [x2-1, y2],
60         [x2-1, y2+1],
61         [x2, y2+1],
62         [x2, y2],
63     ])
64     o.append([
65         [x2, y2],
66         [x2+1, y2],
67         [x2+1, y2-1],
68         [x2, y2-1],
69         [x2, y2],
70     ])
71     o.append([
72         [x3, y3],
73         [x3+1, y3],
74         [x3+1, y3+1],
75         [x3, y3+1],
76         [x3, y3],
77     ])
78     o.append([
79         [x3, y3],
80         [x3-1, y3],
81         [x3-1, y3-1],
82         [x3, y3-1],
83         [x3, y3],
84     ])
85     o.append([
86         [x3, y3],
87         [x3-1, y3],
88         [x3-1, y3+1],
89         [x3, y3+1],
90         [x3, y3],
91     ])
92     o.append([
93         [x3, y3],
94         [x3+1, y3],
95         [x3+1, y3-1],
96         [x3, y3-1],
97         [x3, y3],
98     ])
99     o.append([
100         [x4, y4],
101         [x4+1, y4],
102         [x4+1, y4+1],
103         [x4, y4+1],
104         [x4, y4],
105     ])
106     o.append([
107         [x4, y4],
108         [x4-1, y4],
109         [x4-1, y4-1],
110         [x4, y4-1],
111         [x4, y4],
112     ])
113     o.append([
114         [x4, y4],
115         [x4-1, y4],
116         [x4-1, y4+1],
117         [x4, y4+1],
118         [x4, y4],
119     ])
120     o.append([
121         [x4, y4],
122         [x4+1, y4],
123         [x4+1, y4-1],
124         [x4, y4-1],
125         [x4, y4],
126     ])
127     # origiginal scenarios
128     sc = []
129     for i in range(len(o)):
130         sc.append(dict(scenario))
131     # one obst
132     for i in range(len(o)):
133         sc[i]["obst"][0] = o[i]
134         print("{}".format(sc[i]))
135     # two obstacles
136     for i in range(len(o)):
137         sc[i]["obst"].append([])
138     for i in range(len(o)):
139         for j in range(i + 1, len(o)):
140             if sc[i]["obst"][0] == o[j]:
141                 continue
142             sc[i]["obst"][-1] = o[j]
143             print("{}".format(sc[i]))