不规则三角网的算法设计与实现10页word文档
不规则三角网(TIN)的建立PPT文档资料
2020/9/23
16
2 1
2 13
递归生长算法
2020/9/23
2 13
2 13
17
1、三角网生长算法
2)凸闭包收缩法
该算法的基本思路:首先找到包含数据区域的最小凸多边 形,并从该多边形开始从外向里逐层形成三角形格网。
用来进行TIN构建的原始数据根据数据点之间的约束 条件可分为无约束数据域和约束数据域两种类型。
无约束数据域是指数据点之间不存在任何关系,即 数据分布完全呈离散状态,数据点之间在物理上相互 独立。
约束数据域则是部分数据点之间存在着某种联系, 这种联系一般通过线性特征来维护,如地形数据中的 山脊线、山谷线上的点等。
2020/9/23
11
• 关于delaunay三角网
• 1934年Delaunay提出了Voronoi图的对称图, 即Delaunay三角网(用直线段连接两个相邻 多边形内的离散点而生成的三角网)。
– Delaunay三角网的特性:
• 不存在四点共圆; • 每个三角形对应于一个Voronoi图顶点; • 每个三角形边对应于一个Voronoi图边; • 每个结点对应于一个Voronoi图区域; • Delaunay图的边界是一个凸壳; • 三角网中三角形的最小角最大。
2020/9/23
14
1、三角网生长算法
三角网生长算法就是从一个“源”开始,逐步形成 覆盖整个数据区域的三角网。
从生长过程角度,三角网生长算法分为收缩生长算 法和扩张生长算法两类。
收缩生长算法是先形成整个数据域的数据边界(凸 壳),并以此作为源头,逐步缩小以形成整个三角网。
不规则三角网TIN的建立
2019/12/29
15
第5章 不规则三角网 (TIN) 的建立
?关于delaunay 三角网
5.1 TIN概述
? 1934年Delaunay 提出了Voronoi 图的对称图, 即Delaunay 三角网(用直线段连接两个相邻 多边形内的离散点而生成的三角网)。
构建TIN 的采样数据;
?边(Edge ):指两个三角形的公共边界,是 TIN 不光滑
性的具体反映。边同时还包含特征线、断裂线以及区域边 界。
?面(Face ):由最近的三个节点所组成的三角形面,是
TIN 描述地形表面的基本单元。 TIN 中的每一个三角形都 描述了局部地形倾斜状态,具有唯一的坡度值。三角形在 公共节点和边上是无缝的,或者说三角形不能交叉和重叠。
两三角形中的最小内角一定大于交换凸四边形对角线后所形成的两三 角形的最小内角;
最短距离和准则:指一点到基边的两端的距离和为最小。
2019/12/29
12
第5章 不规则三角网 (TIN) 的建立
5.1.2 TIN 的三角剖分准则
5.1 TIN概述
张角最大准则:一点到基边的张角为最大。
面积比准则:三角形内切圆面积与三角形面积或三角形面积与周长
N:网( Network ),表达整个区域的三角形分布形 态,即三角形之间不能交叉和重叠。三角形之间的拓 扑关系隐含其中。
2019/12/29
5
第5章 不规则三角网 (TIN) 的建立
5.1.1 TIN 的理解
?TIN 的基本元素
5.1 TIN概述
?节点(Node ):是相邻三角形的公共顶点,也是用来
2019/12/29
4
第5章 不规则三角网 (TIN) 的建立
不规则三角网DE
长沙理工大学测绘工程系 谢树春
不规则三角网DEM 不规则三角网DEM
基于张角最大准则的Delaunay三角网建立 五. 基于张角最大准则的 三角网建立
张角最大准则: 张角最大准则:
指一点到基边的张角为最大。 指一点到基边的张角为最大。 张角为最大
与空外接圆准则等价。 与空外接圆准则等价。 等价
长沙理工大学测绘工程系 谢树春
不规则三角网DEM 不规则三角网DEM
一.概念
不规则三角网( 不规则三角网(Triangulated Irregular Network, TIN)DEM是由 ) 是由 优化组合联结而成的连续三角面 不规则分布的有限个地形离散点按优化组合联结而成的连续三角面。 不规则分布的有限个地形离散点按优化组合联结而成的连续三角面。
长沙理工大学测绘工程系 谢树春
LOP算法实现新点 插入的过程: 算法实现新点p插入的过程 算法实现新点 插入的过程:
求出包含新插入点p 外接圆的三角形; 求出包含新插入点p的外接圆的三角形; 的三角形 删除影响三角形的公共边; 删除影响三角形的公共边; 影响三角形的公共边 与全部影响三角形的顶点连接 将p与全部影响三角形的顶点连接。 与全部影响三角形的顶点连接。
构建TIN比较费时; 比较费时; 构建 比较费时 算法设计比较复杂; 算法设计比较复杂; 复杂 表面分析能力较差。 表面分析能力较差。 能力较差
长沙理工大学测绘工程系 谢树春
不规则三角网DEM 不规则三角网DEM
思考: 思考:
能否结合规则格网 DEM和不规则三角网 和不规则三角网 DEM各自的优点? 各自的优点 各自的优点?
不规则三角网DEM 不规则三角网DEM
基于张角最大准则的Delaunay三角网建立 五. 基于张角最大准则的 三角网建立
不规则角网(TIN)的建立
5.2 TIN的建立
目前散点域的三角剖分使用最为广泛的算法是 Delaunay直接三角剖分算法。 根据实现过程,把DT分成三类:
1)三角网生长算法 2)逐点插入算法
3)分割合并算法
2019/2/7 28
第5章 不规则三角网(TIN)的建立
1、三角网生长算法
目前这类算法主要有地形骨架法、地形滤波 法等。
2019/2/7 23
• 地形骨架法:
– 利用地形特征点、线建立地形的骨架模型, 然后对其进行插点,达到预定的精度;
• 地表滤波法:
– 将格网DEM看作为一幅数字图像,可使用空 间高通滤波器对其滤波,保留图像中的高频 信息,即为地形特征点,滤掉低频信息也即 对地形特征而言不重要的点,在此基础上建 立TIN模型。
2019/2/7 24
第5章 不规则三角网(TIN)的建立
5.1.3 三角剖分算法分类与特点
5.1 TIN概述
从混合数据生成三角网(P70)
混合数据:是指链状数据 (如断裂线、河流线等)与规 则格网采样数据结合形成的一 种数据。
此种数据建立三角网的方法: 首先分解规则三角形,然后考 虑特征线上的点,在格网中生 成不规则三角形。
2019/2/7
根据规则数据建成的三角形格网
22
第5章 不规则三角网(TIN)的建立
5.1.3 三角剖分算法分类与特点
5.1 TIN概述
规则分布采样数据三角剖分
重要点法DEM建模有两个关键步骤: 1)确定格网点的“重要程度”:全局最重要或局 部最重要; 2)确定终止条件:达到预设的点数或预设的精度、 或两者折中。
2019/2/7 15
不规则三角网(TIN)的建立分析
2018/10/22 5
数据和TIN的类型
用来进行TIN构建的原始数据根据数据点之间的约束 条件可分为无约束数据域和约束数据域两种类型。
2018/10/22
3
不规则三角网(TIN)的建立
T:三角化( Triangulated )是离散数据的三角剖分 过程,也是TIN的建立过程。位于三角形内的任意一点 的高程值均可以通过三角形平面方程唯一确定。 I:不规则性( Irregular ),指用来构建TIN的采样 点的分布形式。TIN具有可变分辨率,比格网DEM能更 好反映地形起伏。 N:网( Network ),表达整个区域的三角形分布形 态,即三角形之间不能交叉和重叠。三角形之间的拓 扑关系隐含其中。
平方之比最小。
对角线准则:两三角形组成的凸四边形的两条对角线之比。这一准
则的比值限定值,须给定,即当计算值超过限定值才进行优化。
2018/10/22
10
说明:
1)三角形准则是建立三角形格网的基本原 则,应用不同的准则将会得到不同的三角网。 2)一般而言,应尽量保持三角网的唯一性, 即在同一准则下由不同的位置开始建立三角 形格网,其最终的形状和结构应是相同的。 3)空外接圆准则、最大最小角准则下进行 的三角剖分称为Delaunay (译为狄洛尼或德 劳内)三角剖分(Triangulation),简称DT。 空外接圆准则也叫Delaunay法则。
扩张生长算法与收缩算法过程刚好相反,是从一个 三角形开始向外层层扩展,形成覆盖整个区域的三角 网。
2018/10/22 15
第三章 不规则三角网
小结
不规则三角网络是描述三维表面的常用方法,除了在地形方面,还可以用于其他各种领域。在不规则三角网上还可以叠加其它空间要素,同时以三维方式显示。
5.2工程中的土方、纵坡
一、由等高线产生不规则三角网
使用数据:设计等高线、现状等高线、场地边界线
扩展模块:3D Analyst
所用命令:Surface/Create TIN from Features
三、从3D Shapefile生成三维纵剖面
所用数据:TIN专题“地形”,线状矢量专题“道路”。
扩展模块:3D Analyst
所用命令:Theme/Convert to 3D Shapefile…
操作步骤:
1.生成3D Shapefile
2.建立Layout(地图布局窗口)
3.利用剖面图绘制工具绘制沿道路的地形纵剖面
一般情况下,不规则三角网(TIN)是从高程点产生的,如果靠传统地图建立TIN,就要利用等高线,这时软件就在等高线上取出典型的、关键的样本点,将这些样本点连起来形成TIN,这比直接从高程点产生TIN在计算方法上多了一个自动选取样本点的步骤。
一般情况下显示TIN时表达高程,但是也可以直接计算表达坡度,还可以直接进行简单的填挖方计算。如果要进行细致的填挖方计算,就要将TIN转换成栅格在计算。
命令:View/3D Scene…,对系统的提示选择Themes,按OK键后系统产生3D Scenes Themes Document,该子系统具有自己的三维视图窗口和图例框,可用鼠标点击按钮Navigate(形状像帆船),再用鼠标在三维窗口中控制观察地形的三维视角。
在三维场景中,选用菜单命令Theme/3D Properties…
5.3视线与视域分析
不规则三角网的建立与应用
摘要作为空间数据基础设施中的“4D”产品之一和地理信息系统的核心数据库,数字高程模型(DEM)已在测绘、遥感、农林规划、城市规划、土木水利工程、地学分析等各个领域都有了广泛的应用。
数字高程模型的表示方法主要有规则格网模型、不规则三角网模型和等高线模型三种,而不规则三角网(TIN)是数字高程模型中最基本和最重要的一种模型,它能以不同层次的分辨率来描述地形表面,并可以灵活的处理特殊地形。
因此,围绕基于TIN 的DEM 的构建,本文主要论述了基于 TIN 结构的数字高程模型建模原理和方法,离散点的Delaunay 三角网生成算法,建立有约束条件的约束三角网,最后分析了建立的 TIN模型在土方计算方面的应用。
在本论文论述的过程中,针对传统算法进行了对比和分析后,在逐点插入法的基础之上,提出了一些新的细部改进的实现方法。
局部优化操作和改进的算法实现使得对大容量离散点的三角网构建速度更快,效率更高;对限制条件的嵌入满足由此计算出来的土方量更接近实际期望值。
本论文中主要的研究成果和内容如下: 1)在离散点的 Delaunay 三角网生成方面,本文中在插入点算法的基础上,建立凸包和矩形包容盒,建立虚拟网格,对原始离散点进行一级格网自适应分块,并建立索引关系。
在定位点所在三角形时引入快速点定位算法,简易的空外接圆及圆内测试公式,通过这些改进使得 Delaunay 三角网的剖分更加高效。
2)在约束 Delaunay 三角网理论基础之上,结合上面散点域的剖分方法,对已有的两步算法基础上改进,完成约束 Delaunay 三角网的构建。
在其过程中应用矢量点积等数学工具改善了计算中的凹凸点判断,继续采用上章的快速索引和最速定位方法,并且对约束线相切等特殊情形进行了处理,进一步完善了算法的稳健性。
3)对于在约束三角网构造基础上的 TIN 模型的应用,文中对其在土方量计算方面精度的优越性进行了分析,在可视化表达方面最后结合广东省东莞市某高尔夫球场工程给出了例证。
三角网布设及概算
三角形生成
根据地形数据,利用三角形生 成算法,构建三角形网格。
结果输出
将生成的三角形网格输出为所 需格式,如DXF、DWG等。
Байду номын сангаас2
三角网布设方法
常规三角网布设方法
常规三角网布设方法
根据地形起伏和精度要求,在实地测量和计算的基础上,按照一定的 规则和密度布设一系列三角形,形成三角网。
适用范围
适用于地形起伏较小、精度要求一般的测量项目。
优点
操作简单,精度可靠,能够满足一般测量需求。
缺点
在地形起伏较大的地区,需要增加测量点和计算量,工作量大,效率 较低。
优化三角网布设方法
优化三角网布设方法
基于常规三角网布设方法,通过优化算法 和计算机技术,自动选择最优的三角形组
合和布设方案,提高测量效率和精度。
优点
能够自动选择最优的三角形组合和布设方 案,减少人工干预和计算量,提高测量效
三角网布设及概算
contents
目录
• 三角网布设概述 • 三角网布设方法 • 三角网布设的参数选择 • 三角网布设的概算 • 三角网布设的应用场景 • 三角网布设的未来发展
01
三角网布设概述
三角网布设的定义
三角网布设:根据地形数据,利用数 学和几何原理,将地形表面划分为一 系列连续三角形,形成三角网的过程。
THANKS FOR WATCHING
感谢您的观看
物力成本概算
物力成本
包括三角网布设所需的材料、设备等 费用。
物力成本概算
根据项目需求,选择合适的材料和设 备,并进行物力成本概算,以确保项 目预算的合理性和可行性。
时间成本概算
时间成本
包括三角网布设所需的时间费用,如 工期、维护期等。
不规则三角网(TIN)的建立
不规则三角网(TIN)的建立算法
马仕航 1410040222
2016/11/20
1
TIN概述
5.1.1 TIN的理解 5.1.2 TIN的三角剖分准则
5.1.3
点
三角剖分算法分类与特
2016/11/20
2
TIN的基本概念
不规则三角网(Triangulated Irregular Network 简称TIN):是用一系列互不交叉、互不重叠的连接在一 起的三角形来表示地形表面。TIN既是矢量结构又有栅格 的空间铺盖特征,能很好地描述和维护空间关系。
20
2、逐点插入算法 :
• 1)定义包含所有数据点的最小外界矩形范围,并以此作 为最简单的凸闭包。 • 2)按一定规则将数据区域的矩形范围进行格网划分(如 限定每个格网单元的数据点数)。 • 3)剖分数据区域的凸闭包形成两个超三角形,所有数据 点都一定在这两个三角形范围内。 • 4)对所有数据点进行循环,作如下工作(设当前处理的 数据点为P):
将等高线作为特征线的方法;
自动增加特征点及优化TIN的方法。
2016/11/20
25
等高线离散点直接生成TIN方法
该方法直接将等高线离散化,然后利用常用TIN的生成 算法,该方法没有考虑离散点间原有的连接关系,模拟 的地形就会失真,具体表现为三角形的边穿越等高线和 存在平三角形的两种情况。 在实际应用中该方法较少使用。
无约束数据域是指数据点之间不存在任何关系,即 数据分布完全呈离散状态,数据点之间在物理上相互 独立。
约束数据域则是部分数据点之间存在着某种联系, 这种联系一般通过线性特征来维护,如地形数据中的 山脊线、山谷线上的点等。
2016/11/20
不规则三角网(TIN)生成的算法
不规则三角网(TIN)生成的算法第五章不规则三角网(TIN)生成的算法在第四章,基于三角网和格网的建模方法使用较多,被认为是两种基本的建模方法。
三角网被视为最基本的一种网络,它既可适应规则分布数据,也可适应不规则分布数据,即可通过对三角网的内插生成规则格网网络,也可根据三角网直接建立连续或光滑表面模型。
在第四章中同时也介绍了Delaunay 三角网的基本概念及其产生原理,并将三角网构网算法归纳为两大类:即静态三角网和动态三角网。
由于增量式动态构网方法在形成Delaunay 三角网的同时具有很高的计算效率而被普遍采用。
本章主要介绍静态方法中典型的三角网生长算法和动态方法中的数据点逐点插入算法;同时,还将给出考虑地形特征线和其他约束线段的插入算法。
而其他非Delaunay 三角网算法如辐射扫描法Radial Sweep Algorigthm(Mirante & Weingarten, 1982)等本文将不再介绍。
5.1 三角网生长法5.1.1 递归生长法递归生长算法的基本过程为如图 5.1.1 所示:3 213 21(a)形成第一个三角形(b) 扩展生成第二个和第三个三角形图5.1.1 递归生长法构建 Delaunay 三角网(1)在所有数据中取任意一点1(一般从几何中心附近开始),查找1距离此点最近的点 2,相连后作为初始基线 1-2;(2)在初始基线右边应用 Delaunay 法则搜寻第三点 3,形成第一个Delaunay 三角形;(3)并以此三角形的两条新边(2-3,3-1)作为新的初始基线;(4)重复步骤(2)和(3)直至所有数据点处理完毕。
该算法主要的工作是在大量数据点中搜寻给定基线符合要求的邻域点。
一种比较简单的搜索方法是通过计算三角形外接圆的圆心和半径来完成对邻域点的搜索。
为减少搜索时间,还可以预先将数据按 X 或 Y 坐标分块并进行排序。
使用外接圆的搜索方法限定了基线的待选邻域点,因而降低了用于搜寻Delaunay 三角网的计算时间。
不规则三角网生成的算法培训资料
生成三角形网格。
优化处理
对生成的三角形网格进行优化, 如删除冗余的三角形、调整三角 形的形状等,以提高TIN的质量
和精度。
Part
03
不规则三角网生成算法实现
数据准备
数据来源
确定数据来源,如地图数据、卫 星遥感数据等,并了解数据的格 式和精度要求。
不规则三角网生成的 算法培训资料
• 引言 • 不规则三角网生成算法基础 • 不规则三角网生成算法实现 • 算法优化与改进 • 实践操作与问题解答
目录
Part01Fra bibliotek引言主题简介
三角网是地理信息系统(GIS)中用于表示三维表面的一种数据结构,由一系列三角形面 片组成。不规则三角网(TIN)是一种特殊的三角网,它能够更好地表示地形表面的不规 则性和复杂性。
案例总结
总结成功案例的经验教训, 为算法在实际应用中提供 参考和借鉴。
Part
05
实践操作与问题解答
实践操作流程
导入数据
将需要生成不规则三角网的数据 导入到软件中,确保数据格式正 确无误。
结果输出
将生成的三角网导出为所需格式, 如GeoTIFF、Shapefile等。
参数设置
根据数据特征和需求,设置合适 的参数,如阈值、最小三角形边 长等。
优化策略
减少计算量
通过优化算法,降低计算 复杂度,提高计算效率。
空间索引
利用空间索引技术,快速 定位和筛选符合条件的点, 减少不必要的计算。
并行计算
将算法拆分成多个子任务, 利用多核处理器进行并行计 算,提高计算速度。
改进方法
STEP 02
、不规则三角网生成的算法
5.3 Vector-based dynamic Delaunay triangulation
插入约束线段ab 提取ab的影响多边形并把所有顶点都与a相连 进行 LOP 交换优化三角形 带约束的三角网
Three approaches to form triangulation from contour data :
等高线离散点直接生成TIN方法 将等高线作为特征线的方法 自动增加特征点及优化TIN的方法
(b) Subsequent triangles formed near the boundary
一旦提取出数据区域的凸闭包,就可以从其中的一条边 开始逐层构建三角网
随着数据点分布密度的不同, 边界收缩后一个完整的区域 可能会分解成若干个相互独 立的子区域 当数据量较大时如何提高顶 点选择的效率是该方法的关 键
B
628 677
C A 490
481 531 A 453 C
B
461
(a) 具有山谷线的点集
B 628
(b) A possible profile across ACB
628 677
677 C A 490 481 531 453 461
C
481 531 453
A
490
461
(c) 不考虑山谷的三角网
5.4 Constrained Delaunay triangulation
5.5 Triangulation from contour data
不规则三角网(tin)的构建与应用-(5313)
第一章绪论1.1研究背景地球是人类生活和活动的承载体。
多年以来,我们为了更充分的认识自然客体和改造自然,总在不懈的努力尝试用不同的方式方法来描述、表达人所处的环境,其中地形图就是一个有代表性的测绘表述变迁的缩影。
从最开始的象形符号抽象的雏形到后来的在二维介质上对三维表面进行地形写景图,地貌写景图等描述是一个进步,但写景方式不具备可量测性,所以还是很局限的。
随着测绘技术发展,地形的表达也由写景式的定性表达过渡到了以等高线为主的矢量化表达。
航空摄影测量,遥感技术提供的影响都在对三维现实世界的模拟。
但是有一个矛盾体,那就是对于地形表面形态而言,一方面我们尽可能的从几何角度去理解和描述以解决实际应用中的可量测性;另外一个方面它本身是一种三维景观现象,对于其表述要考虑生理视觉感受,我们总是希望能够尽可能的直观形象逼真。
从20世纪四十年代开始的计算机图形学、计算机辅助制图等相关学科和理论的发展,使得在测绘领域,在图形表达表述方面发生了从模拟表达时代走向了数字表达时代,有了质的飞跃。
其中地理信息系统(GIS )及数字高程模型(DEM )学科或技术显得尤为重要。
地理信息系统,简称GIS (Geographical Information System ),它源于20世纪60年代初期加拿大测量学家Tomlinson 的“把地图变成数字形式的地图,以便计算机进行处理与分析”的观点,但是在技术工具处理中,则是利用计算机存贮、处理地理信息,并且在计算机软、硬件支持下,把各种资源信息和环境参数按空间分布或地理坐标,以一定的格式或者分类输入、处理、存贮、输出,用以满足其应用需要的人机交互系统。
因此GIS 的本质是在二维地理空间基础上实现对地下、地表和空中诸地理信息的数字化表达和管理。
当然地理信息系统技术发展到当前,功能不再是当初的局限于查询、检索和制图,而是丰富到空间分析、建模、决策等诸多方面,在数据管理上则从简单的栅格数据、矢量数据管理转向多元数据融合,在现实生活中应用的很活跃,也很充分。
不规则三角网
不规则三角网(TIN )生成算法一、三角剖分的标准:空外接圆法:任意四点不能共圆最大最小角法:三角网内的最小角尽可能的大最短距离和准则:形成的三角形三边之和应满足最优解——三边之和最短张角最大准则:面积比准则: 三角形的内切圆面积/三角形面积或三角形面积/三角形周长的平方的值最小对角线法则:但插入另一个点时,寻找四边形对角线最短的那条边作为新的三角网二、Delaunay 符合的标准:三、递归生长算法的基本思路:四、凸闭包收缩法:先找到包含数据区域的最小凸多边形,并从该多边形开始从外向里逐层形成三角形网络五、逐点插入法生成TIN 的思路:首先提取整个数据区域的最小外边界矩形范围,以此作为最简单的凸闭包->按一定法则将数据区域的矩形范围进行格网划分,限定每个格网单元平均拥有的数据点数->根据数据点的(x,y )坐标建立分块索引的线性链表->剖分数据区域的凸闭包形成两个超多边形->按照3建立的顺序链表顺序往4的三角形中插入数据点:先找到包含数据点的三角形,进而连接该点与三角形的三个顶点,简单剖分该三角形为三个新的三角形->分别调整新生成的三个三角形及其相邻的三角形,交换公共边->重复5~6,直到所有数据点都被插入到三角网中六、三角网TIN数据类型:无约束数据域——无约束TIN 约束数据域:内部约束及外部约束七delaunay法则:当三角形外接圆内不包含任意其他点,且其三个顶点相互通视时形成的三角网为一个带约束条件的delaunay法三角形八、带约束条件的delaunay Lawson LOP交换:在带约束的delaunay法则满足的条件下,由两相邻三角形组成的凸四边形的局部最佳对角线才被选取九、在TIN生成中如何考虑地形特征线三角剖分时要求TIN三角网中得三角形满足形态最优和无地形线穿越三角形的要求,主要有:三角形初始剖分->判断剖分三角形是否满足三角形形态比最大原则->判断特征线是否穿越剖分三角形->剖分点选择。
不规则三角网的原理和应用
不规则三角网的原理和应用1. 引言不规则三角网是一种在地理信息系统(GIS)和计算机图形学中常用的数据结构,用于表示地形、地貌和其他空间数据。
本文将介绍不规则三角网的原理和应用。
2. 不规则三角网的原理不规则三角网是由一组不重叠的三角形组成的网络,其中每个三角形的边都共享一条边。
它可以用于将二维或三维空间上的数据进行离散化表示。
以下是建立不规则三角网的基本原理:•节点选择:首先需要选择一组合适的节点来构建三角网。
节点可以是地理位置、数据采集点或其他感兴趣的位置。
这些节点将成为三角网的顶点。
•三角剖分:根据节点的位置,在节点之间进行三角形的剖分。
通常使用Delaunay三角剖分方法,保证所有三角形的内接圆不包含其他节点,这样可以避免形成过于细长或扭曲的三角形。
•节点连接:将每个三角形的顶点连接起来形成三角网。
每个三角形的边都共享一条边,这样可以保证三角网的连续性。
3. 不规则三角网的应用不规则三角网在地理信息系统和计算机图形学中有广泛的应用。
以下是几个常见的应用场景:3.1 地形分析不规则三角网可以用于对地形进行离散化表示和分析。
通过节点的高程信息,可以计算每个三角形的面积、坡度和曲率等地形属性。
这对于地质学、测绘学和环境科学等领域的地形分析非常重要。
3.2 地理可视化不规则三角网可以用于地理可视化,将地理数据以更直观的方式呈现出来。
通过对三角形进行插值,可以根据节点上的数据对整个区域进行表面重建,从而生成地形模型或地图。
这对于城市规划、区域分析和地理导航等应用非常有用。
3.3 网格生成在计算机图形学中,不规则三角网可以用于网格生成。
根据给定的节点,可以通过插值方法生成一系列网格点,用于绘制曲线、表面或其他图形。
这对于计算机辅助设计、虚拟现实和游戏开发等领域非常重要。
3.4 数据插值不规则三角网可以用于数据插值,将离散的数据点进行填充。
通过插值方法,可以根据已知节点的属性估计其他位置的属性。
这对于气象学、地质学和农业等领域的数据分析非常有用。
工学不规则三角网TIN的建立
• Voronoi图的定义(P105)
– Voronoi图把平面分成N个区,每一个区包括一 个点,该点所在的区域是距离该点最近的点的集 合。
2020/5/28
16
第5章 不规则三角网(TIN)的建立
• 关于delaunay三角网
5.1 TIN概述
• 1934年Delaunay提出了Voronoi图的对称图, 即Delaunay三角网(用直线段连接两个相邻 多边形内的离散点而生成的三角网)。
➢TIN的体系结构
5.1 TIN概述
TIN对三角形的几何形状有严格的要求。 TIN模型一般有三个基本要求:
1)三角形的格网唯一;
2)最佳三角形形状,尽量接近正三角形;
3)三角形边长之和最小,保证最近的点形成 三角形。
2020/5/28
10
第5章 不规则三角网(TIN)的建立
5.1.1 TIN的理解
目前,在GIS、计算机和图形学领域常用 的三角剖分准则有6种。
2020/5/28
12
第5章 不规则三角网(TIN)的建立
5.1.2 TIN的三角剖分准则
5.1 TIN概述
空外接圆准则:在TIN中,过每个三角形的外接圆均不包含点集的
其余任何点;
最大最小角准则:在TIN中的两相邻三角形形成的凸四边形中,这
两三角形中的最小内角一定大于交换凸四边形对角线后所形成的两三 角形的最小内角;
最短距离和准则:指一点到基边的两端的距离和为最小。
2020/5/28
13
第5章 不规则三角网(TIN)的建立
5.1.2 TIN的三角剖分准则
5.1 TIN概述
张角最大准则:一点到基边的张角为最大。
面积比准则:三角形内切圆面积与三角形面积或三角形面积与周长
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 引言地球表面高低起伏,呈现一种连续变化的曲面,这种曲面无法用平面地图来确切表示。
于是我们就利用一种全新的数字地球表面的方法——数字高程模型的方法,这种方法已经被普遍广泛采用。
数字高程模型即DEM (Digital Elevation Model),是以数字形式按一定结构组织在一起,表示实际地形特征空间分布的模型,也是地形形状大小和起伏的数字描述。
由于地理信息系统的普及,DEM作为数字地形模拟的重要成果已经成为国家空间数据基础设施(NSDI)的基本内容之一,并被纳入数字化空间框架(DGDF)进行规模化生产,已经成为独立的标准基础产品[5]。
DEM有三种主要的表示模型:规则格网模型,等高线模型和不规则三角网。
格网(即GRID)DEM在地形平坦的地方,存在大量的数据冗余,在不改变格网大小情况下,难以表达复杂地形的突变现象,在某些计算,如通视问题,过分强调网格的轴方向。
不规则三角网(简称TIN,即Triangulated Irregular Network)是另外一种表示数字高程模型的的方法(Peuker等,1978),它既减少了规则格网带来的数据冗余,同时在计算(如坡度)效率方面又优于纯粹基于等高线的方法。
不规则三角网能随地形起伏变化的复杂性而改变采样点的密度和决定采样点的位置,因而它能够避免地形起伏平坦时的数据冗余,又能按地形特征点如山脊,山谷线,地形变化线等表示数字高程特征。
基于三角形的表面建模可适合所有的数据结构,且三角形在形状和大小方面有很大灵活性,能很容易地融合断裂线,生成线或其他任何数据,因此基于三角形的方法在地形表面建模中得到了越来越多的注意,已经成为表面建模的主要方法之一。
VB语言简洁易学,对于学习GIS的学生来说无疑是接受很容易而且较快的一门计算机编程和开发语言,也是大多数学生最熟悉和了解的语言。
正是基于对生成不规则三角网算法的研究和满足学GIS的学生对VB语言的喜爱和熟悉的情况下,本文就主要介绍用三角网生长算法生成不规则三角网及其在VB6.0环境下的实现。
2 TIN的算法种类及各算法特点在介绍构成TIN各种算法之前我们要来了解认识一下一个重要法则——Delaunay三角网法则。
通常构建三角网并不考虑地性线(山脊线,山谷线)的骨架作用,但是,由于用等高线数据构建三角网时,由于地形的复杂多样,有的地区存在因地形突变而形成的断裂线等特殊地貌。
另外一些地区存在大面积水域等内部不需要构网的区域,因此,在精度要求较高的TIN中,必须考虑以上问题。
因此此时应顾及地性线,断裂线,水域线等特殊情况,也就是应构建约束—Delaunay三角网。
约束法是基于约束图计算约束D—三角剖分[1,9](简称CDT,即Constrained Delaunay Triangulation)构造算法[8],这种Delaunay三角网满足这样的法则:Delaunay三角网为相互邻接且互不重叠的三角形的集合,每一个三角形的外接圆内不包含其他点。
Delaunay三角网由对应Voronoi多边形的点连接而成。
Delaunay三角形有三个相邻点连接而成,这三个相邻顶点对应的Voronoi多边形有一个公共的顶点,此顶点是Delaunay三角形外接圆的圆心(如图1)。
根据构建三角网的步骤,可将三角网生成算法分为三类:(1)分而治之算法(由Shmaos和Hoey提出),其基本思路是使问题简化,把点集划分到足够小,使其易于生成三角网,然后把子集中的三角网合并生成最终的三角网,用局部优化(LOP,即Local Optimization Procedure)算法保证其成为Delaunay三角网[3],它的优点是时间效率高,但需要大量递归运算,因此占用内存空间较多,如果计算机没有足够的内存,这一方法就无法使用[2];(2)数据点渐次插入算法(由Lawson提出),其思路很简单,先在包含所有数据点的一个多边形中建立初始三角网,然后将余下的点逐一插入,用LOP算法保证其成为Delaunay三角网[3]。
此算法虽然容易实现,但效率极低;(3)三角网生长算法,在这三种算法中,三角网生长算法在80年代以后的文献中已很少见,较多的是前两种算法[3],三角网生长算法目前较少人研究,笔者在这里讨论的就是这一算法,该算法是由Michael J.McCullagh,Charles G.Ross提出的,本文对原有的三角网生长算法作了进一步优化。
2.1 三角网生长算法步骤:(过程如图2)(1)在所采集的离散点中任意找一点,然后查找距此点最近的点,连接后作为初始基线。
(2)在初始基线右侧运用Delaunay法则搜寻第三点,具体的做法是:在初始基线右侧的离散点中查找距此基线距离最短的点,做为第三点。
(3)生成Delaunay三角形,再以三角形的两条新边(从基线起始点到第三点以及第三点到基线终止点)作为新的基线。
(4)重复步骤(2),(3)直至所有的基线处理完毕。
也有人称此算法为“炸弹法”。
图1 delaunay三角形与Voronoi多边形偶图图2 三角网生长算法过程2.1 在VB环境中的数据结构为了对离散数据进行有效管理,作者在构建TIN时采用的数据结构为点结构,边(或线)结构,三角形(或面)结构。
数据结构定义如下(图3是对应于图4的不规则三角网的表示方法[6]):(1)类模块a.三角形数据结构Triangle(Triangle.cls)Public pnt1 As New POINT ‘三顶点Public pnt2 As New POINTPublic pnt3 As New POINTPublic NO AsLong ‘三角形编号Public triNO1, triNO2, triNO3 As Long ‘三角形的相邻三角形号Public EdgeNO1, EdgeNO2, EdgeNO3As Long ‘三角形的三条边号b.点的数据结构Point(Point.cls)Public x As DoublePublic y As DoublePublic z As DoublePublic pntNO AsLong ‘顶点编号c.边的数据结构Edge(Edge.cls)Public eS As Point ‘边的起点Public eE As Point ‘边的终点Public LTriNO As Long ‘边的左三角形编号Public RTriNO As Long ‘边的左三角形编号(2) 模块a. 三角形数组和点数组,三角形记数和点记数Modulel(Modulel.bas)Public triArray As New Collection ‘三角形集合Public pntArray As New Collection ‘点的集合Public edgeArray As New Collection ‘边的集合Public nCount As Long ‘点个数Public eCount As Long ‘边个数Public triCount As Long ‘三角形个数b. 存放窗体函数中的调用函数mathCal(mathCal.bas)Function TwoPntDistance(ByVal p1 As POINT, ByVal p2 As POINT) As Double ‘计算两点之间的距离Function MinDistancePnt(ByVal p As POINT) As POINT ‘找与已知点最短距离的点Function MaxAnglePnt(ByVal e as Edge) As POINT ‘找距与已知的基线两端点组成夹角最大的点图 3 TIN的数据结构图 4 TIN的平面图形3 VB环境中此算法思想以及实现过程本文选用的方法是一种改进的生长算法,本算法和原始的生长算法比较,具有速度快等优点,主要是在Edge边数据结构中加入了边的使用次数,这样就没有必要对每个新生成的三角形的两条新边都向外扩展生长,有效地减少了扩展的边个数,从而提高了构网速度,本算法的详细如下。
(1) 在离散数据点集V中任取一点A ,以点A为基点寻找与它最近的一点B。
连接AB ,就得到了三角形的一条基边,把该边作为扩展基边,转(2) 。
(2) 在扩展基边(是有向的)的右边点集中去找与该边两端点连成直线组成的夹角为最大的P点,就组成了第一个三角形,将所有新生成的边与三角形信息用相应的链表进行存储起来,边每使用一次,其数据结构中的UseTimes就加1,转(3) 。
(3) 在边链表中取出头位置的边,以该边为扩展基边向外进行扩展。
如果该边的使用次数为2或是右边没有点,该边不进行扩展;否则,转( 2)进行扩展,同时存储新生成的边和三角形。
转(4)。
(4) 对边链表中下一位置的边进行扩展,实现过程同步骤(3) ,转(5)。
(5) 重复步骤( 4) ,直至边链表中的所有边都进行了扩展,就结束构网。
为了对算法的稳定性及可行性进行检验,笔者在VB中实现了上述算法,并用一些实验数据点验证了上述算法,图5是原始的数据点,图6是用该算法实现TIN。
应用以上算法原理,基于Visual Basic 6.0 编译环境及数据库相结合,高效地实现了海量数据的Delaunay 三角网构建,实验表明,此算法的执行效率较高,对计算机硬件配置的要求较低。
图5 原始数据点图6 原始数据点生成TIN4 数据的存储—数据库管理由于我们构网所使用的点是我们事先所采样测量得到的点,且对于一个实际的项目应用来说,数据容量大,而如果是直接人为在窗体的坐标轴中输入数据的话,很难找准所给的采样点位置,因此就要将数据存储在数据库中,进行统一存储管理。
本文中,作者是将数据库与VB连接起来,那么在VB中程序运行时可直接调用数据库中的数据。
在现实的工程项目中,修路时要将某处的山地挖为平地,旅游园林公园等单位要在某些平坦的地方填方建造山林,采矿单位在地下挖方开采就形成了低洼或山体的峡谷等,形成了地形的复杂多变,那么就要在变化的区域进行点的重新测量采样,在构网时,有的地方要增加点,有的地方要删除点,有时我们还需要查询和编辑修改某个点的说明信息。
那么这些都要依靠数据库的管理。
当然,也可以将数据存储在文本文件中进行读取,关于从文件中读取数据,相信大家在平时的学习中都有所接触,这里不再赘述。
本文空间数据的操作包括图形的显示,放大,缩小,漫游,编辑,拓扑建立,查询和分析。
5 改进和提高数据放在数据库(内存)里,再从内存中读取数据,这比直接从硬盘上读取数据快的多,但是,若数据量很大,Windows就要频繁地在内存和硬盘之间交换数据,反而影响速度,这种方法对硬件的依赖很大,并未从根本上解决问题[4,7]。