不规则三角网的算法设计与实现
不规则三角网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)的建立分析

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 模型的应用,文中对其在土方量计算方面精度的优越性进行了分析,在可视化表达方面最后结合广东省东莞市某高尔夫球场工程给出了例证。
不规则三角网DEM的建立与应用

多边形称为泰森多边形。用直线段连接每两个相邻多 边形内的离散点而生成的三角网称为狄洛尼三角网
三角网数字地面模型的存贮
TIN
直接表示网点邻接关系的结构
坐标与高程值表
NO 1 2 3 X Y Z P 1 5 8 NO 2 3 4 5 9 3 1
/ “ 测 绘 信 息 网 ” 网 友 搜 集 版 权 归 原 权 利 人 所 有 ,
搜索该等高线在该三 角形的离去边
基于格网点搜索的等高线绘制
建立一个与邻接关系对应的标志数组
按格网点的顺序进行搜索
坐标与高程值表
NO X Y Z P NO 2 3 Flag() 1
1
2 3
90.0
50.7 67.2
10.0
10.0 23.9
43.5
67.3 62.6
1
5 8
4
5 9
10
10.0
则C为该三角 形第三顶点
示意图
C1
C2
哪个内 角最大
C3
与A点距 离最近的 点
AosCi 2ai bi
2
三角形的扩展
对每一个已生成的三角形的新增加的两 边,按角度最大的原则向外进行扩展, 并进行是否重复的检测。
向外扩展的处理。若从顶点为P1(X1,Y1),
三角网中的内插 格网点的检索:要确定点P落在TIN 的哪个三角形中 。
d ( X X i ) (Y Yi )
2 i 2 2
p
三角网中的内插 高程内插
X X1 X2 X3 Y Y1 Y2 Y3 Z Z1 Z2 Z3 1 1 1 1 0
( X X1 )(Y21Z31 Y31Z 21 ) (Y Y1 )(Z 21 X 31 Z31 X 21 ) Z Z1 X 21 X 31 X 31 X 21
不规则三角网(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
空间不规则三角网相交算法优化及研究

在三维面环境下, 有两地表 T IN三维面模型 , 求
两 三角 网的交线 。 5 实例研 究
一… …
作者简介
.
: 白润才( 1 9 6 1 一 ) , 男, 内蒙古察右 中旗人 , 教
. . , 、 .. 。 .
授, 博士生导师, 研究 方向: 露 天开 采技术与 理论, 数字矿山。
完成构建矿区地形 T I N模型过程后 , 得到由若干三维 多段线组成 的三角 网结构 , 经过 T I N模 型求交预处理
采用包 围盒 方法 排除 完全 不相 交 的三角形 单元 避免 无效检 测 。运用 除数 留余 法建 立 H a s h表 , 进一 步剔 除部分 肯定 不相交 的三角形 , 大大提 高 了求 交效 率 。 T I N模 型 交 线求 取 利 用 T o m a s Mo i l e r 研究 提 出 的快
巨 函 蛋 重 盈
露 天 采 矿 技 术 2 0 1 3 - f : -  ̄ 7 期
・ 5 1 ・
空间不规则三角网相交算法优化及研究
白润才,王喜 贤, 刘光伟 ,白 羽,王志鹏
( 辽 宁工程技 术大 学研 究生 学院 ,辽宁 阜新 1 2 3 0 0 0 )
摘
要 :通过构 建不规 则 三 角 网模 型 的方 法 ,采 取 包 围盒 方 法排 除 两三 角 网模 型 中大量 无效 三 角形 单
图 7 更 新 后 的地 形 D E M
图 4 三角形 及其平面相 交情形 2
矿 构建 了露 天矿 地形模 拟 T I N模型 ,并 给 出 了计 划 采 掘边 界线 ( 见图 7 一 图9 ) 。
图 8 更新后 的排土场 D E M
实体运 算转 化为二 维 面运算 , 快速 得到所 需工程 量 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 引言
地球表面高低起伏 , 呈现一种连续变化的曲 面 , 这种曲面无法用平面地图来确切表示 。于是我 们就利用一种全新的数字地球表面的方法 ———数字 高程模型方法 , 这种方法已经被广泛采用 。数字高 程模型即 DEM (Digital Elevation Model ) , 是以数字 形式按一定结构组织在一起 , 表示实际地形特征空 间分布的模型 , 也是地形形状大小和起伏的数字描 述。
由于地理信息系统的普及 , DEM 作为数字地形 模拟的 重 要 成 果 已 经 成 为 国 家 空 间 数 据 基 础 设 施 (NSDI) 的基本内容之一 , 并被纳入数字化空间框 架 (DGDF) 进行规模化生产 , 已经成为独立的标准 基础产品[5] 。DEM 有三种主要的表示模型 : 规则格 网模型 、等高线模型和不规则三角网 。格网 ( 即 GRID) DEM 在地形平坦的地方 , 存在大量的数据冗 余 , 在不改变格网大小情况下 , 难以表达复杂地形 的突变现象 , 在某些计算 , 如通视问题 , 过分强调 网格的轴方向 。不规则三角网 (简称 TIN , 即 Trian2 gulated Irregular Network) 是另外一种表示数字高程 模型的的方法 ( Peuker 等 , 1978) , 它既减少了规则 格网带来的数据冗余 , 同时在计算 (如坡度) 效率
Algorithm Designing and Realizing of TIN in VB
J IANG Jian - xia1 , LIU Shao - hua1 ,2 , YAN Han - ying1
(1. Geoscience Institute , Yangtze University , Jingzhou 434023 , China ; 2. Digital Land Key Lab of Jiangxi Province , Fuzhou 344000 , China)
图 2 三角网生长算法过程
三角形 (或面) 结构 。数据结构定义下 (表 1 是 对应于图 3 的不规则三角网的表示方法[6]) :
(1) 类模块 a. 三角形数据结构 Triangle ( Triangle1cls) Public pnt1 As New POINT ‘三顶点 Public pnt2 As New POINT Public pnt3 As New POINT Public NO As Long ‘三角形编号 Public triNO1 , triNO2 , triNO3 As Long ‘三 角形的相邻三角形号 Public EdgeNO1 , EdgeNO2 , EdgeNO3As Long ‘三角形的三条边号 b. 点的数据结构 Point ( Point1cls) Public x As Double Public y As Double Public z As Double Public pntNO As Long ‘顶点编号 c. 边的数据结构 Edge ( Edge1cls) Public eS As Point ‘边的起点 Public eE As Point ‘边的终点
64
四川测绘第 29 卷第 2 期 2006 年 6 月
VB 环境下不规则三角网的算法设计与实现
江剑霞1 刘少华1 ,2 严汉英1 (1. 长江大学地球科学学院 , 湖北荆州 , 434023 ; 2. 江西省数字国土重点实验室 , 江西抚州 , 344000)
[ 摘 要 ] 本文对不规则三角网生长算法实现的研究 , 利用了 VB 强大的可视化用户界面及其编程语言的灵活 性及简单易懂特点 , 基于各行业对于 DEM 的需要 , 开发出一种利用 VB610 语言生成基于生长算法的不规则三 角网 , 结合数据库强大的数据存取 、编辑 、查询功能 , 共同实现离散点的管理和三角网的构成 。 [ 关键词 ] 不规则三角网 ; Delaunay 三角网 ; VB 环境 ; 算法 [ 中图分类号 ] P23115 [ 文献标识码 ] A [ 文章编号 ] 1001 - 8379 (2006) 02 - 0064 - 04
(1) 在所采集的离散点中任意找一点 , 然后查 找距此点最近的点 , 连接后作为初始基线 。
(2) 在初始基线右侧运用 Delaunay 法则搜寻第 三点 , 具体的做法是 : 在初始基线右侧的离散点中 查找距此基线距离最短的点 , 作为第三点 。
(3) 生成 Delaunay 三角形 , 再以三角形的两条 新边 (从基线起始点到第三点以及第三点到基线终 止点) 作为新的基线 。
(4) 重复步骤 (2) 、(3) , 直至所有的基线处理 完毕 。
也有人称此算法为 “炸弹法”。 212 在 VB 环境中的数据结构
为了对离散数据进行有效管理 , 作者在构建 TIN 时采用的数据结构为点结构 、边 (或线) 结构 、
图 1 delaunay 三角形与 Voronoi 多边形偶图
Function MaxAnglePnt ( ByVal e as Edge ) As POINT‘找距与已知的基线两端点组成夹角最大的点
2 TIN 的算法种类及各算法特点
在介绍构成 TIN 各种算法之前我们要来了解认 识一下一个重要法则 ———Delaunay 三角网法则 。通 常构建三角网并不考虑地性线 (山脊线 、山谷线) 的骨架作用 , 但是 , 由于用等高线数据构建三角网 时 , 由于地形的复杂多样 , 有的地区存在因地形突 变而形成的断裂线等特殊地貌 。另外一些地区存在 大面积水域等内部不需要构网的区域 。因此 , 在精 度要求较高的 TIN 中 , 必须考虑以上问题 。此时应 顾及地性线 、断裂线 、水域线等特殊情况 , 也就是
© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved.
66
Public LTriNO As Long ‘边的左三角形编号 Public RTriNO As Long ‘边的右三角形编号 (2) 模块 a. 三角形数组和点数组 , 三角形记数和点记 数
Abstract : The paper discuss the algorithm of the TIN which takes advantage of VBπs powerfully visible interface of user and flexibility and knowing easily of compiling procedure1 On the basis of demanding for DEM for all professions , the author uses the VB language to develop a kind of TIN based on the growth - algorithm , in combination with the powerful function of the da2 ta baseπs data accessed , edited and inquired about , achieving the management of the dispersed points and the construction of TIN. Key words : TIN ; Delaunay ; VB ; algorithm
© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved.
四川测绘第 29 卷第 2 期 2006 年 6 月
65
应构建约束 —Delaunay 三角网 。约束法是基于约束 图计算约束 D —三角剖分[1 ,9] (简称 CDT , 即 Con2 strained Delaunay Triangulation ) 构 造 算 法[8] , 这 种 Delaunay 三角网满足这样的法则 : Delaunay 三角网为 相互邻接且互不重叠的三角形的集合 , 每一个三角 形的外接圆内不包含其他点 。Delaunay 三角网由对 应 Voronoi 多边形的点连接而成 。Delaunay 三角形由 三个 相 邻 点 连 接 而 成 , 这 三 个 相 邻 顶 点 对 应 的 Voronoi 多边形有一个公共的顶点 , 此顶点是 Delau2 nay 三角形外接圆的圆心 (如图 1) 。
方面又优于纯粹基于等高线的方法 。不规则三角网 能随地形起伏变化的复杂性而改变采样点的密度和 决定采样点的位置 , 因而它能够避免地形起伏平坦 时的数据冗余 , 又能按地形特征点如山脊 、山谷 线 、地形变化线等表示数字高程特征 。
基于三 角 形 的 表 面 建 模 可 适 合 所 有 的 数 据 结 构 , 且三角形在形状和大小方面有很大灵活性 , 能 很容易地融合断裂线 , 生成线或其他任何数据 , 因 此基于三角形的方法在地形表面建模中得到了越来 越多的注意 , 已经成为表面建模的主要方法之一 。 本文主要介绍用三角网生长算法生成不规则三角网 及其在 VB610 环境下的实现 。
mathCal (mathCal1bas)
Function TwoPntDistance (ByVal p1 As POINT , By2 Val p2 As POINT) As Double ‘计算两点之间的距离
Function MinDistancePnt (ByVal p As POINT) As POINT‘找与已知点最短距离的点
Modulel (Modulel1bas) 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. 存放窗体函数中的调用函数