geometry - 多边形区域计算

标签 geometry artificial-intelligence polygon vertex

因此,为了工作,我正在开发一个可以探索任意区域的机器人 Controller 。该区域由一系列顶点定义(它是一个多边形)。这是一个例子:

An example region.

机器人从中间开始,尝试到达最外层边界,然后一路跟随。但由于地形的原因,它可能无法到达某些区域,只能探索给定的区域:

Full exploration is blocked.

我想要做的是计算所有尚未探索的单个区域,并返回定义其边界的顶点,如下所示:

The calculated regions

计算完成后,我应该有一个新的多边形数组,其中包含 A、B 和 C 的几何图形。

不幸的是,我无法想出一个好的、快速的算法来做到这一点。计算这个的最佳方法是什么?

最佳答案

一种方法是为点p定义一个谓词,使其“接触”封闭区域的边界,可能根据某种容差ε > 0,例如,T 当且仅当 p 位于边界 ε 的距离内。然后遍历探索区域的边界,注意每个顶点的谓词:..,T, T, T, F, F, F, F, F, T, T,... 然后您的区域由 F 的最大字符串、限制这些 F 的两个 T 向量以及它们之间的边界区域的边界分隔。我刚刚用作示例的字符串概述了您的区域 B:五个 F

关于geometry - 多边形区域计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11192198/

相关文章:

algorithm - 给定二维平面中的 n 个点,我们必须找到每个点之间的 k 个最近邻居

php - 如何获取沿圆周的像素

python - 给定三个点的坐标,如何判断定义的三角形是等边、等腰还是不等边三角形?

machine-learning - 创建自学习情感词典

machine-learning - 使用 HMM 进行语音识别

xml - 如何在 XML 文件中的同一元素名称中写入多个 Mats?

language-agnostic - 展开凸多边形的填充

algorithm - 确定给定半径算法内的点

多边形分解算法

算法或生成器或示例道路车道/和网络