问题标签 [path-finding]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
761 浏览

c - 机器人以相反的顺序跟随网格

我应该只用C编写一个程序。这是网格追随者的代码。

我已经定义了网格的坐标系(0-5,0-5)。还定义了机器人方向(+y、-y、+x、-x)和位置。(我欢迎有关如何为此编写好的代码的提示。)

现在,当我的机器人穿过网格并通过某个路径到达网格中的某个坐标 (x,y) 时。只允许 90 度和 180 度转弯。

我怎样才能到达(0,0),即起点,穿越相同的路径?如何使用 C 代码反转方向并给出适当的转动指令?

0 投票
2 回答
5464 浏览

algorithm - 最快路径算法

我目前正在实施一个导航系统,用于通过欧洲进行路由。到目前为止,我已经实现了最短路径(Dijkstra 和 A*)。这是最简单的部分,现在我需要一些最快路径的算法。它必须快速可靠。

我知道这可以通过为道路质量(例如 1 条高速公路、2 条主干道......)分配值来完成,然后将这些值与路线成本相乘,最后使用 Dijkstra 或 A*,但这还不够复杂。

我正在寻找更准确的算法。地图本身包含各种数据,比如道路质量、限速、红绿灯位置等,我想用它。

有什么好的算法吗?或者至少是对 A* 的一个很好的修改?

0 投票
1 回答
349 浏览

path-finding - 寻找一系列点之间的路径

为了在我的一个简单项目中使用,我遇到了一些障碍。

我在网格中有一系列点,“墙壁”和“开放空间”。网格外的空间被假定为墙。我在这个网格中有任意数量的开放点,如果我让网格中的一个特定块从开放空间变为墙壁,我必须确定连接的点是否会改变。

这样做的有效方法是什么?

例子 .

示例:如果绿色方块是墙壁或开放空间,则确定红色方块之间路径的存在/不存在是否会改变。(PS:我真诚地为我糟糕的网格道歉)

现在,我假设某种元胞自动机是最好的,但我不确定。我以前看过寻路,但从未真正看到任何涉及此类问题的东西。

请注意:我不在乎路径有多长,(我知道它们的最大长度)它们必须存在。所以没有必要找到点之间的最佳路径。

哦,虽然没关系,但我正在用 Java 编写这个项目,但是任何语言(或伪代码)或算法的英文描述就足够了。(我知道大多数花括号语言,以及有限的 Haskell 和 LISP,他们都可以。)

0 投票
3 回答
2448 浏览

c# - 多维数组中的路径查找

我有点理解寻路的概念,以及程序如何以最有效的方式从 A 点寻找 B 点,并且对 A* 的概念有点熟悉。但是,如果不是试图找到一条穿过迷宫的路,而是试图在封闭的迷宫中找到最长的走廊,而走廊不能在对角线上呢?

这是我的示例迷宫:

如果使用 1 作为允许路径,使用 0 作为无效路径,则最长路径为 5,坐标为 (0,3), (1,2), (1,3), (2,2), (3, 2)。

我将如何递归地找到这些信息?

我一直在绞尽脑汁思考如何从 (0,0) 开始向上、向下、向左、向右移动,看看这些是否可能移动,但我想出的任何版本都会遇到重复和重复计数。

0 投票
2 回答
421 浏览

objective-c - 寻路/决定方向

我正在使用 cocos2d-iphone 制作一个简单的 iPhone 游戏。我有一系列恶魔,“fiendSet”必须在充满障碍的场地中导航。我花了最后三个晚上试图让我的 A* 寻路工作。我在 stackoverflow 上找到了实际的 A* 实现,它运行良好。然而,一旦我试图移动我的恶魔,我就会遇到麻烦。

我的每个恶魔都有一个名为 motionTarget 的 CGPoint,其中包含恶魔必须去的位置的 x 和 y 值。如果每秒只将位置 x 和 y 设置为绝对值,它可以工作,如下所示:

然而,这看起来不太好,恶魔只是每秒“跳跃”20px,而不是很好地制作动画。我仅将其实现为占位符方法来验证寻路。现在我想要流畅的动画。这就是我所做的:

这对于朝一个方向移动的恶魔非常有用。一旦恶魔应该绕过弯道,麻烦就开始了。而不是例如先向上,然后向右,然后向下;我的恶魔会把上/右运动合二为一,他们是“偷工减料”。我只希望我的恶魔在每次位置更新时都向北/向南或向东/向西移动,而不是同时向两者移动。换句话说,我不想同时对 x 和 y 的变化进行动画处理。我希望这个解释足够清楚..

我很确定我在某个地方有一个逻辑错误..我只是在下班后的最后三个不眠之夜无法弄清楚..帮助!

0 投票
1 回答
44 浏览

wcf - wcf 和寻路

一般来说,我永远不会期望在同一个句子中同时看到这两个词,但是我正在从事一个需要我在多条道路上进行简单寻路的项目,而我只是想找出最好的方法来做到这一点。

我最初考虑让一些 wcf 服务可以接受起点和终点在那里工作并发回结果。但是数据都在一个数据库中,所以理想情况下我需要内存中的所有路由,否则它会很慢,我可以这样做吗?

0 投票
5 回答
4661 浏览

heuristics - 如何在无网格的 2D 平面上使用 A* 寻路算法?

如何在没有节点或单元的无网格 2D 平面上实现 A* 算法?我需要对象在目标途中绕过相对较多的静态和移动障碍物。我当前的实现是在对象周围创建八个点,并将它们视为可能是对象潜在位置的虚构相邻正方形的中心。然后我计算每个启发式函数并选择最好的。起点和运动点之间的距离,以及运动点和目标之间的距离我用勾股定理计算正常的方式。问题是这样的对象经常忽略所有的障碍物,甚至更经常地被卡在两个位置之间来回移动。我意识到 mu 问题可能看起来多么愚蠢,但感谢您提供任何帮助。

0 投票
3 回答
2247 浏览

algorithm - 在不完全适合内存的矩阵中进行路径查找的最佳算法

我面临一个难题:

想象一下,我有一张整个国家的地图,由一个巨大的单元矩阵表示。每个单元格代表 1 平方米的领土。每个 Cell 表示为一个double介于 0 和 1 之间的值,表示遍历该单元的成本。

该地图显然不适合内存。

我正试图围绕一种方法来计算机器人的最佳路径,从起点到终点。我的第一个想法是制作一个类似 TCP 的移动窗口,在移动机器人周围有一个真实地图的小地图,并在里面执行 A* 算法,但我遇到了一些问题,地图有巨大的墙壁,糟糕寻路之类的……

我正在搜索有关 A*-like 算法的文献,但我无法想象出对于这个问题来说什么是一个好的解决方案的近似值。

我想知道是否有人遇到过类似的问题,或者可以帮助提出可能的解决方案!

提前致谢 :)

0 投票
2 回答
1144 浏览

python - 如何通过 py-appscript 访问路径查找器中的文件选择?

使用 mac os x 上的文件管理器路径查找器,我想使用 python 检索选定的文件/文件夹py-appscript。py-appscript 是一个高级事件桥,允许您从 Python 控制可编写脚本的 Mac OS X 应用程序。

在applescript中它会像

在python中,它会改为

那么,如何将 selection_list 中的引用转换为 python-strings?

0 投票
2 回答
1174 浏览

python - 制作地图和寻路 AI

我想从谷歌地球追溯地图,然后这些地图将用于计算从 A 到 B 的最快路线以及由某些因素定义的位置概率。我将如何去做这些?我的第一个想法是 pygame 并使用一些已经制作的或将它们用作模板。