`
chinamming
  • 浏览: 141704 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

浅谈Delaunay三角剖分

 
阅读更多
在3D建模中,通常得到一系列散乱的点集,该点集描述了物体外表面的几何特征和构造。为了用三角网格进行描述物体表面,沃恩则需要对其进行三角剖分。

二维Delaunay三角剖分:

Delaunay边:e是E中满足以下条件的边:存在一个圆经过其端点a b,圆内不包含点集V中的其他任何点。

Deluanay三角剖分:如果V的一个三角剖分T只包含Delaunay边,那么该三角剖分为Deluanay剖分。

Deluanay 三角剖分的特性:

(1)最大化三角剖分T中所有三角形的最小角,以避免出现过于扁平的三角形。

(2)三角剖分T的任何一个三角形的外接圆满足空圆性质:该圆内不包含任何其他点。(局部优化处理)

(3)四边形对应的剖分对角线两边的角度之和小于或者等于180,则该剖分满足Delaunay特性。

对于任意四边形,都可通过修改对角线的方法来得到Delaunay三角剖分。

算法描述:

输入:平面有限点集

输出:Delaunay三角剖分T

构建散点集V的任意一个三角剖分T

T中所有不满足空圆特性的内部边都压入栈并且做标记。

while 栈非空 do

begin

pq=pop()

去掉pq标记。

if pq不符合空圆特性 then

begin

用所在四边形的另一条对角线代替他,并将四边形的4条边中未标记的边压入栈。

end

end

return T


另一种方法:随机增量算法

该方法首先用一个足够大的三角形围住一堆随机排列的散列点,然后依次从点集中插入新点,不断更新当前的三角剖分,直至所有点插入完毕。

三维Delaunay三角剖分:

常用方法是,先在二维平面上对其进行三角剖分,然后加上高度数据,来得到三维三角形剖分。在各个方法存在投影变形。

有一个适用于平面和空间三角剖分的算法,该算法的实质上是不断往点集中添加新顶点,然后通过Delaunay空洞的特性构造新的剖分。

Delaunay空洞:在Delaunay三角剖分T中添加一个新顶点P,删除所有外接圆包含P的三角形,形成一个新的三角形集合B,则B成为Delaunay空洞。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics