本研究利用Matlab环境,提出了一种基于Voronoi图理论的最小化资源消耗围捕策略,旨在优化多抓捕者对单逃逸者的追捕过程。
在MATLAB进行图像处理中的循环控制包括以下步骤:
1. 判断所有目标(evader)是否已被捕捉。
2. 获取各个代理的位置数据。
3. 计算当前场上的代理维诺图,并选出处于活动状态的agent索引。
将这些活跃代理的位置信息整合到一个数组中后,开始计算维诺图。在处理过程中会遇到无穷远边的问题,因为无法直接计算涉及无穷大的速度值。为了避免这个问题,需要设定边界条件确保所有点都在指定范围内移动;否则可能会导致出现NaN值,进而影响后续的计算过程。
为了准确地构建每个单元格构成的Voronoi图形,必须对那些位于正方形外部或表示为无穷远距离的顶点进行处理和替换。具体来说:
- 遍历所有单元格,移除在设定边界外的所有顶点以及标记为“无穷”的顶点。
- 如果某个顶点正好落在边界的边缘上,则将其视为有界区域的一部分而不做额外操作。
接下来是检测线段是否与正方形的边界相交。具体步骤包括从vx和vy中按倒序查找,确定起点和终点的位置后,检查这些特定位置的连线是否触碰到了正方形的轮廓。如果发现存在这样的交点,则需要将其加入到V数组中,并确保新添加的点不会与其他已有的顶点ID产生冲突。
在整个过程中需要注意避免重复记录相同的坐标信息。在所有边都经过了相应的检测后,还需为V中新生成的节点找到最近邻接的单元格(通过小于等于条件),并更新这些单元格的相关标识符。