def pairwise_angles(lines):
# line_starts = np.asarray([list(x[0]) for x in lines])
line_ends = np.asarray([list(x[1]) for x in lines])
tree = KDTree(line_ends)
angles = []
for i, line_A in enumerate(lines):
# Find nearest line
dists, j = tree.query(line_A[0])
if i == j or j > len(lines):
continue
line_B = lines[j]
# Calculate angle between vectors
a0, a1 = np.asarray(line_A)
b0, b1 = np.asarray(line_B)
angles.append(angle_between(a1 - a0, b1 - b0))
return angles
评论列表
文章目录