如何将大区域拆分为凸多边形的算法

3
我正在将A*路径规划算法应用于基于网格的引擎中,但我希望在多边形区域内创建节点,而不仅仅使用网格点。
这个区域中会有障碍物,不能穿过。
我想知道是否有一些算法可以将具有障碍物的大区域分割成具有最小数量的连通凸多边形的图形?

我看到这个问题已经问了很长时间了,但我还是想试试运气。你能找到一些可行的解决方案/算法来解决这个问题吗? - Dmitrii Naumov
1个回答

1

有很多算法可用。通常你需要处理三角测量算法。你需要删除穿过障碍物的线路,然后可能对其进行最短路径算法。不过我不确定为什么你想要最少连接的凸多边形,但同样可以做到。答案就是这些点的凸包。一个多边形从定义上来说就是最少的。


1
每个多边形将成为连接图中的一个顶点,我将使用它来导航。我认为尽可能少的顶点数量对于优化最好;仅将区域分割成三角形并不能给我最小的节点数。点的凸包不起作用,因为中间可能会有需要考虑的障碍物。 - Max Tyler
我认为节点连接的最小数量并不是很有帮助。但是,在大多数情况下,您可以找到它们全部,然后根据某些标准(例如挡路物或某些其他条件)将它们削减掉。 - Tatarize

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接