Python - 生成等间距点的网格

时间:2015-03-16 13:17:46

标签: python for-loop numpy

我有一个MxN的正方形区域,其中M:N的比率是a:b。如何通过算法计算一系列与这些正方形中心对应的(x,y)坐标?

例如,比例为1:1的2x2正方形网格将具有以下中心(如果宽度和高度为100):

(25,25),(75,25),(25,75),(75,75)

示例代码:

x = np.array([])
y = np.array([])
M,N = 100,100

for a in range(1,M+1):
    for b in range(1,N+1):
        print(a,b)
        x = np.append(x,a)
        y = np.append(y,b)

1 个答案:

答案 0 :(得分:0)

所以,给你m,n和总面积的高度和宽度。调用高度和宽度i,j并观察它们必须是m,n的倍数,并且i / m = j / n或者我们以错误的输入退出。称此数量为i / m(正方形的边长)s。现在应该很明显,我们只是想要 第一行[(s/2) + (x * s) for x in range(m)]。为了将其扩展到网格,我们只是做了明显的

[((s/2) + (x * s), (s/2) + (y * s)) for x in range(m) for y in range(n)]