我有一个矩形范围[[左,下],[右,上]]和一个初始点[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)
现在我想把这些结合起来,生成一个nx2数组(由n个点组成)。我是NumPy的新手,我知道有很多方法可以优雅地组合阵列,但我很难考虑每个用途的尺寸和正确的函数。是否有一个很好的序列/功能组合来实现这一点
要生成每个维度的值范围,请定义以下函数:
为了测试它,我假设以下数据:
然后我为两个轴生成了范围:
获取:
要生成预期结果(点列表),您可以运行:
它的最初部分是:
然后按照类似的“部分”查看rngY中的其他值
编辑
生成最终结果的另一个更简洁的解决方案是:
(分数的顺序不同,但我认为这并不重要)
使用虚拟数据的示例
相关问题 更多 >
编程相关推荐