- Notifications
You must be signed in to change notification settings - Fork 77
/
Copy pathenvironment.py
52 lines (41 loc) · 1.49 KB
/
environment.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
'''
file that contains all functions to define destinations in the
environment of the simulated world.
'''
importnumpyasnp
defbuild_hospital(xmin, xmax, ymin, ymax, plt, addcross=True):
'''builds hospital
Defines hospital and returns wall coordinates for
the hospital, as well as coordinates for a red cross
above it
Keyword arguments
-----------------
xmin : int or float
lower boundary on the x axis
xmax : int or float
upper boundary on the x axis
ymin : int or float
lower boundary on the y axis
ymax : int or float
upper boundary on the y axis
plt : matplotlib.pyplot object
the plot object to which to append the hospital drawing
if None, coordinates are returned
Returns
-------
None
'''
#plot walls
plt.plot([xmin, xmin], [ymin, ymax], color='black')
plt.plot([xmax, xmax], [ymin, ymax], color='black')
plt.plot([xmin, xmax], [ymin, ymin], color='black')
plt.plot([xmin, xmax], [ymax, ymax], color='black')
#plot red cross
ifaddcross:
xmiddle=xmin+ ((xmax-xmin) /2)
height=np.min([0.3, (ymax-ymin) /5])
plt.plot([xmiddle, xmiddle], [ymax, ymax+height], color='red',
linewidth=3)
plt.plot([xmiddle- (height/2), xmiddle+ (height/2)],
[ymax+ (height/2), ymax+ (height/2)], color='red',
linewidth=3)