不规则三角网(TIN)生成的算法

合集下载

不规则三角网TIN的建立

不规则三角网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) 的建立

用激光雷达数据创建不规则三角网的新计算方法

用激光雷达数据创建不规则三角网的新计算方法

用激光雷达数据创建不规则三角网的新计算方法摘要:不规则三角网(TIN)模型是基于规则格网地表表示之外的一种替代方法,应用于众多的数字化制图和地理信息系统中。

在不规则三角网中,不规则空间分布的采样点模拟地形时,粗糙地形用更多的点,平坦地形则采用较少的点表示。

尽管它简单,但是构建一个地区的TIN模型,需要进行样点选取、连接采样点构建三角形,以及用三角形进行表面建模三个步骤。

大部分样点选取可行算法都使用一个密集的数字高程模型(DEM)或一组数字化的等高线作为输入。

现在,光探测和测距(LIDAR)设备能够获得点云,它的可用性以及推广需要一种从新数据中进行样点选取的新计算方法。

本文阐述了用激光雷达(LiDAR)数据创建不规则三角网时样点选取的新计算方法。

关键词:三角剖分,TIN,LiDAR,DEM,地形表面1 引言与研究背景数字地形建模提供了一种健全的数字模式地形表述,非常重要,能够很容易的包含到数字制图与地理信息系统中。

数字地形模型(DTM)是用某种数字数据结构来表达地球表面的方法。

最常见的数字地形模型是数字高程模型(DEM),包括规则格网模型和不规则格网模型。

常见的数字地形模型是用摄影测量以手动或者自动方式得到;然而,不管是手动还是自动方式,样点都不是随机选择的。

那么,规则格网模型(如:数字高程模型)能在何种程度表达地形?同时,如果想更新DEM将会怎样?TIN与DEM不同,是对地形表面的连续表达。

在GIS中,数字地形表达大部分能够用来分析和可视化研究。

不同的表达能够用来提供地形表面的数字模型,包括等高线图,数字高程模型以及不规则三角网模型。

等高线图用等高线来连接等高程点,进而描述地形表面。

等高线存储于“有序表”文件中。

尽管这种数据结构简单,但是长等高线可能有成千上万个点,所以会产生一个很大的“有序表”文件。

数字高程模型是地表点高度基于格网的表示。

规则格网模型是最简单而且最常见的地表数字表示形式。

DEM网格大小或者分辨率在确定地表描述可信度非常重要的参数。

GIS名词解释一

GIS名词解释一

GIS名词解释一建立DEM的方法之一【建立不规则三角网方法(TIN)】原理:对有限个离散点,每三个最临近点联结成三角形,每个三角形代表一个局部平面,再根据每个平面方程,计算每个网格点的高程,生成DEM。

TIN定义:将离散分布的实测数据点连成三角网,网中的每个三角形要求尽量接近等边形状,并保证由最近邻的点构成三角形,即三角形的边长之和最小。

【空间插值】常用于将离散点的测量数据转换为连续的数据曲面,它包括内插和外推两种算法。

前者是通过已知点的数据计算同一区域内其他未知点的数据,后者则是通过已知区域的数据,求未知区域的数据。

通常,在以下几种情况下要做空间插值:1、现有数据的分辨率不够,如遥感图象从一种分辨率转换到另一种分辨率。

2、现有数据的结构与所需结构不同,如将栅格数据转换到TIN数据。

3、现有数据没有完全覆盖整个区域,如只有一些离散点数据。

4、需要进行空间插值处理的原始数据包括:航片/卫片、野外测量采样数据、等值线图等。

【空间内插】定义:从已知点或分区的数据推求任意点或分区的数据的方法称为间数据的内插。

有点内插和区域内插两种。

【数字地面(形)模型】定义:描述地球表面形态多种信息空间分布的有序数值阵列,从数学的角度,可以用二维函数系列取值的有序集合来概括地表示数字地面模型的丰富内容和多样形式。

书中定义:用数字化的形式表达的地形信息。

【地理空间的特征实体】概念:地理空间实体特征是指具有形状、属性和时序特征的空间对象或地理实体。

;实体包括点、线、面、曲面和体等类型,它包括两种基本表达形式:矢量表示法、栅格表示法【E-R模型】常用的语义数据模型之一是实体--联系模型。

提供三种重要的语义概念,即实体、联系和属性。

实体: 就是对客观存在起独立作用的客体的抽象,用矩形符号表示;关系: 就是客体间有意义的相互作用或对应关系, 用菱形符号表示;属性: 对实体和联系特征的描述, 每个属性都有一个域,用椭圆表示【数据与信息的关系】数据是信息的一种表现形式,数据通过能书写的信息编码表示信息。

