生成Delaunay三角网的合成算法

合集下载

Delaunay三角网生成算法的研究与实现(1).

Delaunay三角网生成算法的研究与实现(1).

Delaunay三角网生成算法的研究与实现(1)摘要 Delaunay三角网作为一种主要的数字地形模型表示法,经过二十多年来的研究,它的生成算法已趋于成熟。

本文在简单回顾和评价了分割—归并法、逐点插入法、三角网生长法等三类主流算法的基础上,介绍并实现了一个融以上算法优点于一体,兼顾空间与时间性能的合成算法。

关键字数字地层模型;三棱柱; Delaunay;三角网;生成算法0 引言计算机图形学是利用计算机研究图形的表示、生成、处理、显示的学科。

经过30多年的发展,科学可视化已成为计算机图形学中最活跃的分支之一,并得到了广泛的应用。

在地质领域,由于大量珍贵的地层钻探数据需要用有效的方式进行直观地表达,因而致使可视化技术成为地质研究和工程勘查领域必不可少的手段。

在建模中,2.5维的分析处理由DTM(数字地形模型)模型进行。

DTM主要由栅格与TIN(不规则三角网)两种数据格式来表示[1,2],而以后者更为重要。

TIN的生成算法中,最终有三种为普遍接受和采用,它们是分割—归并法、逐点插人法和逐步生长法。

本文在简要分析了上述算法所有缺点的基础上,实现了一种合成算法。

1 Delaunay三角网生成算法回顾Tsaj根据实现过程,把生成Delaunay三角网的各种算法分为三类:分治算法;逐点插入法;三角网生长法。

Tsai为比较算法性能,给出了一张各种算法的时间复杂度对照表,如表1所示。

表中,N为数据点数。

0(f(N))表示算法的时间复杂度,它以算法中频度最大的语句频度f(N)来度量。

上述三类算法中,三角网生长法在80年代中期以后就很少用到,较常见的是分治算法和逐点插入法,而这两类算法又各有其长处和短处。

逐点插入法虽然实现过程相对简单,所需内存较小,但它的时间复杂度高。

所以从时间复杂度方面看,分治算法最好。

但由于算法中存在递归,它需要较大内存空间。

在普通的计算机平台上,运行速度慢和占用较大内存都是应该尽量避免的。

本次设计中,我们引入并实现了一种合成算法,将逐点插入法植入到了分治算法中,互相取长补短,从而达到了较好的时空性能,也很好地体现了两者的优势。

基于凸壳技术的Delaunay三角网生成算法研究

基于凸壳技术的Delaunay三角网生成算法研究

