3 from __future__
import division
9 def __init__(self, point, angular_cluster, spatial_cluster):
20 for cluster
in set(spatial_clusters):
23 for wall
in wall_list:
24 if wall.spatial_cluster == cluster:
26 angle = wall.angular_cluster
28 mid_x = (wall.x1+wall.x2)/2
29 mid_y = (wall.y1+wall.y2)/2
30 mid_point = np.array([mid_x,mid_y])
31 mid_points.append(mid_point)
36 mid_points.sort(key=
lambda x: (x[1], x[0]))
37 index = len(mid_points)//2
38 point = np.array([x_min, mid_points[index][1]])
40 elif angle == math.radians(90):
42 mid_points.sort(key=
lambda x: (x[0], x[1]))
43 index = len(mid_points)//2
44 point = np.array([mid_points[index][0], y_min])
48 mid_points.sort(key=
lambda x: (x[0], x[1]))
49 index = len(mid_points)//2
50 point = mid_points[index]
51 extended_lines.append(
Line(point, angle, cluster))