第五章 不规则三角网TIN建立1

第五章 不规则三角网TIN建立1

子集凸壳的生成 所谓凸壳是指数据点的自然极限边界,为包含所有数据点的最小凸多边形。
下面给大家介绍格雷厄姆凸壳生成算法,步骤如下:
(1)找出点集中ቤተ መጻሕፍቲ ባይዱ坐标最小的点P1 (2)将P1点和点集中其他各点用线段相连, 并计算这些线段与水平线的夹角 (3)按夹角大小对数据点进行排序,如果夹角 相同,则按距离排序。设得到的序列为P1、 P2、…Pn (4)依次连接所有点,得到一多边形,根据凸 多边形原理,删去边界序列中的非凸壳顶点。最 后,得到凸壳点集。
第一节
1.2 TIN的三角剖分准则
概述
(4)张角最大准则:一点到基边的张角为最大。 (5)面积比准则:三角形内切圆面积与三角形面积或三角形面积与周长平方之 比最小。 (6)对角线准则:两三角形组成的凸四边形的两条对角线之比超过给定限定值 时,对三角形进行优化。
通常将在空外接圆准则、最大最小角准则下进行的三角剖分称为Delaunay三角形, 简称DT。
面是由最近的三个顶点所组成的三角形面,是TIN描述地形表面的基本单元。TIN 中的每一个三角形都描述了局部地形倾斜状态,具有唯一的坡度值。
数据和TIN的类型 构建TIN的原始数据根据数据点之间的约束条件可分为无约束数据域和约束数据域 两种类型。 无约束数据域是指数据点之间不存在任何关系,即数据分布完全呈离散状态,数据 点之间在物理上相互独立。
第一节
1.1 TIN的基本概念 什么是TIN??
概述
基于不规则三角网的数字高程模型(Based on Triangulated Irregular Network DEM) 就是用一系列互不交叉、互不重叠的连结在一起的三角形来表示地形表面。
TIN的基本要素 用来描述TIN的基本要素有三个:节点、边、面。 节点是相邻三角形的公共顶点,也是用来构建TIN的 采样数据。 边是指两个三角形的公共边界,是TIN不光滑性的具 体反映。边同时还包含特征线、断裂线及区域边界。

不规则角网(TIN)的建立

不规则角网(TIN)的建立
5.2.1 无约束散点域的三角剖分算法与实现
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)的建立分析

不规则三角网(TIN)的建立分析
TIN描述地形表面的基本单元。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

不规则三角网(TIN)的建立

不规则三角网(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

不规则三角网的算法设计与实现

不规则三角网的算法设计与实现

1 引言地球表面高低起伏,呈现一种连续变化的曲面,这种曲面无法用平面地图来确切表示。

于是我们就利用一种全新的数字地球表面的方法——数字高程模型的方法,这种方法已经被普遍广泛采用。

数字高程模型即DEM(Digital Elevation Model),是以数字形式按一定结构组织在一起,表示实际地形特征空间分布的模型,也是地形形状大小和起伏的数字描述。

由于地理信息系统的普及,DEM作为数字地形模拟的重要成果已经成为国家空间数据基础设施(NSDI)的基本内容之一,并被纳入数字化空间框架(DGDF)进行规模化生产,已经成为独立的标准基础产品[5]。

DEM有三种主要的表示模型:规则格网模型,等高线模型和不规则三角网。

格网(即GRID)DEM在地形平坦的地方,存在大量的数据冗余,在不改变格网大小情况下,难以表达复杂地形的突变现象,在某些计算,如通视问题,过分强调网格的轴方向。

不规则三角网(简称TIN,即Triangulated Irregular Network)是另外一种表示数字高程模型的的方法(Peuker等,1978),它既减少了规则格网带来的数据冗余,同时在计算(如坡度)效率方面又优于纯粹基于等高线的方法。

不规则三角网能随地形起伏变化的复杂性而改变采样点的密度和决定采样点的位置,因而它能够避免地形起伏平坦时的数据冗余,又能按地形特征点如山脊,山谷线,地形变化线等表示数字高程特征。

基于三角形的表面建模可适合所有的数据结构,且三角形在形状和大小方面有很大灵活性,能很容易地融合断裂线,生成线或其他任何数据,因此基于三角形的方法在地形表面建模中得到了越来越多的注意,已经成为表面建模的主要方法之一。

VB语言简洁易学,对于学习GIS的学生来说无疑是接受很容易而且较快的一门计算机编程和开发语言,也是大多数学生最熟悉和了解的语言。

正是基于对生成不规则三角网算法的研究和满足学GIS的学生对VB 语言的喜爱和熟悉的情况下,本文就主要介绍用三角网生长算法生成不规则三角网及其在VB6.0环境下的实现。

TIN三角形的建立的算法及实现研究

TIN三角形的建立的算法及实现研究

TIN三角形的建立的算法及实现研究摘要:不规则三角网(TIN)是数字高程模型(DEM)中最基本和最重要的一种模型,它能以不同层次的分辨率来描述地形表面,可以灵活的处理特殊地形。

因此,TIN的构建和重构、基于TIN模型的等值线追踪以及对TIN模型的三维可视化都是GIS中的重要研究领域。

关键词:不规则三角网;构建不规则三角网;生长算法;TIN数据结构。

一:TIN三角网的几种算法1、分割合并算法分割合并算法的思想很简单,就是将复杂问题简单化,首先将数据点分割成易于进行三角剖分的子集,如一个子集中包括三个、四个点,然后对每个子集进行三角剖分,并用LOP算法保证三角剖分为DT三角网。

当每个子集剖分完成后,对每个子集的三角剖分进行合并,形成最终完整体三角网。

不同的实现方法可有不同的点集划分方法、子三角网生成方法及合并算法等。

分割合并算法的步骤为:1)把数据以横坐标为主、纵坐标为辅按升序进行排序。

