【发布时间】:2021-01-05 17:50:22
【问题描述】:
我有一个矩形范围 [[left, bottom], [right, top]] 和一个初始点 [x, y]。我想用初始点所在的等边点网格(宽度为 w)填充范围。
到目前为止,我通过
找到了左上角的点h = w * math.sqrt(3.0) / 2.0
start = np.array([right - ((right - x) % w), top - ((top - y) % h)])
我可以生成 x & y 位置
x_in_row = np.arange(start[0], right, w)
x_in_off_row = x_in_row - w / 2.0
row_y = np.arange(start[1], bottom, -h)
现在我想将它们组合起来生成一个 n x 2 数组(包含 n 个点)。我对 NumPy 还是很陌生,我知道有很多方法可以优雅地组合数组我只是很难考虑用于每个目的的维度和正确的函数。有没有很好的功能序列/组合来实现这一点?
【问题讨论】:
-
查看meshgrid
-
据我了解,x轴的步长是w,y轴的步长是 h。由于 w 和 h 不同,您要创建的网格是不等边的。如果两个轴的步长相同,它将是等边的。
-
糟糕,我的意思是等边三角形网格
标签: python numpy geometry numpy-ndarray