Files
Varyngoth 676659e5b9 First
2026-01-28 13:31:49 -04:00

148 lines
3.8 KiB
Python

import sys
import matplotlib
matplotlib.use('QtAgg')
import matplotlib.pyplot as plt
from shapely import Polygon
from shapely.plotting import plot_polygon
def geo_current(full_plot:bool=False):
A_crosswalk=Polygon([
(-1,1.499),
(-1,3.327),
(0,3.327),
(11.214, 3.327),
(11.214,1.499),
(0,1.499)
])
B_queue=Polygon([
(11.214, 0),
(22.163, 0),
(22.163, 4.826),
(11.214, 4.826)
])
C_road_adj_path=Polygon([
(21.787,4.826),
(24.214,4.826),
(24.214,40.431),
(29.179,40.431),
(29.179,42.511),
(24.214,42.511),
(21.787,42.511)
])
D_path_k_3=Polygon([
(26.45,42.511),
(26.45,52.84),
(26.45,53.84),
(29.179,53.84),
(29.179,52.84),
(29.179,42.511)
])
E_path_4_6=Polygon([
(29.179,42.511),
(54.351,42.511),
(60.406,48.842),
(60.406,51.22),
(60.406,52.22),
(63.49,52.22),
(63.49,51.22),
(63.49,47.866),
(56.381,40.431),
(29.179,40.431)
])
F_path_7_12=Polygon([
(22.163, 0),
(39.227, 5.516),
(39.631, 4.267),
(39.939,3.315),
(45.099,4.983),
(44.792,5.935),
(43.169,10.954),
(24.214,4.826),
(22.163,4.826)
])
G_extended_queue=Polygon([
(11.214,0),
(12.924,0),
(12.924,-4.569),
(11.214,-4.569)
])
H_angled_path=Polygon([
(21.787,13.192),
(21.787,10.527),
(17,4.826),
(14.767,4.826)
])
enter_k_3=Polygon([
(26.45,52.84),
(29.179,52.84),
(29.179,53.84),
(26.45,53.84)
])
enter_4_6=Polygon([
(60.406,51.22),
(60.406,52.22),
(63.49,52.22),
(63.49,51.22)
])
enter_7_12=Polygon([
(39.631, 4.267),
(39.939,3.315),
(45.099,4.983),
(44.792,5.935)
])
exit_polygon=Polygon([
(0,1.499),
(0,3.327),
(-1,3.327),
(-1,1.499)
])
geometry = (
A_crosswalk.union(
B_queue).union(
C_road_adj_path).union(
D_path_k_3).union(
E_path_4_6).union(
F_path_7_12).union(
G_extended_queue).union(
H_angled_path)
)
doors = [
enter_k_3,
enter_4_6,
enter_7_12,
exit_polygon
]
if full_plot is False:
plot_polygon(A_crosswalk,color="black",add_points=False)
plot_polygon(B_queue,color="black",add_points=False)
plot_polygon(C_road_adj_path, color="blue",add_points=False)
plot_polygon(D_path_k_3, color="blue",add_points=False)
plot_polygon(E_path_4_6, color="blue",add_points=False)
plot_polygon(F_path_7_12, color="blue",add_points=False)
plot_polygon(G_extended_queue, color="black",add_points=False)
plot_polygon(H_angled_path, color="black",add_points=False)
plot_polygon(enter_k_3, color="darkgreen",add_points=False)
plot_polygon(enter_4_6, color="darkgreen",add_points=False)
plot_polygon(enter_7_12, color="darkgreen",add_points=False)
plot_polygon(exit_polygon, color="orangered",add_points=False)
else:
plot_polygon(geometry,color="blue",add_points=False)
plot_polygon(enter_k_3,color="red",add_points=False)
plot_polygon(enter_4_6,color="red",add_points=False)
plot_polygon(enter_7_12,color="red",add_points=False)
return geometry, doors
if __name__ == "__main__":
from PyQt6 import QtWidgets
app = QtWidgets.QApplication(sys.argv)
geometry,doors = geo_current(True)
plt.show(block=False)
sys.exit(app.exec())