2)如果数据集中的数据个数大于给定的阀值,则把数据域划分为个数近似相等的左右两个子集并对每个子集做如下工作:(1)计算每一个子集的凸壳。

(2)以凸壳为数据边界,对每一数据域进行三角剖分,并用LOP进行优化,使之成为DT三角剖分;(3)找到链接左右子集两个凸壳的底线和顶线;(4)由底线到顶线,合并两个子三角网。

3)如果数据小于阀值,则直接输出三角剖分结果。

在第一步中,主要工作是对数据点进行排序,目的是使三角网不互相重叠和交叉。

一般以横坐标为主、纵坐标为辅按升序排列。

第二步是该算法的主体,包括连续分割、凸壳生凸壳三角剖分、子网合并等内容,集中体现了该算法的基本思想,即分割(数据点分割),合并(子三角网合并)。

数据点分割:是以递归的方式将数据点划分成大小相同的子集,一般要求每一个子集能采用同样的算法进行处理。

在三角网剖分情况下,规范化子集包含至少三个点但不高于六个点(数据分割阀值)。

当数据以横坐标为主排序后,递归划分的结果是垂直于横轴的连续条带。

TIN_边生长法

TIN_边生长法
不规则三角网(TIN)的生成算法 ——递归生长法
算法简介
Delaunay三角网 (Delaunay Triangulation Irregular Network ,D-TIN) 是一系列相互连接但不重合的三角形的集合,每个三角形的外接圆内, 不包含其他的点,是空外接圆。 其次,点集构成的三角网中,delaunay三角网的三角形的最小内角最大。
P4 P3
P5 P2
P1
常用构建D-TIN算法:递归生长算法 逐点插入法 凸闭包收缩法
基础算法
ห้องสมุดไป่ตู้ 基础算法
如何判断点在直线的左侧还是右侧:平面上三点的面积量
y p1
p2
p3 x
S (P1, P2 , P3 )
x1 x3 x2 x3 y1 y3 y2 y3
S 0, 在矢量 P1P2 左侧
S 0, 在矢量 P1P2 右侧
p3
x
递归生长法
递归生长法
P3 P2
P1
递归生长法
P3’ P3
P2 P1
递归生长法
P3 P3’’
P2 P1
递归生长法
出现重复情况,就把新生成的边删除,最后就保留了不重复的边
P5 P3
P2
P1
P6 P4
P8
P7
递归生长法
THANKS
S =0, 在矢量 P1P2 上
基础算法
判断距离直线最近的点:夹角最大原则
y p1
a b a b cos
a b xa xb ya yb
p2
cos
(x1 x3 ) (x2 x3 ) (y1 y3 ) (y2 y3 )
(x1 x3 )2 (y1 y3 )2 (x2 x3 )2 (y2 y3 )2

数字地面模型 第五章 不规则三角网(TIN)的生成 Voronoi图与Delaunay三角形

数字地面模型 第五章  不规则三角网(TIN)的生成 Voronoi图与Delaunay三角形

