这是交易 - 我正在研究一种算法/库,它能够在几乎任何环境中生成导航网格,在这些环境中,我可以获得受控代理和/或同一静态环境中其他代理的坐标。我唯一的输入是代理去过的点的集合。 (请参阅此处的图片以希望了解我的意思)
我已经到了可以手动创建导航网格并很好地导航它们的地步。然而,在更大的环境中,只有受控代理的坐标,手动执行它真的很乏味和耗时。
这种算法/库的用途对我来说是显而易见的,但我已经考虑了很多,所以我将列出一些我想要完成的事情:
- 机器人技术(扫描环境,仅获取从自身到点的距离,因此获取坐标 - 无需复杂的图像/视频处理)
- 能够通过探索未知和看不见的迷宫(任何形状或大小)来导航它的人工智能
- 记录步行区域并为不知道某些地方的游戏创建人工智能,除非他们去过那里
现在你希望看到我正在寻找什么样的解决方案。
我已经尝试了几件事,但无法弄清楚。我尝试过的最成功的事情之一是给每个单独的点一个范围(创建一个圆圈),然后寻找有重叠圆圈的地方——你很可能在这些区域上移动。这种方法的问题始于对区域的三角测量。生成的网格可能有点不准确,但它必须能够无缝连接到网格的现有(“发现”)部分(并非所有内容都必须以某种方式互连,因为代理可以消失和重新出现,但在合理的接近范围内,连接网格)。
更多信息:我正在使用 C#,尽管 java、C++/C、目标 C、伪代码等的解决方案同样可以接受。
PS我对“只使用这个库”或“使用这个其他语言/环境”等答案完全不感兴趣......我想要一个算法。先感谢您。