这是交易 - 我正在研究一种能够在几乎任何环境中生成导航网格的算法/库,在这种环境中我可以获得受控代理和/或同一静态内的其他代理的坐标环境。我唯一的输入是代理人去过的点集合。 (See the image here to hopefully understand what I mean)
我已经达到了可以手动创建导航并在其上导航的程度。但是,在较大的环境中,只有受控代理的坐标,手动执行它真的很乏味且耗时。
对我来说这种算法/库的用途是显而易见的,但我已经考虑了很多,所以我将列出一些我想要完成的事情:
现在你希望看到我正在寻找什么样的解决方案。
我尝试过几件事,但无法弄明白。我尝试过的最成功的事情之一是为每个单独的点(创建一个圆圈)提供一个范围,然后寻找具有重叠圆圈的地方 - 您很可能会在这些区域上移动。这种方法的问题始于三角区域。生成的网格可能有点不准确,但它必须能够无缝连接到网格的现有(“已发现”)部分(并非所有内容都必须以某种方式互连,因为代理可以消失并重新出现,但在合理的距离内,连接网格)。
更多信息:我在C#工作,尽管java,C ++ / C,Objective C,伪代码等解决方案同样可以接受。
P.S。我对所有答案都不感兴趣,比如“只使用这个库”或“使用其他语言/环境”等...我想要一个算法。提前谢谢。
答案 0 :(得分:0)
我可以帮助2D路径查找。你需要找到红色轮廓。然后你可以使用红色轮廓的voronoi图(不是代理点)。移除红色轮廓外的所有边缘,其余边缘可用于按某人/某物导航形状。阅读:http://www.cs.columbia.edu/~pblaer/projects/path_planner/。