2.5 Delaunay三角网生成的算法
经过30多年的研究,自动生成Delaunay三角网的算法已趋于成熟:它们基本 上可分为分治算法、逐点插入法、三角网生长法等3类。其中前两类较第3类在应 用上更加广泛;但即使这两类算法也分别存在着时间和空间效率上的缺陷,使它 们的应用受到了一定的限制。 Shamos和Hoey首次提出了一个用分治算法的思想实现的生成V-图的算法。它 后来被Lewis和Robinson加以改进并应用于生成D-三角网。该算法是不断地将数 据分割为两个近似相等的子集,直至子集中的点数不大于4而生成子三角网,然 后逐级合并生成最终的三角网。分治算法是通过递归地执行同一源代码而实现的
成开放的区域外,其余每个点都形成一个凸多边 形。
2.3 Delaunay三角网
Delaunay三角网是V-图的伴生图形,它是相互邻接且互不重叠的三角形集合。 D-三角网的定义是:有公共边的V-多边形称为相邻的V-多边形。连接所有相邻 的V-多边形的生长中心所形成的三角网称为D-三角网。
D-三角网的外边界是一个凸多边形,它由连接V中的凸集形成,通常称为凸壳。 D-三角网具有两个非常重要的性质。
2.4 Delaunay三角网产生的基本准则
空圆法则:任何一个 Delaunay 三角形 的外接圆的内部不能包含其他任何点, 也称狄洛尼法则。 Lawson 的“最大化最小角原则”:每 两个相邻的三角形构成的凸四边形的 对角线,在相互交换后,六个内角的 最小角不再增大。 Lawson 的“局部最优方法 (LOP)” :交 换凸四边形的对角线,可获得等角性 较好的三角网。
• 不规则三角网是通过从不规则分布的数据点生成的连续三角面来逼 近地形表面。
1.2
不规则三角网的基本要求
TIN模型根据不规则分布于区域的离散点集P(实测高程点),将区域 划分为相连的三角面网络,它要求:

不规则三角网(TIN)生成的算法

不规则三角网(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 三角网的计算时间。

、不规则三角网生成的算法

、不规则三角网生成的算法
5.1 Triangulated irregular network formation:Principles 5.2 Vector-based static Delaunay triangulation
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的建立

不规则三角网TIN的建立
12直接生成tin方法该方法直接将等高线离散化然后利用常用tin的生成算法该方法没有考虑离散点间原有的连接关系模拟的地形就会失真具体表现为三角形的边穿越等高线和存在平三角形的两种情况
数字高程模型
不规则三角网(TIN) 的建立算法
2019/3/25
马仕航 1410040222
1
TIN概述
?5.1.1 TIN的理解 ?5.1.2 TIN的三角剖分准则 ?5.1.3 三角剖分算法分类与特 点
2019/3/25
2
?TIN的基本概念
不规则三角网(Triangulated Irregular Network 简称TIN):是用一系列互不交叉、互不重叠的连接在一 起的三角形来表示地形表面。TIN既是矢量结构又有栅格 的空间铺盖特征,能很好地描述和维护空间关系。
2019/3/25
3
不规则三角网 (TIN)的建立
2019/3/25
11
?关于delaunay 三角网
? 1934年Delaunay提出了Voronoi图的对称图, 即Delaunay三角网(用直线段连接两个相邻 多边形内的离散点而生成的三角网)。
– Delaunay 三角网的特性:
? 不存在四点共圆; ? 每个三角形对应于一个Voronoi图顶点; ? 每个三角形边对应于一个Voronoi图边; ? 每个结点对应于一个Voronoi图区域; ? Delaunay图的边界是一个凸壳; ? 三角网中三角形的最小角最大。
2019/3/25
20
2、逐点插入算法 :
? 1)定义包含所有数据点的最小外界矩形范围,并以此作 为最简单的凸闭包。
? 2)按一定规则将数据区域的矩形范围进行格网划分(如 限定每个格网单元的数据点数)。

不规则三角网

不规则三角网

