假设我想计算正方形网格中单元格之间的距离5x5
。两个细胞之间的距离是100m
。你知道吗
网格中的每个单元格都是介于0
和24
之间的数字
0 1 2 3 4
5 6 7 8 9
10 11 12 13 14
15 16 17 18 19
20 21 22 23 24
例如:
distance between cell 0 and 3 is 300
distance between cell 2 and 7 is 100
distance between cell 11 and 19 is 400
我必须计算细胞的x
和y
位置之间的距离。你知道吗
gs = 5 ## Cells per side
S = gs*gs ## Grid Size
r0 = 100 ## distance between two cells
for i in range(0, S):
for j in range(0, S):
if i == j: continue
x = int(floor(i/gs))
y = int(floor(j/gs))
dist = x*r0 + abs(j-i)*r0
但这不是正确的解决办法
你应该考虑坐标而不是单元号
这是一种方法:
这个想法是先得到数字的坐标,然后计算“距离”。你知道吗
相关问题 更多 >
编程相关推荐