第
30
卷第
1
期
2010
年
1
月
计算机应用
Vo
l. 30
No.
1
Jan.20
1O
Joumal of Computer Applications
文章编号
:1001
-9081(2010)01
-0075
一
03
基于
Delaunay
三角剖分生成
Voronoi
图算法
孙继忠胡艳
2
马永强
I
(1西南交通大学信息科学与技术学院,成都
610031;
2
西南交通大学理学院,成都
610031
)
(jizhongsun@qq.
com)
摘
要:针对
Delaunay
三角网生长算法和间接生成飞
Toronoi
图算法构网效率不高的问题,提出了一种
Delaunay
三
角网生长法间接生成
Voronoi
图的改进算法。该算法以点集凸壳上一边快速生成种子三角形,定义了半封闭边界点
的概念,在三角形扩展过程中动态删除封闭点及半封闭边界点,加快
Delaunay
三角网生成速度。然后又定义了有序
目标三角形的概念,该算法能迅速查找点的有序目标三角形,生成无射线的
Voronoi
图;考虑凸壳上点的特性,借助三
个无穷点生成带射线的
Voronoi
图。通过实验结果分析表明,改进的算法执行效率有了很大提高。
关键词:
Delaunay
三角剖分;
Voronoi
图;凸壳;计算几何
中图分类号
:T
凹
9
1.
41
文献标志码
:A
Voronoi diagram generation algorithm based
on
Delaunay triangulation
SUN
Ji-zhong
I
,
HU
Yan
2
,
MA
Yong-qiang
I
(
1.
School
of
Info
T7rUJ
tion
Science
α
nd
Technology
,
South
阳出
t
Jiaotong
University
, Chengdu
Sich
皿
n
610031
,
China;
2.
Department
of
M
α
thematics
,
South
由自
t
Ji
ω
tong
University
, Chengdu Sichuan
610031
,
Chin
α)
Abstract:
Considering the problem that the algorithm of building auto-c()nnected Delaunay triangulation and indirectly
building Voronoi diagram is of
low
efficiency, an improved Voronoi generation algorithm based on auto-connected Delaunay
triangulation
was
þresented. The seed triangle was rapidly generated by one side of the convex hull. The notion of
half
closed-
border-point was proposed. The algorithm removed closed-points and half closed-border-points in the process of expanding
triangle and improved the speed of generating Delaunay triangulation. Then
, the notion of ordered target triangle was defined.
It
quickly found ordered target triangles and generated the non-ray Voronoi diagram. Considering the characteristics of convex
hull
, a ray Voronoi diagram was generated by three infinite points. The experimental results show that the efficiency of the
improved algorithm is obviously improved.
Key
words:
Delaunay triangulation; Voronoi diagram; convex hull; computational geometry
。
引言
Voronoi
图与
Delaunay
三角形、
Convex
hull
并列为计算几
何的三大支柱,它已成功解决了找最近点、求最大空圆、求
N
个点的凸包、求最小生成树等问题,在计算机图形学、地理信
息系统、模式识别等有广泛的应用
[1-2J
Voronoi
图与
Delaunay
三角剖分互为对偶图,则可以通过
Delaunay
三角剖
分间接生成
Voronoi
图。
Delaunay
三角剖分具有最大化最小
角、外接圆准则等重要性质。文献
[3J
根据实现过程,把生成
D-
三角网的各种算法分为三类:分治算法、逐点插入法、三角
网生长法
L
而三角生长法基本上都在寻找"第三点"上进行
改进。例如
McCullagh
和
ROSS[4
J
通过把点集分块和排序改进
了点搜索方法,减少了搜索时间。文献
[5J
中提出了封闭点
概念对三角网生长算法作出了一些改进,如果凸壳上的点数
过多,影响第二点的搜索速度,算法效率会降低。由
Delaunay
图构造
Voronoi
图,通常做法是遍历所有三角形,找到与该点
相关的三角形。如果点集数比较多,每次都遍历一次所有三
角形,搜索效率比较低;其次不能有效区分对凸壳内部点与凸
壳边界点生成
Voronoi
图。为此,针对以上问题提出了一种
Delaunay
三角剖分间接生成
Voronoi
固的改进算法,该算法能
提高构造
Delaunay
三角剖分速度,对凸壳内部点与凸壳边界
收稿日期
:2009
-07
-18;
修回日期
:2009
-08
-24
。
点进行有效识别与处理,同时提高构造
Voronoi
图的速度。
1
基本概念
在构造
Delaunay
图过程中,动态剔除封闭点和半封闭边
界点,可以减少第三点的搜索时间,提高生成新三角形的速
度。所以在文献
[5J
封闭点概念的基础上,定义半封闭边界
点:
定义
l
不共线点集
s =
忡。,町,饨,…,叫
In
注
21
,假设
U
为点集
S
凸壳上的一点,与
U
相连接的点集合
E(v)
!PI ,
P2
,
…
,
Pml
。如果存在
E(
v)
不为空
,
PI
V
P2
、
P2
啊,…
,
Pm_IVPm
按空间顺时针或逆时针均已形成兰角形,且
PI
、
Pm
为凸壳上
的点及
VPI
、
ψm
为凸壳上的边,则由为半封闭边界点。
为了提高
Voronoi
图的构造效率,定义有序目标三角形。
定义
2
PO
为目标点,如果三角形
T
的三个顶点中包含
点
Po
,
则称
T
与
p
。相关,记为
R(po
,
T)
。显然若多个三角形式
与点
Po
相关,记为
R(po
,
凡,町,…
,
T
n
)
。把
T
o
,
町,…
,
T
n
按
空间位置顺时针或逆时针排序为
T
o
'
,
T
1
'
,
…,
Tn'
,则称
R(po
,
T
o
' ,T
1
'
,… , T
n
')为关于
Po
的有序目标三角形。
由于算法的实现和绘图的需要,定义如下数据结构。
定义
3
用于存储平面上散乱点的数组为
pointArray
,构
成
Delaunay
三角网的初始化点集链表为
PointList
,构成
作者简介:孙继忠
(1982
一)
,男,河南驻马店人,硕士研究生,主要研究方向:计算机网络;
胡艳
(1984
- )
,女,河南驻马店人,硕士研究生,
主要研究方向:智能信息处理;
马永强
(1963-)
,男,福建福州人,教授,博士,主要研究方向:计算机网络、信息处理、并行计算、图像检测。