2D数组最近点坐标

丁香

我在这个问题上挣扎了大约3周;我有一块板子(二维阵列):

0   0   0   -1  0   0   0   0   0   0
0   -1  0   0   0   0   0   -1  0   0
0   0   0   0   -1  0   0   0   -1  0
0   0   -1  -1  -1  0   0   0   0   0
0   0   0   0   0   0   0   0   -1  -1

其中-1表示炸弹,我必须创建一个函数nearest_bombs(board, x,y):,当用户放置x,y坐标时,该函数可以给我最近的炸弹坐标,例如在这种情况下:

用户输入:

x = 0
y = 0

要返回的值: (1,1)

现在,我已经在炸弹板上放置了炸弹的位置:

def where_bombs(board): 
    bombs = board
    result = np.where(bombs == -1)
    bombsCoordinates= list(zip(result[0], result[1]))
    return bombsCoordinates

x=0
y=0

并计算最接近的一个:

def near_bomb(board,x,y):
    b = [(x,y)]
    a = where_bombs(board)
    from scipy.spatial import distance
    dist = distance.cdist(a, b, 'euclidean')
    print (min(dist))

但是我在努力返回近距离的坐标,在这种情况下,近炸弹应该是(1,1)

圣索纳瓦拉

只需替换最后一行near_bomb()即可使用np.argmin()

def near_bomb(board,x,y):
    b = [(x,y)]
    a = where_bombs(board)
    from scipy.spatial import distance
    dist = distance.cdist(a, b, 'euclidean')
    print (a[np.argmin(dist)])

argmin 返回最小值的值的参数(索引),然后可以使用该参数访问其中的相应坐标 a

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何编写一个函数来在 Java 中的 2D 维数组中找到 2 个最近的点?

来自分类Dev

从2D坐标集合中提取子数组?

来自分类Dev

使用空值创建2D矩阵坐标(数组)

来自分类Dev

使用OnItemClickListener从GridView获取2D数组坐标

来自分类Dev

2D数组如何打印数字及其坐标

来自分类Dev

在与2D坐标关联的数据数组中查找最大值的坐标

来自分类Dev

在与2D坐标关联的数据数组中查找最大值的坐标

来自分类Dev

2D数组中2点之间的计算

来自分类Dev

将共面3D点映射到其平面2D坐标

来自分类Dev

将3D点投影到2D屏幕坐标

来自分类Dev

将3D点投影到2D屏幕坐标

来自分类Dev

从数组中找到2个最近的点

来自分类Dev

从数组中找到2个最近的点

来自分类Dev

python从2D数组到3D坐标数组

来自分类Dev

2D平面中与任何点(自身除外)最近的邻居

来自分类Dev

javascript中的2D数组有点麻烦

来自分类Dev

javascript中的2D数组有点麻烦

来自分类Dev

SDO_RELATE ANYINTERACT不适用于2d地理坐标中的点

来自分类Dev

有效地找到50k 2D坐标的n个最近邻居?

来自分类Dev

将3D世界坐标放入2D数组中

来自分类Dev

将点的2D数组转换为1D数组

来自分类Dev

Python:从 3d numpy 数组中的 2d 数组访问保存的点

来自分类Dev

Python-获取2d numpy数组的min坐标元素

来自分类Dev

将具有坐标和值的字典转换为2D数组

来自分类Dev

在Java上使用由坐标设置的标记来打印2d数组

来自分类Dev

在对象的2D数组中打印坐标标记。爪哇

来自分类Dev

2D点的边界

来自分类Dev

从2D矩阵获取坐标列表

来自分类Dev

从2D矩阵获取坐标列表