Alpha Shapes算法介绍
计算几何中Alpha Shqpes描述欧氏平面有限点集形状的一组分段线性的简单曲线。Alpha Shqpes可以用来从一堆无序的点集中提取边缘,其本质是滚球法,通过控制不同半径的滚球,求取包络,可以较好求取凹多边形的可能组合。
如上图所示,在一个有限离散点集S中,有n个点构成,这n个点可以组成n*(n-1)/2条线段,在点集S内,过任意两点P1、P2绘制半径为R的圆(显然,在给定半径时,过确定的两点的圆应该有两个),如果这个圆内没有其他点,则认为点P1、P2是边界点,其连线P1P2即为边界线段。
基本算法流程:
—— 遍历任意两点之间的连线,共N*(N-1)/2
—— 假设滚球半径为R,跳过所有距离大于2R的连接,因为必然滚进去
—— 对任意剩余链接的两点做半径为R的外接圆,则最多存在2个可行解,外接圆还有第三个点,认为无效,只保留