1. 本质是滚球法,通过控制不同半径的滚球,求取包络,可以较好求取凹多边形的可能组合。
2. 基本算法:
—— 求取任意两点之间的连线,共N*(N-1)/2
—— 假设滚球半径为R,断开所有距离大于2R的连接,因为必然滚进去
—— 对任意剩余链接的两点做半径为R的外接圆,则最多存在2个可行解,外接圆还有第三个点,认为无效,只保留外接圆不包含任何第三点的;
—— 所有剩余的外接圆对应的连接构成边界信息!
----------------------------------------------------------------------
一、上面是最简单粗暴算法,该算法中,选取合理的R非常重要!!!
二、一种改进算法是建立Delaunay三角面片,那么按照Delaunay三角面片定义,只需要检测那条边大于2*R,把它解开,就可以,最后搜索边界边就可以了;
三、还有一种改进思路,是检测对称性,可以减少工作量!