75 6
线对调 , 不在 , 不处理 ; 若 则
割合 并 算 法 较 为 理 想 。分 割 合 并 算 法 的 精 髓 在 于
如何 合 理地 分块 , 何 快 速有 效 地 进 行 子 网合 并 和 如
2 传统算法简介及分析
根据 实现过 程 , si 生成 D lu a Ta 把 e n y三 角 网的 a
D M) T 是指 对 地 形 表 面形 态 属性 信 息 的数 字 表 达 ,
是 带有空 问位 置特 征 和地 形 属性 特 征 的数 字 描述 。 D M作 为 GS的基础数 据来 源 , T I 当其地 形 属性 为 高 程 时称 为数 字 高 程模 型 ( ii l l a o o e, Dg a Ee t n M d l简 t v i 称 D M) E 。在地 理信 息系 统 中 , E D M最 主 要 的三种 表 示模型 为规则 格 网模 型 、 高线 模 型 和不 规 则 三 等 角 网 模 型 (T aglr r gl N tok i r nua I eua ew r ,简 称 r r
优化。
无 论是 分 割 合 并 算 法 , 是 逐 点 插 入 法 , 建 还 其
网过程 都是 基于 点 或者 基 于 三 角形 , 章孝 灿 提 而
数字高程模 型
凸壳
局部化过程 ( oa O t iao rcdr ,O ) L cl p mgt nPoeue L P i i
中图法分类号
T 3 17 ; P 9 . 5
文献标志码 : A
数 字 地 形 模 型 ( ii lT r i M d l 简 称 . g a er n o e, D t a


TN作为 D M 的一种重要表达模型 , I E 其生成算法一直备 受关注。首先对传统 的生成算法原理进行 总结, 并针对其特

delaunay三角网生长准则及算法

delaunay三角网生长准则及算法

Delaunay 三角网是Voronoi(或称thiessen多边形,V 图)图的伴生图形◆Delaunay 三角网的定义:由一系列相连的但不重叠的三角形的集合, 而且这些三角形的外接圆不包含这个面域的其他任何点。

◆Voronoi图的定义:Voronoi图把平面分成N 个区,每一个区包括一个点,该点所在的区域是距离该点最近的点的集合。

◆Delaunay三角网的特性:◆不存在四点共圆;◆每个三角形对应于一个Voronoi图顶点;◆每个三角形边对应于一个Voronoi图边;◆每个结点对应于一个Voronoi图区域;◆Delaunay图的边界是一个凸壳;◆三角网中三角形的最小角最大。

空外接圆准则最大最小角准则最短距离和准则在TIN中,过每个三角形的外接圆均不包含点集的其余任何点在TIN中的两相邻三角形形成的凸四边形中,这两三角形中的最小内角一定大于交换凸四边形对角线后所形成的两三角形的最小内角一点到基边的两端的距离和为最小Delaunay三角剖分的重要的准则张角最大准则面积比准则对角线准则一点到基边的张角为最大三角形内切圆面积与三角形面积或三角形面积与周长平方之比最小两三角形组成的凸四边形的两条对角线之比。

这一准则的比值限定值,须给定,即当计算值超过限定值才进行优化Delaunay三角剖分的重要的准则不规则三角网(TIN)的建立●三角网生长算法就是从一个“源”开始,逐步形成覆盖整个数据区域的三角网。

●从生长过程角度,三角网生长算法分为收缩生长算法和扩张生长算法两类。

方法说明方法实例收缩生长算法先形成整个数据域的数据边界(凸壳),并以此作为源头,逐步缩小以形成整个三角网分割合并算法逐点插入算法扩张生长算法从一个三角形开始向外层层扩展,形成覆盖整个区域的三角网递归生长算法逐点插入算法分割合并算法12121212递归生长算法333TIN 建立过程中的几个问题:◆邵春丽.DELAUNAY 三角网的算法详述及其应用发展前景◆鲍蕊娜,等:基于凸壳技术的Delaunay 三角网生成算法研究◆于杰等:Delaunay 三角网构建方法比较研究周围点的提取 点在三角形中的查找 空外接圆判断准则 线段求交问题。

DELAUNAY三角网的算法

DELAUNAY三角网的算法

二、Delaunay(德洛内)三角网 1、定义:一系列相连但不重叠的三角形的集合,而且 这些三角形的外接圆不包含这个面域的其他人任何点。 2、性质:(1)、每个Delaunay三角形的外接圆不包 含面内其他任何点,即Delaunay三角网的空外接圆 性质。这是创建Delaunay三角网的一项判别标准。 (2)、在由点集V中所能形成的三角网中, Delaunay三角网中三角形的最小角度是最大的。
DELAUNAY三角网的算法
一、引言 TIN(Triangulated Irregular Network,不规则三角网)
是由Peuker和他的同事于1978年设计的一个系 统,它是根据区域的有限个点集将区域划分为相等的 三角面网络,数字高程由连续的三角面组成,三角面 的形状和大小取决于不规则分布的测点的密度和位置, 能够避免地形平坦时的数据冗余,又能按地形特征点 表示数字高程特征。TIN常用来拟合连续分布现象的 覆盖表面。
3、优点:结构良好,数据 结构简单,数据冗余度 小,存储效率高,可适 应各种分布密度的数据。
p1
p4
p2 p3
p6
p5
三、Voronoi图 (泰森多边形或Dirichlet图)
由一组由连接两邻点直线的垂直平分线组成的连续多 边形组成。 N个在平面上有区别的点,按照最邻近原则划分平面; 每个点与它的最近邻区域相关联。 Delaunay三角形是由与相邻Voronoi多边形共享一条 边的相关点连接而成的三角形。 Delaunay三角形的外接圆圆心是与三角形相关的 Voronoi多边形的一个顶点。 Voronoi三角形是Delaunay图的偶图 。



3、根据优化准则对局部新形成的三角形进行优化(如互 换对角线等)。将形成的三角形放入Delaunay三角形链 表。 4、循环执行上述第2步,直到所有散点插入完毕。 上述基于散点的构网算法理论严密、唯一性好,网格满足 空圆特性,较为理想。由其逐点插入的构网过程可知,在 完成构网后,增加新点时,无需对所有的点进行重新构网, 只需对新点的影响三角形范围进行局部联网,且局部联网 的方法简单易行。同样,点的删除、移动也可快速动态地 进行。 但在实际应用当中,这种构网算法不易引入地面的地性线 和特征线,当点集较大时构网速度也较慢,如果点集范围 是非凸区域或者存在内环,则会产生非法三角形。

一种改进的Delaunay三角网生成算法

一种改进的Delaunay三角网生成算法

的数据量小于分割 阈值时终止 。然后用逐点插入法在子集中生
0 引 言
不规则三角 网 TN( r nuae r glr e ok 在地理信 I T a gl dI e a t r ) i t ru N w
息 系统 、 计算机 图形学 及虚拟 实现 等领域 有着 广泛 的应 用 , 而 D l ny三角 剖 分 是 被 普 遍 采 用 的 TN 的 构 网 技 术 。 目前 e ua a I
王 强 郑逢斌 乔保军 马庆华
( 河南大学数据与知识工 程研究所 河南 开封 4 5 0 ) 7 0 0
摘 要
D lua e ny三角 网在 GS V 中用途广 泛 , 割一 归并法和逐 点插入法是 目前普遍用 于生成 D lu a a I/ R 分 e ny三角 网的 两种 算法。 a
(ntueo aaa dK o l g n ier g,ea nvrt,a eg4 5 0 , ea , hn ) Istt fD t n nwe eE gne n H n nU i syK in 70 0 H n n C i i d i ei f a
Ab t a t sr c D lu a ra g lt n h swie a p ia in i o r p i n o mai n S se a d Vi u lRe l y a d i wop e ae t e e a e a n y t n u ai a d p l t n Ge ga hc I f r t y t m n r a a i , n t t r v n n r ’ i o c o o t t s l g
在研 究基于这两种算法 的合成算法后 , 对其进行 了两点改进 。一是简 化凸壳的生成 ; 二是 三角形快速定位 , 通过 确定 向量之 间的关

一种高效构建Delaunay三角网的算法

一种高效构建Delaunay三角网的算法
明 , 算法使 构 网效 率有很 大 的提 高。 本
关 键词 : ea n y三角 网; 据分块 ; O D lu a 数 L P优 化 ; 不规则 三 角 网 中图分 类号 :P3 1 文献标 识码 : 文章编 号 :6 1—7 4 ( 0 0 0 T 1 A 17 17 2 1 ) 2—0 9 1 1—0 5
第 9卷 第 2期
21 0 0年 4月
江 南 大 学 学 报 (自 然 科 学 版 ) J u n l f in n nUnv ri ( au a ce c dt n o r a a g a ie s y N tr l in eE io ) oJ t S i
Vo . No 2 19 .
A i h- f c e y Al o ih fCo t u tng Dea H g Ef inc g r t m o nsr c i l una i ng a i n i y Tra ul tO
SHAN — i n , ZHENG o Xu x a g Ta , LIGe n
me h p rii n,t e tbu l ra g l t d ir g a t r so h s u e s inal tme g st e e s a tto h n i idsti n u a e r e ul rnewo k n t e e s bs t ,f ly i r e h s ting l rn t r ne b ne s q n i ly Th plti t d o h s a g rt ra u a e wo kso y o e ue ta l . e s itng meho ft i l o ihm a c e s h c n de r a e t e s a c c pe o o n sr ma ka l .Th eo mp o e a m c n t uid De a a ra ul to e r h s o fp i t e r b y e us fi r v d Gr ha s a o b l l un yti ng a i n o u bl c n r a e h ro ma c ft l o ih fs b- o k i c e s st e pe f r n e o he ag rt m.Ther s l fo x rme t h wst tt e e u to ure pe i n ss o ha h a g rt m sa ditnc up ro iy i h fi i n y o o tuc i g ir g l rnewo k l o ih ha si ts e i rt n t e efc e c fc nsr tn re u a t r . Ke wor y ds: d l u y ti n ulto e a na ra g a i n, da a e pa tton, ts t rii LOP o i zn ptmii g, ti n u a e ra g l t d

生成Delaunay三角网的合成算法-Read

生成Delaunay三角网的合成算法-Read

• 综上分析可知,正是小于0的面积坐标指明 了目标三角形的方向.在建立了三角形拓扑 关系的三角网中,利用面积坐标的这一特 性,可很快查到包含点所在的三角形或所 处的三角边.
• 基于面积坐标的定位过程如图5所示.设三角形P1P2P3 为搜索的起点,计算点P的面积坐标可知L1< 0,取L1 的对应边P2P3的邻接三角形P3P2P4作为下一个判断的 三角形.依次进行判断,直至三角形P7P6P8.此时若 L1>0, L 2>0, L 3>0都大于0,则点P在三角形P7P6P8内; 若Li(i=1,2, 3)=0,则点P在Li所对应的边上.
• 若 外接圆外; • 若 外接圆上; • 若 外接圆内.
点P在三角形P1P2P3的
点P在三角形P1P2P3的 点P在三角形P1P2P3的
• 如点P在外接圆内,则交换凸四边形的对角 线(如图8 ( a)所示).当点在外接圆上时,则比 较凸四边形两个对角线,保留较短的那条 (如图8(b)所示).若凸四边形的对角线发生交 换,应继续向相邻三角形扩展优化,直至 被检测三角形满足空外接圆准则或到达三 角网边界.
• 合成算法结合了传统的递归分割法和逐点插入 法的优点,兼顾空间和时间性能然而,该算法 不可避免地继承了两种传统算法的不足,在执 行效率上受到限制,为了解决执行效率问题, [吴宇晓,张登荣 2004]提出了快速合成算法, 对合成算进行了改进和优化。该算法基于面积 坐标的点定位算法和简化的高效空外接圆判断 算法,从而大大提高算法的整体执行效率;同 时充分考虑平面点集的任意性,适用于对任意 平面点集构建Delaunay三角网。
• 4.4 LOP优化 • 一旦三角网被修改,必须进行LOP优化.使用Delaunay 空外接圆准则考查新生成三角形,如不满足,则调换与 相邻三角形所组成的凸四边形的对角线.若对角线发生交 换,则继续向相邻三角形扩展此过程,直至满足空外接 圆准则或到达三角网边界. • LOP优化时,首要的问题是对新增三角形和其相邻三 角形所组成的凸四边形进行空外接圆检测.在算法中,空 外接圆检测具有累计性,当数据量较大时,其在整个程 序执行中所占用的时间不容忽视.该检测过程是一个数值 分析与计算过程,因而应在计算稳定可靠的前提下,尽 量减少计算次数和低效的函数,从而提高执行效率.下面 提出了一个简化的空外接圆检测算法.

机载LiDAR点云的Delaunay三角网快速生成算法

机载LiDAR点云的Delaunay三角网快速生成算法
率 与稳 定性 ห้องสมุดไป่ตู้
2 . 1 点 云 数 据 分 块
式 在特 定应 用 中具 有 各 自的优 势 … 。其 中 , T I N具 有存 储 高效 、 数 据结 构简 单 、 适 合表 现不规 则地 面特 征、 能够 表示 线性 特 征 和迭 加 任 意形 状 的 区域边 界 等优点 , 能更 好地 表达 目标 的几何 空 间特 征 , 更 大程 度 保 留 地 物 的 形 态 便 于 后 续 处 理 和 分 析 J 。在 T I N生成 方 法 中 , D e l a u n a y三 角 剖 分 具 有 最 小 角 最 大 的 良好性 质 , 是 被公认 的最 优三 角剖分 , 因此 本文
机载激光雷达 ( L i D A R ) 能够快速精确地获取地
物 目标 表面 的位 置 和高 度信 息 , 为 目标 信 息 提取 和 三维重 建 提 供 了新 的数 据 源 。L i D A R 点 云 中各 激 光 点是 离散 的 , 现 有 的代 表 性 的 离散 点 云 数据 表 达
方 法

对 点 云数据 中的所 有激 光点 进行 三角形 区域 分
块, 并 确保 每个子 块 内激 光点 个 数 不 超 过个 数 阈值

具体 步骤如 下 : ( 1 ) 生成 点 云凸包 。将所 有激 光点 中 , Y , x + y ,

Y最大 值 和最 小 值 点 作 为 初 始 凸 包 点 J , 按 照 顺
时针方 向生 成初 始 凸包 , 再 利 用 比较 斜率 的方 法 逐 步生成 点 云的 凸包 ( 如 图 1中 凸包 点 C , i =1 , 2 ,


8 ) 。
( 2 ) 搜索 点云 重心 点 。计 算 所有 激 光 点 坐标 的
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

❖ 如图4所示,面积坐标(L1,L2,L3),其中,
❖ 这里的三角形面积是有向面积,按顶点顺 序,逆时针旋转为正,顺时针旋转为负.
❖ 若P在三角形中,必有其所有面积坐标大于零(见 图4(a)),即L1>0, L 2>0, L 3>0; 若P在三角形外, 则至少有一个面积坐标小于零.如图4( b)所示,P 在三角形P2P3边外侧,则 L1<0, L 2>0, L 3>0;若 P在三角形边上(这儿排除P与三角形顶点重合的 情况),那么必有值为0的面积坐标.如图4c所示, P在三角形P2P3边上,则有L1=0, L 2>0, L 3>0;
• 合成算法结合了传统的递归分割法和逐点插入法 的优点,兼顾空间和时间性能然而,该算法不可 避免地继承了两种传统算法的不足,在执行效率 上受到限制,为了解决执行效率问题,[吴宇晓, 张登荣 2004]提出了快速合成算法,对合成算进 行了改进和优化。该算法基于面积坐标的点定位 算法和简化的高效空外接圆判断算法,从而大大 提高算法的整体执行效率;同时充分考虑平面点 集的任意性,适用于对任意平面点集构建 Delaunay三角网。
• 把分治算法与逐点插入法结合起来的具体做 法是,以分治算法为主体,当递归分割数据 集的过程进行到子集中的数据量小于一个预 定值——分割阈值时终止,然后用逐点插入 法在子集中生成子三角网。我们把这一新的 算法称为合成算法。它的流程图见图1。其中 v表示数据集:Nv是V的数据量;Nd是分割阈值 ;Nl, Nr分别表示两个子集的数据量;Tl,Tr分别 表示在子集中建立的两个子三角网。

• 需要注意的是,点集是任意离散的,出发点P1可能与多点共线 .如图3 ( a)所示,点P1一P5共线,而事实上点P2一P4不参加
构成初始三角网,因此,需要在建立初始三角网前对凸壳进行 修正。如果存在点P3, P4,...Pk(2< k<n),与P1P2共线,则必 须删去点P2, P3, ..., Pk-1,并由P1Pk代替P1P2成为初始边.同 样,如果存在点Pk,Pk+1...,Pn-1(2< k<n)与PnP1共线,则必 须删去点Pk+1...,Pn-1,并由PkP1代替PnP1,成为终止边(如 图3所示).经修正后,所有凸壳点按逆时针重新编号.
• 1引言

分治算法和逐点插入法由于易于实现,是当前应用较广
的两类算法。这两类算法所采用的实现方法决定了它们存在
着明显的局限性,分治算法需要大量的内存,逐点插入法运 行速度极慢。当数据量较大或计算机性能较差时,它们的使 用都将遇到困难。
• 武晓波,2000提出了一个成功地解决了上述问题的合成算法。 该算法将逐点插入法嵌入到分治算法中,使它们优势互补, 弥补了各自的缺陷。经过一个有2533个点数据测试,表明合 成算法的运算效率大大高于逐点插入法,在大多数情况下也 高便于分割,在执行各模块之前,首先 要对初始点集按升序以x坐标为主,y坐标为 辅进行排列,确保子三角网不相互叠置.
❖ 4. 1格雷厄姆法计算凸壳
❖ 4. 2初始三角网的建立与修正 ❖ 以凸壳上y值最小的点(设为点P1)为出发点,
按序与凸壳上其余的点相连(如图3( b)所示).
❖ 4.3.2点定位后的三角网修改
❖ 由于所有待插入点必在凸壳内,所以待插 入点必在三角形内或三角边上.跟据点与所处 三角形的关系,点插入三角网的情况及相应 的三角网修改方法分为如下3种情况(见图6) .
• 插入点在三角形内.如图6( a)所示,待插入点P在三角形 P1P2P3内.此时,将点P与此三角形的三个顶点相连,形 成3个三角形.
❖ 综上分析可知,正是小于0的面积坐标指明了 目标三角形的方向.在建立了三角形拓扑关系 的三角网中,利用面积坐标的这一特性,可 很快查到包含点所在的三角形或所处的三角 边.
❖ 基于面积坐标的定位过程如图5所示.设三角形P1P2P3 为搜索的起点,计算点P的面积坐标可知L1< 0,取L1 的对应边P2P3的邻接三角形P3P2P4作为下一个判断 的三角形.依次进行判断,直至三角形P7P6P8.此时若 L1>0, L 2>0, L 3>0都大于0,则点P在三角形P7P6P8 内;若Li(i=1,2, 3)=0,则点P在Li所对应的边上.
• 待插入点在非凸壳边上.由于所在边不是凸壳边,此边必 是两个三角形的公共边.如图6( b)所示,待插入点P在边 P2P3上,P2P3是三角形P1P2P3和P2P3P4的公共边.此 时,点P与P2P3两个三角形的对应点P1和P4相连,形成4 个三角形.
❖ 4. 3插点入网
❖ 该了模块分为两个步骤:首先,定位待插入 点,即确定点在哪个三角形中;然后,根据点 在三角形的位置,修改三角网.
❖ 4. 3. 1基于面积坐标的点定位算法
❖ 随着点数增加,三角形数目也成倍增加.当 三角形数目较大时,利用点在多边形中的判 断方法,扫描整个或局部三角网格,是相当 费时的.快速合成算法利用三角形面积坐标和 三角网拓扑关系来解决这一问题。
• 2己有算法介绍2. 1分治算法2. 2逐点插入法2. 3三角网生长法
• 3合成算法
• 由以上介绍不难看出,目前采用较多的前两类算法各具优势 又有局限,同时,它们又具有明显的互补性。分治算法时间性 能好,空间性能差;逐点插入法空间性能好,时间性能差。我 们评价一个算法的优劣是看它对时间和空间的消耗,即时空性 能的综合表现。因此,就产生了一个非常自然的想法,为何不 把它们结合起来,取长补短,从而提高算法的性能呢?
❖ 一种生成Delaunay三角网的合成算法 2000 武晓波,王世新,肖春生
❖ 生成Del aunay三角网的快速合成算法 吴宇 晓,张登荣 2004
• 经过20多年的研究,自动生成Delaunay三角网的算法 已趋于成熟。它们基本上可分为分治算法逐点插入法、 三角网生长法等3类。其中前两类较第3类在应用户上更 加广泛。但即使这两类算法也分别存在着时间和空间效 率上的缺陷,使它们的应用受到了一定的限制。武晓 波,2000提出了一个融以上两类算法优点于一体,兼顾 空间与时间性能的合成算法。经测试,它的运算效率大 大高于逐点插入法,在大多数情况下,也高于分治算法, 在分割阈值约为总数据量的十分之一时,效率最高。
相关文档
最新文档