我有一个由X,Y坐标点数组表示的多边形(PHP)。我希望在点A和点B之间找到多边形内最短的路径。实际上,我有一个任意区域,定义为简单多边形,我想知道其中的距离(例如,将其视为代表小径的多边形-我想估计小径有多长)。
寻找伪代码或一些提示从哪里开始。我搜索了互联网,除了一些难以理解的三角剖分和漏斗算法论文外,似乎运气不佳。
寻找伪代码或一些提示从哪里开始。我搜索了互联网,除了一些难以理解的三角剖分和漏斗算法论文外,似乎运气不佳。
在谷歌上搜索多边形最短路径会出现很多有用的链接。其中一个算法的详细描述可以在这里找到(包括一个演示该算法的应用程序)。许多算法都是针对更复杂的问题,即允许多边形中存在孔洞的问题。它们可以直接用于简单多边形的情况下(实际上,您的问题可以被视为在一般多边形中寻找路径的特殊情况,其中所有孔洞(障碍)与边缘共享一个点)。
我认为最好的方法是通过多边形顶点的可见性图以及起点和终点(如果它们不是顶点)定义的空间进行A*搜索。