我创建一个数组:
nMap = [[[x,y, math.inf, True]for y in range(width)]for x in range(height)]
nMap = np.array(nMap)
然后我获取该数组并将值的距离设置为0
nMap[0][0][2] = 0
此后,我使用for循环仅在将数组中的所有值都设置为false时运行
while (np.all(nMap[:,:,3]) == False):
然后我创建一个数组,该数组返回不等于false的所有节点的坐标
tempNode = np.where(nMap[:,:,3] != False
最后,我使用此节点创建距离值最小且值等于False的单点坐标
minNode = np.where((nMap[:,:,2] == np.amin(nMap[tempNode[0][:][0],tempNode[0][:][1],2])))
然后,我向距离最小的点的邻居分配一个累积距离,并在nMap中将minNode坐标设置为False。该程序每次都应该循环,但是当我测试代码时,它将minNode设置为0,0 0,1 0,2 ...但是当到达列的末尾时,它通过将minNode设置为0,1无限循环。 。我的问题是,是否有办法找到一个点的布尔值和最小距离,并能够使用这些坐标。预先谢谢你