不规则三角网(TIN )生成算法一、三角剖分的标准:空外接圆法:任意四点不能共圆最大最小角法:三角网内的最小角尽可能的大最短距离和准则:形成的三角形三边之和应满足最优解——三边之和最短张角最大准则:面积比准则: 三角形的内切圆面积/三角形面积或三角形面积/三角形周长的平方的值最小对角线法则:但插入另一个点时,寻找四边形对角线最短的那条边作为新的三角网二、Delaunay 符合的标准:三、递归生长算法的基本思路:四、凸闭包收缩法:先找到包含数据区域的最小凸多边形,并从该多边形开始从外向里逐层形成三角形网络五、逐点插入法生成TIN 的思路:首先提取整个数据区域的最小外边界矩形范围,以此作为最简单的凸闭包->按一定法则将数据区域的矩形范围进行格网划分,限定每个格网单元平均拥有的数据点数->根据数据点的(x,y )坐标建立分块索引的线性链表->剖分数据区域的凸闭包形成两个超多边形->按照3建立的顺序链表顺序往4的三角形中插入数据点:先找到包含数据点的三角形,进而连接该点与三角形的三个顶点,简单剖分该三角形为三个新的三角形->分别调整新生成的三个三角形及其相邻的三角形,交换公共边->重复5~6,直到所有数据点都被插入到三角网中六、三角网TIN数据类型:无约束数据域——无约束TIN 约束数据域:内部约束及外部约束七delaunay法则:当三角形外接圆内不包含任意其他点,且其三个顶点相互通视时形成的三角网为一个带约束条件的delaunay法三角形八、带约束条件的delaunay Lawson LOP交换:在带约束的delaunay法则满足的条件下,由两相邻三角形组成的凸四边形的局部最佳对角线才被选取九、在TIN生成中如何考虑地形特征线三角剖分时要求TIN三角网中得三角形满足形态最优和无地形线穿越三角形的要求,主要有:三角形初始剖分->判断剖分三角形是否满足三角形形态比最大原则->判断特征线是否穿越剖分三角形->剖分点选择。

一种简单的不规则三角网生成算法研究

一种简单的不规则三角网生成算法研究

创新论坛217一种简单的不规则三角网生成算法研究◆吴双江 海丽 巢琥不规则三角网(TIN )是专为产生DEM 数据而设计的一种DEM 数据模型。

本文介绍了一种简单的生成TIN 的算法,并通过编程实现了TIN 的构建。

引言不规则三角网(Triangulated Irregular Networks ,TIN )是专为产生DEM 数据而设计的一种DEM 数据模型。

TIN 的优点是高效率的存储,数据结构简单,易于更新,它克服了高程矩阵中冗余数据的问题,而且能更加有效地用于各类以DEM 为基础的空间分析和计算。

本文介绍一种简单的生成TIN 的算法,并通过C++语言编程实现TIN 的构建。

1 TIN的特性和三角化准则最常用的TIN 构网方法是Delaunay 三角剖分法,构成的D-三角网具有以下特性:满足最小角最大化的最佳三角形条件;任意三个离散点构成的Delaunay 三角形的外接圆中不包括其他离散点;由于D-三角网与V-图具有对偶性,一旦离散点集的平面坐标固定不变,所连接的三角网具有唯一性,不随起始点的不同而变化。

根据TIN 的特性,便产生了以下4种常用的TIN 三角化准则:1.1空外接圆准则:在TIN 中,每个三角形的外接圆均不包含点集的其余任何点。

1.2张角最大准则:一点到基边的张角为最大。

1.3面积比准则:三角形内切圆面积与三角形面积或三角形面积与周长平方之比最小。

1.4对角线准则:两个三角形组成的凸四边形的两条对角线之比,比值限定值须给定,即当计算值超过限定值才进行优化。

一般而言,应尽量保持三角网的唯一性,即在同一准则下由不同的位置开始建立三角形网络,其最终的形状应是相同的,在这一点上,空外接圆准则、张角最大准则可以做到。

对角线准则含有主观因素,使用得不多。

2 TIN生成算法研究2.1 三角网生长算法分析TIN 的生成算法有多种,其中三角网生长算法是比较容易实现的。

三角网生长算法的基本步骤是:(1)以任一点为起始点;(2)找出与起始点最近的数据点相互连接形成D-三角形的一条边作为基线,按D-三角网的判别法则,找出与基线构成D-三角形的第三点;(3)基线的两个端点与第三点相连,成为新的基线;(4)迭代以上两步直至所有基线都被处理。

第五讲不规则三角网TIN建立ppt课件

