一个求轮廓的算法
an alpha value (0< α < ∞) is a parameter imposing the precision of the final boundary.
A large value(α->∞) results in the alpha boundary of a convex hull while a
small value (α->0) means that every point can be the boundary point.
暴力思想:
预定义圆的半径r,遍历点集P内的任意两点,如果经过这两点画成的圆内没有其它点,则这两个点为轮廓点
做法:求两圆圆心,如果其它点到圆心的距离大于r,就说明不在圆内呗
(注意:如果这两个点的的距离小于2r,会画出两个圆,只要任意一个圆内没有其它点,即为轮廓点,如下图所示)
优化方法:
根据点集P建立Delaunay三角网
若三角形中某条边的长度大于2r,则删除该三角形
对三角网每条边进行判断:若过某条边的两点且半径为r的圆包含其他点,则删除该三角形
求出剩余三角网的边缘,该边缘即为点集P的边缘线
Delaunay三角网是一个符合以下两个条件的三角剖分
1.空圆特性:Delaunay三角网是唯一的(任意四点不能共圆),在Delaunay三角形网中任一三角形的外接圆周围内不会有其它点存在。
2.最大化最小角特性:在散点集可能形成的三角剖分中,Delaunay三角剖分所形成的三角形的最小角最大。从这个意义上讲,Delaunay三角网是“最接近于规则化”的三角网。具体的说是指在两个相邻的三角形构成凸四边形的对角线,在相互交换后,六个内角的最小角不再增大。
标签:algorithm,三角网,shape,圆内,alpha,三角形,Delaunay,boundary From: https://www.cnblogs.com/WTSRUVF/p/17063699.html