Python - 生成等间距点的网格

Python - Generate a grid of equally spaced points

我有一个 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)

因此,您得到了 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)]