alpha shape algorithm

一个求轮廓的算法

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三角网是“最接近于规则化”的三角网。具体的说是指在两个相邻的三角形构成凸四边形的对角线,在相互交换后,六个内角的最小角不再增大。

 

posted @ 2023-01-21 12:07  WTSRUVF  阅读(203)  评论(3编辑  收藏  举报