作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在一系列凸多边形而不是路径点上使用路径查找。更复杂的是,多边形是由用户创建的,并且可能具有不一致的顶点。例如:
我们知道这个对象是 X 宽乘以 Y 深,并且多边形在某些位置有顶点。是否有一种特定的算法可以在将整个对象保持在多边形中的同时找到达到目标的最快方法(如果我理解正确,A * 仅适用于航路点)?您如何处理不是同一对象但位于同一位置的顶点?
编辑:多边形是凸的;它是 2 个独立的多边形,边缘在线。此外,您如何实现 * 寻路,因为基于节点的系统无法在“无限”分辨率多边形中工作?
最佳答案
一般来说,所有最短路径段的终点都是多边形顶点或起点和终点。如果您构建一个包含所有这些段的图(从开始到每个“可见”多边形顶点,从目标到每个“可见”多边形顶点,以及从每个多边形顶点到每个其他多边形顶点)并在该图上运行 A* ,你有你的最佳路径。为 A* 构建图的成本是:
如果您只打算应用一次 A*,那么为单次遍历构建 A* 图的固定部分的代价可能会有些高。另一种方法是在使用时逐步构建图形:
可以找到实现上述方法的 Java 代码 here .
关于artificial-intelligence - 使用 2D 多边形而不是航路点的 AI 寻路 - 有推荐的算法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24345270/
我是一名优秀的程序员,十分优秀!