第五讲不规则三角网TIN建立ppt课件
循环删除非凸顶点P1, P4, P6, P7, P9,得到凸壳顶点P1, P2, P3, P5, P8, P10, P1
分割合并算法
子三角网合并
顶线
底线前移
底线
合并的方式 是同层优先,从 下至上的递归方 式进行。
TIN的建立
三角网生长算法
收缩生长算法:先形成整个数据域的数据边界 (凸壳),并以此作为源头,逐步缩小以形成整个 三角网。
TIN的三角剖分准则
常用的三角剖分准则
最短距离和准则 在TIN中,一点到基边两端 的距离和为最小。
张角最大准则 一点到基边的张角为最大。
TIN的三角剖分准则
常用的三角剖分准则
面积比准则 三角形内切圆面积与三角形面 积或三角形面积与周长平方之比最小。
对角线准则 两三角形组成的凸四边形的两条 对角线之比超过给定限定值时,对三角形进行 优化。
F
第二步 扩展形成三角网。
B
D
C
以初始三角形的三条边为初始基线,利用 A
空外接圆准则或张角最大准则,寻找能与该三
条初始基线形成Delaunay三角形的D、E、F点。 E
第三步 重复第二步,直到所有数据处理完毕。
三角网生长算法
注意
(1) 初始边界将整个数据域分成两个部分, 搜寻第三点一般是在初始三角形另一顶点的异 侧范围内进行。
V3
Vj
基于两步法的边交换V1迭代算法
第一步 对数据域中每一约束线段,按如下过程进行
处理。设当前V处i 理的约束线段的V两4 个顶点为
Vi和Vj。
V2
第二步 检查线段ViVj是否已存在于三角网中,如果 ViVj已经是三角形的一条边,则Vi和Vj的约 束关系已满足,返回第一步进行下一条约束

TIN三角网的实现C++程序

TIN三角网的实现C++程序

