取一个正方形并将其划分为N个相同大小的小方块,并返回其中心的坐标

时间:2015-01-13 22:04:32

标签: python algorithm math

假设我有一个正方形,100×100维。

如果我说N=4,则返回的中心将为(25,25) (25,75) (75,25) (75,75)

如何创建算法来解决这个问题?感谢

1 个答案:

答案 0 :(得分:0)

假设N是一个正方形数字,可以采用以下方式:

import math
nd = 100.
N = 4
n = int(math.sqrt(N))
d = nd / n
c = [i*d+d/2 for i in range(n)]
[[(x,y) for x in c] for y in c]

=== Output: ===
[[(25, 25), (75, 25)], [(25, 75), (75, 75)]]

d是每个正方形的边长,沿着要摆放的大正方形的每一边都有n;他们的中心从d/2移开了边缘。