/*程序名称:不规则三角网(TIN)的生成实例核心算法:三角形生长算法单位:南京大学金陵学院城市与资源学系日期:2009年11月9日至14日编程语言:Borland C可执行语句行数:373行*/#include<stdio.h>#include<conio.h>#include<math.h>#include<alloc.h>#include<graphics.h>struct Ps /*数据点的存储结构*/{int ID;float X;float Y;};struct Ts /*生成三角形的存储结构*/{int IB1;int IB2;int IB3;};void Open(char *fnm) /*打开源数据文件的函数*/{clrscr();textcolor(11);cprintf("TIN Create Demo");gotoxy(1,2);cprintf("Nov 2009");gotoxy(1,3);cprintf("Nanjing University Jinling College");printf("\n\nEnter the source data filename:\n\n>");scanf("%s",fnm); /*输入文件名*/while(fopen(fnm,"r")==NULL) /*若打开文件不成功则出现提示并重新输入*/{printf("Can't open this file.\n\n>");scanf("%s",fnm);}}int Size(char *fnm,int *ptr_N) /*读取文件头并检测数据量的函数*/{FILE *fp;int i=0,j=0,k=0;char c,t[5];fp=fopen(fnm,"r");c=fgetc(fp);while(c!='=') /*文件头为点的个数,格式为“N=200”等,故文件指针移动到‘=’时开始读取数据。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(5)重复第(4)步,直到三角形的顶点为另一个边界点11。这样,借助于一个起点9便形成了一层Delaunay三角形;
(6)适当修改边界点序列,依次选取前一层三角网的顶点作为新起点,重复前面的处理,便可建立起连续的一层一层的三角网。
该方法同样可以考虑约束线段。但随着数据点分布密度的不同,实际情况往往比较复杂。比如边界收缩后一个完整的区域可能会分解成若干个相互独立的子区域。当数据量较大时如何提高顶点选择的效率是该方法的关键。
第五章
5.1.
递归生长算法的基本过程为如图5.1.1所示:
(a)形成第一个三角形(b)扩展生成第二个和第三个三角形
图5.1.1递归生长法构建Delaunay三角网
(1)在所有数据中取任意一点1(一般从几何中心附近开始),查找距离此点最近的点2,相连后作为初始基线1-2;
(2)在初始基线右边应用Delaunay法则搜寻第三点3,形成第一个Delaunay三角形;
(2)按一定规则将数据区域的矩形范围进行格网划分,为了取得比较理想的综合效率,可以限定每个格网单元平均拥有的数据点数。
(3)根据数据点的(x,y)坐标建立分块索引的线性链表。
(4)剖分数据区域的凸闭包形成两个超三角形,所有的数据点都一定在这两个三角形范围内。
(5)按照(3)建立的数据链表顺序往(4)的三角形中插入数据点。首先找到包含数据点的三角形,进而连接该点与三角形的三个顶点,简单剖分该三角形为三个新的三角形。
定义1:给定一个d维欧基里德空间E和一个N点mi集M。那么,关联的Voronoi图(又称Thiessen多边形)为覆盖E的一个凸多边形序列(V(m1 ),V(m2 ),…,V(m N)),其中,V(mi)包括E中所有以M中的mi为最近点的点,即V(mi)=p∈E∶Vj,1≤j≤N,d(p,mi)≤d(p,mj),d表示欧基里德距离。Voronoi图的几何对偶(dual),即把点mi联结起来而得到的邻接格网称为M的Delaunay三角网。显然,Delaunay三角网的元素之并等于M的凸包之内部。Delaunay三角网自然推广到输入数据不仅包括点集M,还包括不相交叉的直线段集L。在计算几何里,这类问题称约束Delaunay三角网(Constrained Delaunay Triangles,简称CDT)问题。对地形数据来说,L即地形特征线段集(朱庆,陈楚江,1998)。
(a)三角形与等高线相交;(b)三角形的三个顶点都位于同一条等高线上
图5.3.3对等高线进行不合理三角化的例子
将等高线作为特征线生成三角网一般有两种算法:将等高线作为特征线的方法、自动增加特征点及优化TIN的方法。
将每一条等高线当作断裂线或结构线时,对三角形而言,至多只能从同一等高线取两个点。图5.3.4显示了一个考虑等高线特性的Delaunay三角网。
(2)确定边界与约束线段相交的三角形,如果两个这样的三角形有公共边,则将此公共边删除,最后形成约束线段的影响多边形;
(3)将影响多边形其它各顶点与约束线段的起始节点相连;
(4)应用带约束条件的LOP交换,更新影响多边形内的三角网,使约束边成为三角网中的一边;
(5)重复步骤1-4,直至所有约束线段都加入三角网中。
与递归生长法相反,凸闭包搜索法的基本思想是首先找到包含数据区域的最小凸多边形,并从该多边形开始从外向里逐层形成三角形网络。平面点凸闭包的定义是包含这些平面点的最小凸多边形。在凸闭包中,连接任意两点的线段必须完全位于多边形内。凸闭包是数据点的自然极限边界,相当于包围数据点的最短路径。显然,凸闭包是数据集标准Delaunay三角网的一部分。计算凸闭包算法步骤包括:
(4)重复(2)-(3)直至找不到新的顶点为止。
(a)初始边界7,9,12,6;(b)搜索凸闭包顶点11,5,4;(c)凸闭包
图5.1.2凸闭包的计算(引自Tsai,1993)
一旦提取出数据区域的凸闭包,就可以从其中的一条边开始逐层构建三角网,具体算法如下:
(a)第一个三角形(b)第一层三角形
图5.1.3凸闭包收缩法形成三角网
当Delaunay三角形的外接圆不包含Voronoi图的顶点时,Voronoi图顶点在骨架线上(图5.3.5(a));当Delaunay三角形的外接圆包含Voronoi图的顶点时,Delaunay三角形的边就是边界线(图5.3.5(b))。
(a) (b)
图5.3.5提取骨架线的原理(引自Gold,2000)
(2)嵌入线段约束,根据对角线交换法LOP调整每条线段影响பைடு நூலகம்域内的所有三角形。
在作为约束条件的地形特征信息存在时,当标准Delaunay三角网建立起来后,便可加入预先给定的约束线段以完成带约束条件的Delaunay三角网的构建。如图5.3.2所示,下面步骤用于完成约束线段的插入:
(1)在三角网中插入一约束线段;
(1)将凸多边形按逆时针顺序存入链表结构,左下角点附近的顶点排第一;
(2)选择第一个点作为起点,与其相邻点的连线作为第一条基边,如图5.1.3(a)中的9-5;
(3)从数据点中寻找与基边左最邻近的点8作为三角形的顶点。这样便形成了第一个Delaunay三角形;
(4)将起点9与顶点8的连线换作基边,重复(3)即可形成第二个三角形;
5.2
5.1节介绍的三角网生长算法最大的问题是计算的时间复杂性,由于每个三角形的形成都涉及所有待处理的点,且难于通过简单的分块或排序予以彻底解决。数据点越多,问题越突出。本节将要介绍的数据逐点插入法在很大程度上克服了数据选择问题。其具体算法如下(见图5.2.1):
(1)首先提取整个数据区域的最小外界矩形范围,并以此作为最简单的凸闭包。
带约束条件的Delaunay法则:只有当三角形外接圆内不包含任何其它点,且其三个顶点相互通视时,此三角形才是一个带约束条件的Delaunay三角形。
带约束条件的DelaunayLawson LOP交换:只有在带约束条件的Delaunay法则满足的条件下,由两相邻三角形组成的凸四边形的局部最佳对角线(Locally Optimal Diagonal)才被选取。
定义2:令单点集M和线段端点集E之并为V(V=M∪E),如果在V的每个Delaunay三角形的外接圆范围内不包含任何与三角形的顶点均通视的其它点,而点Pi与Pj(Pi,Pj∈V)当且仅当连线PiPj不与L中的任何约束线段相交叉(除在端点处外)时才互相通视,那么称这个Delaunay三角网为V由L约束的Delaunay三角网(朱庆,陈楚江,1998)。
图5.3.19个点与两条约束线段的通视图(引自Tsai,1993)
考虑线段约束可以在形成Delaunay三角形的同时进行,如根据带约束条件的Delaunay法则建立静态三角网的生长算法就是如此。而采用更多的方法是在动态生成三角网的基础上,采用两步法实现CDT的建立。所谓两步法即分以下两步完成:
(1)将所有数据包括约束线段上的数据点,建立标准的Delaunay三角网。
由等高线重建地形的方法中使用骨架线可以保留曲线段之间的拓扑关系。从等高线图生成的Voronoi图上提取骨架线,骨架线可用于提取附加点以消除“平三角形”。附加点的高程可由估算获得。基于该方法可以估计出合理的地形坡度,并且为TIN提取有意义的中间点(Gold,2000)。
从等高线图生成的Voronoi图上提取骨架线的原理如图(5.3.5)所示,
(6)根据Delaunay三角形的空圆特性,分别调整新生成的三个三角形及其相邻的三角形。对相邻的三角形两两进行检测,如果其中一个三角形的外接圆中包含有另一个三角形除公共顶点外的第三个顶点,则交换公共边。
(7)重复(5)-(6)直至所有的数据点都被插入到三角网中。
(a)第一分块数据插入后(b)第二分块数据插入后(c)全部三角形
图5.2.1逐点插入法构建Delaunay三角网
可见,由于步骤(3)的处理,保证相邻的数据点渐次插入,并通过搜寻加入点的影响三角网(Influence Triangulation),现存的三角网在局部范围内得到了动态更新。从而大大提高了寻找包含数据点的三角形的效率。
5.3
当不相交的地形特征线、特殊的范围边界线等被作为预先定义的限制条件作用于TIN的生成当中时,必须考虑带约束条件的Delaunay三角网。最简单的处理方法是所谓的“加密法”,即通过加密约束线段上的数据点,将约束数据转换为普通数据,从而按标准Delaunay三角形剖分即可。尽管该方法加大了数据量并改变了原始数据集,但由于简单易行、稳定可靠,在许多情况下可以很好地满足需要。该方法唯一的问题在于如何恰当地确定特征线上加密数据点之间的距离,一般取平均数据点间距的一半或更小即可。以下内容主要介绍直接处理约束线段的算法。
图5.3.6提取骨架线后的等高线图(引自Gold,2000)
提取等高线图的骨架线后(图(5.3.6)),还要估计骨架线上点的高程,其原理如图(5.3.7)所示。假设 是有新增点的等高线高程, 是相邻等高线的高程, 是待估计骨架点的高程, 是参考圆的半径, 是骨架点的半径,则高程 可由下式计算:
(3)并以此三角形的两条新边(2-3,3-1)作为新的初始基线;
(4)重复步骤(2)和(3)直至所有数据点处理完毕。
该算法主要的工作是在大量数据点中搜寻给定基线符合要求的邻域点。一种比较简单的搜索方法是通过计算三角形外接圆的圆心和半径来完成对邻域点的搜索。为减少搜索时间,还可以预先将数据按X或Y坐标分块并进行排序。使用外接圆的搜索方法限定了基线的待选邻域点,因而降低了用于搜寻Delaunay三角网的计算时间。如果引入约束线段,则在确定第三点时还要判断形成的三角形边是否与约束线段交叉。
图5.3.4将等高线当作断裂线以建立三角网
自动增加特征点及优化TIN的方法是:仍将等高线离散化建立TIN,但采用增加特征点的方式来消除TIN中的“平三角形”,并使用优化TIN的方式来消除不合理的三角形比如三角形与等高线相交等,另外对TIN中的三角形进行处理以使得TIN更接近理想化的情况。使用手工方式增加特征点线,无论在效率方面,还是在完整性、合理性等方面都是很有限的。因此需要设计一定的算法来自动提取特征点。这些算法的原理大都基于原始等高线的拓扑关系。对TIN进行优化则需对三角形进行扫描判断并以一定的准则进行合理化的处理。
相关文档
最新文档