搜档网
当前位置:搜档网 › 基于不规则三角网构建的网格生长算法

基于不规则三角网构建的网格生长算法

基于不规则三角网构建的网格生长算法
基于不规则三角网构建的网格生长算法

基于基于不规则三角网不规则三角网不规则三角网构建构建构建的的网格生长算法

刘 刚,李永树李永树,,张水舰

(西南交通大学地理信息工程中心,成都 610031)

摘 要:提出一种基于离散点Delaunay 三角网快速构建的网格生长算法,采用分治算法将离散点表达为唯一网格,利用稀疏矩阵完成网格数据的压缩存储,通过标识码实现有值单元格与离散点之间的高效检索,从而提高网格构建的效率。依据有值单元格的密度获取预设正方形搜索空间,并在三角网扩展时根据需要动态建立正方形搜索空间,从而保证网格生长的准确性。实验结果表明,该算法的时间复杂度为O (n log n ),对于少量或海量离散点均具有较好的适应性。

关键词关键词::Delaunay 三角网;不规则三角网;离散点;正方形搜素空间;网格生长算法

Grid Growing Algorithm Based on

Triangular Irregular Network Construction

LIU Gang, LI Yong-shu, ZHANG Shui-jian

(Geography Information Engineering Center, Southwest Jiaotong University, Chengdu 610031, China)

【Abstract 】This paper presents a grid growing algorithm for fast construction of Delaunay irregular network based on discrete point. In this algorithm, a grid is achieved to express discrete point uniquely based on the divide-and-conquer method, which is compressed storage in a sparse matrix, and an efficient retrieval method is established between value cell and discrete point by identification code, which is effectively to improve the efficiency of the construction of Triangular Irregular Network(TIN). According to the density of value cells, a default square search space is acquired, and it is allowed to create the square search space dynamically in the expansion process of TIN, which ensures the accuracy of the grid growing. Experimental results show that the time complexity of the proposed algorithm is O (n log n ), and the algorithm is available to both small and massive amount of discrete points.

【Key words 】Delaunay triangular network; Triangular Irregular Network(TIN); discrete point; square search space; grid growing algorithm DOI: 10.3969/j.issn.1000-3428.2011.12.019

计 算 机 工 程 Computer Engineering 第37卷 第12期

V ol.37 No.12 2011年6月

June 2011

·软件技术与数据库软件技术与数据库·· 文章编号文章编号::1000—3428(2011)12—0056—03 文献标识码文献标识码::A

中图分类号中图分类号::P209

1 概述

不规则三角网(Triangular Irregular Network, TIN)表面建模是一种很重要的表面建模方法[1-2]。在所有生成TIN 的方法中,Delaunay 三角网最优,它尽可能避免了病态三角形的出现,常被用来生成TIN 。

目前,利用离散点构建Delaunay 三角网的方法有很多,主要有逐点插入法、三角网生长法、分治算法等[1]。逐点插入算法是Lawson C L [3]提出的,之后Bowyer A [4]、Watson D F [5]等人对其进行发展。该算法的时间复杂度一般在3/2()O n ~

(log )

O n n [6-7]

,在处理过程中每插入一个点都要判断插入点

所在的三角形,随着数据点的不断插入,三角形的个数成倍增加,将花费大量的时间在三角形的定位上,从而直接影响算法效率。三角网生长法、分治法等算法的时间复杂度的下界为(log )O n n 。三角网生长法将大部分时间花费在搜索符合

要求的给定基线的邻域点过程中,分治算法由于递归执行,算法需要较大内存空间[8],对海量数据而言,两者的效率都

较低。

为提高不规则三角网的构建效率,本文提出一种基于离

散点构建不规则三角网的网格生长算法,重点研究如何由离

散点生成规则网格,并在此基础上建立TIN 模型。 2 一种一种构建构建构建不规则三角网的不规则三角网的不规则三角网的网格网格网格生长算法生长算法

2.1 离散点离散点网格网格网格化化

网格由许多单元格组成,通常将单元格看成一个对象。从处理效率上看,单元格值的情况越少,单元格之间的计算

速度越快。所以,从计算效率出发,针对离散数据确定如下

规则网格构建准则:规则网格包含所有离散点,每个离散点对应一个单元格,且一个单元格内的离散点数量小于2。当单元格内存在一个离散点时表示该单元格有值(用1表示),称为有值单元格,当不存在离散点时表示该单元格无值(即为Null),称为空值单元格,并将按照该准则建立的规则网格称为唯一网格,其唯一性体现在离散点与有值单元格的一一对应关系。原理如图1所示,图1(a)表示一个单元格只包含 1个或0个离散点,图1(b)是对有值单元格进行赋值的结果(其中,黑色表示有值单元格即为1;其余无值即为Null)。

(a)离散点与网格关系 (b)网格化结果

图1 离散点离散点网格网格网格化化 基金项目

基金项目::“十一五”国家科技支撑计划基金资助项目(2006BAJ05 A13)

作者简介作者简介::刘 刚(1986-),男,硕士,主研方向:复杂网络,GIS 原理及其应用;李永树,教授、博士生导师;张水舰,博士 收稿日期收稿日期::2011-01-08 E-mail :liugang233666@https://www.sodocs.net/doc/5112030575.html,

第37卷 第12期 57

刘刚, 李永树, 张水舰:基于不规则三角网构建的网格生长算法2.2 网格网格生长生长生长算法原理算法原理

空间自相关理论反映空间相邻对象在地理特性上的相互影响程度,认为距离越近的实体,彼此的影响程度越大(也可理解为共性越多或联系越紧密)。从空间自相关角度可知,在不规则三角网构建过程中,距离当前基线较近的点对生成三角形的贡献较大,所以,算法采用局部搜索策略进行三角网的扩展,基本思想如下:根据有值单元格在网格中的密度,并以常数C N 表示每次搜索需要参考的有值单元格数量,从而确定一个正方形搜索范围R [X min, Y min, X max, Y max],之后每次扩展只需在当前基线周围的R 区域内寻找一个与当前基线满足Denaulay 三角形的有值单元格即可。当引入局部约束条件时,将约束条件范围表达为对应的网格区域并建立相应规则。网格生长算法原理如图2所示。

图2 网格网格生长生长生长算法原理算法原理

在图2中,黑色粗线框为正方形搜索范围R ,其4个参

数X min 、Y min 、X max 、Y max 为指定的行、列位置;实线三角形是已有三角形;以该三角形一边为基线并在当前正方形空间内搜索到一个有值单元格满足Delaunay 准则并生成一个新三角形,如虚线所示。

2.3 网格网格生长生长生长算法流程算法流程

网格生长算法流程主要分为3个阶段:第1个阶段是由离散点构建唯一网格,建立离散点与有值单元格之间的对应关系;第2个阶段是确定每次搜索需要参考的有值单元格的数量(用N c 表示),并计算有值单元格在整个网格中的密度,从而获取空间R 的预设大小;第3个阶段是基于所建网格按照Delaunay 准则构建不规则三角网。网格生长流程见图3。

图3 网格网格生长生长生长算法流程算法流程

2.4 网格网格生长生长生长算法实现算法实现 2.4.1 数据结构

在算法的整个实现过程中,需要频繁地对网格数据和离散数据进行调度,提高算法效率必须建立离散点与有值单元格之间的高效检索。为此,建立如下数据结构,其中,Point 表示离散点;Edge 表示三角边;Triangle 表示三角形;HasUnit 表示有值单元格。

typedef struct { long id; /*离散点id 号*/ double X,Y; /*X 坐标、Y 坐标*/ } Point;

typedef struct { long id; /*三角形边的id*/ long point_id[2]; /*from-point, to-point*/ long lt_id, rt_id; /*边左右邻接三角形*/ } Edge;

typedef struct { long id; /*三角形id*/ long edge_id[3]; /*三角形三条边的id*/ } Triangle; typedef struct { long row, column; /*单元格行、列号*/ long point_id; /*单元格对应的离散点id*/ } HasUnit;

按照2.1节中网格构建准则构建的规则网格的单元格数量很大,但有值单元格所占比重极小。在空间分布上可认为该网格是一个稀疏矩阵,所以,采用三元组顺序表实现网格的压缩存储以及与离散点的高效检索。网格存储结构见表1。

表1 网格网格存储结构存储结构

有值单元格的行号 有值单元格的列号 对应的离散点id 号

2

5 28 3 201 139 … … … m

n

k

2.4.2 基于离散点的唯一网格构建

根据离散点数据构建唯一网格的过程如下:

(1)求出离散点集合P 的最小矩形范围T [X min, Y min, X max, Y max]。

(2)寻找2个离散点1P 、2P ,且满足距离是离散点集合P 中最近的2个点。从效率角度出发,采用分治思想建立函数(,,)MinDist P X Y 用于计算最近点,具体步骤如下:

1)对离散点集合P 分别按X 、Y 排序;

2)做垂直线l 将P 划分为R P 和L P ,L P 的点在l 左边,R

P 的点在l 右边;

3)由(,,)L L L MinDist P X Y 获取L P 中的最小距离L ?;

4)由(,,)R R R MinDist P X Y 获取R P 中的最小距离R ?; 5)(, )Min L R ?=??;

6)对于在垂直线2边距离?范围内的每个点,检查是否有点与它的距离小于?,如果存在则将?修改为新值。

(3)确定常数p n (取5左右)并将?等分为p n 段,求出每一段的长度b 并以此作为单元格边长。

(4)按间隔b 对T 进行网格划分,若边界行(或列)的高度(或宽度)小于b 则将T 进行扩展满足该行(或列)的高度(或宽度)等于b ,然后再在当前网格外围添加一圈单元格,从而保证所有离散点都在网格内部。

(5)根据离散点坐标计算所有的有值单元格,并建立有值

58 计 算 机 工 程 2011年6月20日

单元格与离散点之间的对应关系。对位于网格线上的离散点,采用左上方原则进行有值单元格的确定,如图4所示是离散点与有值单元格之间的4种关系。

(a)关系1 (b)关系2 (c)关系3 (d)关系4

图4 有值单元格有值单元格的的选取规则

2.4.3 正方形搜索空间计算

正方形搜索空间R 的确定存在2个问题:(1)若R 太大,则每次遍历的空间就大,算法效率就低;若R 太小,则没有足够可供参考的有值单元格,可能导致建立的三角网不满足Delaunay 准则。(2)若离散点分布极不均匀,则采用同样大小的搜索空间,会导致在密集区域的参考点过多、在稀疏区域的参考点太少。

针对问题(1),设常数c N 表示每次扩展需要分析的有值单元格数量,R 内的有值单元格数量应趋于c N 。针对问题(2),设空间放大因子λ,放大条件为R 内的有值单元格数量小于

2

C

N ,对符合放大条件的空间R 以λ成阶段性放大。阶段性放大是指若放大后的R 仍不满足要求则将当前R 再次放大,否则R 不变。预设空间R 的边长L 可由c N 和有值单元格密度p 求得:

n

p

M N

=

× (1)

L (2) "(1)'L L λ=+ (3)

在式(1)中,n 是离散点个数;M 、N 分别是唯一网格的行、列数。式(3)是一个迭代公式,'L 初始值为L ,"L 是放大后的正方形边长,若"L 不满足要求,则'L 赋为"L 再按 式(3)计算"L 直到"L 符合要求。一般而言,只要离散点分布较均匀,使用预设空间R 即可满足要求。 2.4.4 基于网格的三角网扩展

为保证构网的准确性,算法在检测Delaunay 准则时仍然以离散点坐标(X , Y )为计算标准,则三角网扩展具体如下:

(1)计算当前基线的中心单元格,以该单元格和预设正方形空间边长L 建立搜索空间R 。

(2)获取空间R 内的有值单元格,其数量用u S 表示。

(3)若2

C

u N S <

,则将空间R 放大,并回到第(2)步;否则进行下一步。

(4)根据有值单元格获取对应的离散点,并用离散点的X 、Y 坐标按照Delaunay 准则进行计算,直到找到一点满足要求或不存在,并标记该基线状态为true 。

(5)以下一条状态为false

的三角边为基线回到第

(1)

步,

直到所有的边都标记为

true

时结束。

3

实验与分析

3.1 实验描述

根据上述算法,本文采用VC++语言编写相应的测试程序。为检验算法的有效性和可靠性,选用多组不同数量的离散点作为实验数据,分析算法对数据的适应性。为验证网格生长算法的优越性,与三角网生长算法、逐点插入算法和分治算法进行比较。图5是网格生长算法的构网结果,表2是

其与三角网生长算法、逐点插入算法和分治算法的实验效率比较。其中,M 、N 表示网格的行、列数;n 表示有值单元格数;N C 表示预设参考点数。

网格生长算法

不规则三角网的算法设计与实现10页word文档

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三角形有三个相邻点连接而成,这三个相邻顶点对应的

网格中的三角函数

1 网格中的锐角三角函数 网格是同学们从小就熟悉的图形,在网格中隐含的条件有:1.直角;2.单位长度。所以在网格中可以求一个锐角的三角函数,是近几年中考的热点,下面举例说明。 一、在网格中与勾股定理现结合求一个锐角的三角函数。 【例1】 三角形在正方形网格纸中的位如图1,则sin α的值是( ). [解析] 本题在网格中考查锐角的正弦的意义,首先要用勾股定理计算直角三角形斜边的长.一般情况下,为了减小计算量,把小正方形的边长设为1.选C . 练习1(广州市2014)如图2,在边长为1的小正方形组成的网格中,的三个顶点均在格点上, 则 ( ). (A ) (B ) (C ) (D ) 练习2 (2014年福州)如图3,在边长为1个单位长度的小正方形所组成的网格中,△ABC 的顶点均在格点上, 34 45 4 3 B . ; C . 3 5 ;D . A. 35 图 3 图2

2 sinB 的值是 . 3.(2011四川)如图4,在4×4的正方形网格中, tanα= . A .1 B .2 C .1 2 D 4.(2011甘肃兰州)如图5,A 、B 、C 三点在正方形网格线的交点处,若将△ACB 绕着点A 逆时针旋转得到△AC’B’,则tanB’的值为 . A .12 B .13 C .14 D 3. (2011江苏连云港)如图6,△ABC 的顶点都在方格纸的格点上,则sin A =_______. 在网格中求一个锐角的三角函数时,根据图中角的位置。充分利用网格中的直角和边,然后根据勾股定理求出相应的边长,最后利用三角函数公式进行计算,达到解决问题的目的。 二、在网格中与辅助线相结合求一个锐角的三角函数。 【例2】 (2014?贺州)如图7-1网格中的每个小正方形的边长都是1,△ABC 每个顶点都在网格的交点处,则sinA= . [解析] 虽然网格中隐含直角,但是∠A 是△ABC 中 图7-1 图7-2 图4 图6 图5

Delaunay三角形构网的分治扫描线算法

第36卷 第3期测 绘 学 报 Vol.36,No.3  2007年8月 ACTA GEODAETICA et CARTO GRAPHICA SINICA Aug ,2007 文章编号:100121595(2007)0320358205中图分类号:P208 文献标识码:A Delaunay 三角形构网的分治扫描线算法 芮一康,王结臣 (南京大学地理信息科学系,江苏南京210093) A N e w Study of Compound Algorithm B ased on Sw eepline and Divide 2and 2conquer Algorithms for Constructing Delaunay T riangulation RU I Y i 2kang ,WAN G Jie 2chen (Depart ment of Geographic Inf ormation Science ,N anji ng U niversity ,N anji ng 210093,Chi na ) Abstract :As one of the most important DTM model ,Delaunay triangulation is widely applied in manifold fields.A wide variety of algorithms have been proposed to construct Delaunay triangulation ,such as divide 2and 2conquer ,in 2cremental insertion ,trangulation growth ,and so on.The compound algorithm is also researched to construct Delau 2nay triangulation ,and prevalently it is mainly based on divide 2and 2conquer and incremental insertion algorithms.This paper simply reviews and assesses sweepline and divide 2and 2conquer algorithms ,based on which a new com 2pound algorithm is provided after studying the sweepline algorithm seriously.To start with ,this new compound al 2gorithm divides a set of points into several grid tiles with different dividing methods by divide 2and 2conquer algo 2rithm ,and then constructs subnet in each grid tile by sweepline algorithm.Finally these subnets are recursively merged into a whole Delaunay triangulation with a simplified efficient LOP algorithm.For topological structure is im 2portant to temporal and spatial efficiency of this algorithm ,we only store data about vertex and triangle ,thus edge is impliedly expressed by two adjacent triangles.In order to fit two subnets merging better ,we optimize some data structure of sweepline algorithm.For instance ,frontline and baseline of triangulation are combined to one line ,and four pointers point to where maximum and minimum of x axis and y axis are in this outline.The test shows that this new compound algorithm has better efficiency ,stability and robustness than divide 2and 2conquer and sweepline algo 2rithms.Especially if we find the right dividing method reply to different circumstance ,its superiority is remarkable.K ey w ords :Delaunay triangulation ;compound algorithm ;sweepline algorithm ;divide 2and 2conquer algorithm 摘 要:Delaunay 三角网作为一种主要的DTM 表示法,具有极其广泛的用途。基于分治算法和逐点插入法的合成算法是目前研究较多的用于生成Delaunay 三角网的合成算法。简要介绍和评价扫描线算法和分治算法后,提出一种新的基于这两种算法的合成算法。该方法兼顾空间与时间性能,稳定性较高,分别较扫描线算法和分治算法,运行效率和鲁棒性更优。 收稿日期:2006206221;修回日期:2007202206 基金项目:国家自然科学基金(40401046) 作者简介:芮一康(19832),男,江苏溧阳人,研究生,主要从事地理信息系统理论与应用研究。 关键词:Delaunay 三角网;合成算法;扫描线算法;分治算法 1 引 言 2维平面域内任意离散点集的不规则三角网(TIN 2Triangular Irregular Network )的构建是GIS 数据表达、管理、集成和可视化的一项重要内 容,也是地学分析、计算机视觉、表面目标重构、有限元分析、道路CAD 等领域的一项重要的应用技 术。在所有生成TIN 的方法中,Delaunay 三角网 最优,它尽可能避免了病态三角形的出现,常常被用来生成TIN 。Delaunay 三角网是Voronoi 图的直线对偶图,即是连接所有相邻的Voronoi 多边形的生长中心所形成的三角网。它有以下两条重要性质[1]:空外接圆性质,即由点集所形成的三角网中,每个三角形的外接圆均不包含点集中的

不规则三角网(TIN)

不规则三角网(TIN) Ⅰ 数字高程模型(DEM)地球表面高低起伏,呈现一种连续变化的曲面,这种曲面无法用平面地图来确切表示。于是我们就利用一种全新的数字地球表面的方法——数字高程模型的方法,这种方法已被普遍广泛采用。数字 高程模型即DEM(Digital Elevation Model),是以数字形式按一定结构组织在一起,表示实际地形特征空间分布的模型,也是地形形状大小和起伏的数字描述。DEM有三 种主要的表示模型:规则格网模型,等高线模型和不规则三角网。格网(即GRID)DEM在地形平坦的地方,存在大量的数据冗余,在不改变格网大小情况下,难以表达复杂地形的突变现象,在某些计算,如通视问题,过分强调网格的轴方向。不规则三角网(简称TIN,即Triangulated Irregular Network)是另外一种表示数字高程模型的的方法(Peuker等,1978),它既减少了规则格网带来的数据冗余,同时在计算(如坡度)效率方面又优于纯粹基于等高线的方法。不规则三角网能随地形起伏变化的复杂性而改变采样点的密度和决定采样点的位置,因而它能够避免地形起伏平坦时的数据冗余,又能按地形特征点如山脊,山谷线,地形变化线等表示数字高程特征。Ⅱ TIN的基本知识在TIN中,满足最佳三角形的条件为:尽可能的保证三角形的

三个角都是锐角,三角形的三条边近似相等,最小角最大化。 TIN 是基于矢量的数字地理数据的一种形式,通过将一系列折点(点)组成三角形来构建。形成这些三角形的插值方法有很多种,例如Delaunay 三角测量法或距离排序法。ArcGIS 支持Delaunay 三角测量方法。 TIN 的单位是英尺或米等长度单位,而不是度分秒。当使用地理坐标系的角度坐标进行构建时,Delaunay 三角 测量无效。创建TIN 时,应使用投影坐标系(PCS)。 TIN 模型的适用范围不及栅格表面模型那么广泛,且构建和处理所需的开销更大。获得优良源数据的成本可能会很高,并且,由于数据结构非常复杂,处理TIN 的效率 要比处理栅格数据低。 TIN 通常用于较小区域的高精度建模(如在工程应用中),此时TIN 非常有用,因为它们允许计算平面面积、表面积和体积。Ⅲ TIN在ArcGIS中的存储TIN 表面数据模型由结点(Node)、边(Edge)、三角形(Triangle)、包面(Hull)和拓扑(Topology)组成。 与coverage 类似,TIN 以文件目录形式存储。但TIN没有关联的INFO 文件。TIN 目录由七个包含TIN 表面信息的文件组成。这些文件以二进制格式编码,因此无法通过标准文本显示或编辑程序读取。 TIN 的最大允许大小视连续可用内存资源而定。对

三角网算法

三角网算法 (2010-11-15 10:54:01) 原作:Paul Bourke / 1989.1 翻译:robter_x 原文出处: https://www.sodocs.net/doc/5112030575.html,.au/~pbourke/terrain/triangulate/ 这是一个适用于地形模型的三角网算法。 摘要(略) 介绍 有很多技术能够应用于表面插值,也就是说,已知一些采样点高度,求与这些采样点接近的某点的高度。一些常用的方法是邻接插值,表面补丁,二次曲面,多边形插值,样条插值和下面将要描述的丹尼三角网(Delauney Triangulation)。一些插值方法经常应用于经验数据的显示,例如,地形模型中的原始数据来源于调查,气象中心的气象分析数据,或有限元分析筛选出的数据等。 这篇文章讨论的技术不仅适用于地形模型,而且适用于其它方面,这个技术具有下列特点 有一些地方的采样点密度高,而另一些地方的采样点密度低。例如,在地形模型中,一般水边界的内部的采样点呈低密度分布,而在一些较复杂的地方,采样点呈高密度分布。 由于地形表面的不连续,导致采样平面上的采样点较密集。这些可能是自然情况,如,悬岩和河岸,也可能是人工制造的不连续,如围墙。很多平滑方法不能很好的处理这种情况,特别是那些基于多边形的函数将导致表面尖突,摆动和不稳定。 采样点经常沿着等值线分布,这是由于采样点的来源可能是等值线图或者地质调查组的实际勘探。这是导致采样点密度不一致的另一个原因。沿着采样点曲线有较高的采样点密度,而与采样点曲线垂直的路径,除非遇到另一条采样点曲线,否则,没有采样点。 经常需有处理大量的采样点。对一个适用的技术来说,随着采样点数量的增加,处理采样所需的时间应该适度的增加。典型的采样点数量一般是100~100000,对于一个自动化的取样方法来说,通常会有这么大数量的采样点。 获得的采样点一般是逐步增多的。最初获得的采样点被分析,对于感兴趣的地方可能会增加采样密度。很显然,在分析结果上增加一些新的采样点来进一步分析比对所有的采样点重新分析要有利。

三角剖分

Delaunay三角剖分算法 默认分类2009-12-16 11:41:23 阅读33 评论0 字号:大中小订阅 转载:https://www.sodocs.net/doc/5112030575.html,/renliqq/archive/2008/02/06/1065399.html 1. 三角剖分与Delaunay剖分的定义 如何把一个散点集合剖分成不均匀的三角形网格,这就是散点集的三角剖分问题,散点集的三角剖分,对数值分析以及图形学来说,都是极为重要的一项预处理技术。该问题图示如下: 1.1.三角剖分定义 【定义】三角剖分:假设V是二维实数域上的有限点集,边e是由点集中的点作为端点构成的封闭线段, E为e的集合。那么该点集V的一个三角剖分T=(V,E)是一个平面图G,该平面图满足条件: 1.除了端点,平面图中的边不包含点集中的任何点。 2.没有相交边。 3.平面图中所有的面都是三角面,且所有三角面的合集是散点集V的凸包。 1.2. Delaunay三角剖分的定义 在实际中运用的最多的三角剖分是Delaunay三角剖分,它是一种特殊的三角剖分。先从Delaunay边说起: 【定义】Delaunay边:假设E中的一条边e(两个端点为a,b),e若满足下列条件,则称之为Delaunay边:存在一个圆经过a,b两点,圆内(注意是圆内,圆上最多三点共圆)不含点集V中任何其他的点,这一特性又称空圆特性。 【定义】Delaunay三角剖分:如果点集V的一个三角剖分T只包含Delaunay边,那么该三角剖分称为Delaunay三角剖分。 1.3.Delaunay三角剖分的准则 要满足Delaunay三角剖分的定义,必须符合两个重要的准则:

delaunay算法简介

三角剖分原理: 很多时候我们获取的信息信号都是很离散的信号,比如大地高程测量时的成果测网,纸质各种参数曲线的数字化数据等等,靠大量增加采样点的方法不现实而且会超乎想象的增加处理的计算量,通过趋势分析插值的方法可以使得数字化的模型更逼近原始模型,但是终归于这些离散数据是要通过一种方式在电脑中成为一种整体数据,不管是2d还是3d。 三角剖分最终是要将离散的数据通过连接成很多三角形来达到面化或体化的目的(四面体其实就是四个三角形)。那么我们是不是可以随便来连三角形呢?当然不行了,咱们连成的面或体要与离散化前的原始模型越接近越好。 怎么样才能使咱们连成的面或体要与离散化前的原始模型越接近越好呢?一般来说每个离散点都有一定的作用范围,那么我们在连三角形是不是就要想到,尽量让每个三角形内的三个点相对来说隔得近一点。 首先有两个原则: 1 产生的三角形不相重叠。(如果重叠,那么其中的一个三角形岂不是多余了) 2 不产生新的顶点。(如果产生新的顶点了,那么这个顶点的值我们可以确认它符合于原始模型吗?),不过这条原则很难完全保证不产生。 然后有两个问题要解决:

1 面化或体化时是否要考虑到边界的问题?也就是是否考虑边界离散点的凹凸判断,如果要考虑的话,所有边界点依次相连就行,如果不用考虑的话,所有凸点边界点依次相连就行。一般来说是要考虑的。 2 面化或体化时是否要考虑到面内或体内空洞的问题?也就是是否考虑内部空白区的判断,如果要考虑的话,内部空白区的边界点要跟问题1同等考虑。 再次我们看一下经典的三角剖分方法: 谈到三角剖分,这个名字你不得不熟悉,这就是经典---Delaunay 三角剖分。 Delaunay三角剖分具有四个特有的性质: (1)保证最邻近的点构成三角形,即三角形的边长之和尽量最小,且每个Delaunay三角形的外接圆不包含面内的其他任何点,称之为Delaunay三角网的空外圆性质。这个特征已经作为创建Delaunay三角网的一项判别标准; (2)它的另一个性质最大最小角性质:在由点集中所能形成的三角网中,Delaunay三角网中三角形的最小内角尽量最大,即三角形尽量接近等边三角形,从这个意义上讲,Delaunay三角网是“最接近于规则化的”的三角网。 (3)Delaunay三角网是唯一的。 (4)三角网的外边界构成了点集的凸多边形“外壳”; 大概的道理我们是懂了,但是给你任意一些点,你采用什么思路

第三章 不规则三角网

第三章不规则三角网 教学目的与要求 通过本章的学习,让大家了解ArcView GIS 3D Analyst扩展模块,熟悉不规则三角网的生成方法,掌握工程填挖方的计算方法,掌握从3D Shapefile生成三维纵剖面和根据线状图形生成纵剖面的方法,能够进行视线与视域分析。 内容提要 5.1地表模型生成、显示 5.2工程中的土方、纵坡 5.3视线与视域分析 教学重点 工程土方量的计算方法 视域与视线分析方法 三维纵剖面图的创建方法 教学难点 不规则三角网的生成方法 5.1 地表模型生成、显示 一、由点状要素产生不规则三角网 所需数据: 点状专题 所用扩展模块: 3D Analyst 所用命令: Surface/Create TIN (Triangulated Irregular Network) from Features... 属性数据表中必须添加高程字段。 详见演示 等高线专题图的生成: 选用菜单命令Surface/Create Contours… 二、不规则三角网和距离倒数权重法插值比较 所需数据: 点状专题 所用扩展模块: Spatial Analyst 所用命令: Surface/Interpolate Grid... 属性数据表中必须添加高程字段,用于高程的计算。

详见演示 等高线专题图的生成: 选用菜单命令Surface/Create Contours… 通过比较,可知不规则三角网比较符合地形特征。 三、建立设计场地的三角网高程模型 所需数据: 设计场地高程控制点专题,并具有各个点的高程属性。 所用扩展模块: 3D Analyst 所用命令: Surface/Create TIN (Triangulated Irregular Network) from Features... 详见演示 四、在场地上添加其他要素 已知数据: 三个AutoCAD的立体图形文件。 Bldg.dwg 选polygon,多边形,建筑物 Road.dwg 选line,线,道路 Water.dwg 选polygon,多边形,水面 所用扩展模块: Cad Reader 所用命令: View/Add Theme 详见演示 五、三维显示 命令:View/3D Scene…,对系统的提示选择Themes,按OK键后系统产生3D Scenes Themes Document,该子系统具有自己的三维视图窗口和图例框,可用鼠标点击按钮Navigate(形状像帆船),再用鼠标在三维窗口中控制观察地形的三维视角。 在三维场景中,选用菜单命令Theme/3D Properties… 详见演示 小结 不规则三角网络是描述三维表面的常用方法,除了在地形方面,还可以用于其他各种领域。在不规则三角网上还可以叠加其它空间要素,同时以三维方式显示。 5.2 工程中的土方、纵坡 一、由等高线产生不规则三角网 使用数据:设计等高线、现状等高线、场地边界线 扩展模块:3D Analyst 所用命令:Surface/Create TIN from Features 操作步骤:

word版本hslogic_Delaunay三角剖分算法应用

本课题的研究方法 三角网格化主要有两种准则:一种称为Delaunay三角剖分,即在生成的三角形网格中,各三角形的最小内角和为最大;另一种是在生成的三角网格中,所有三角形的边长和最小.其中, Delaunay三角剖分是目前研究应用最广的一种剖分方法.本课题的研究方法主要是以Delaunay三角网的两个重要性质(空外接圆性质和最大最小角度性质)以及Delaunay三角网的基本原理为基础,参照传统算法思路,在构建三角网的过程中,改进算法的实现方法,数据结构,以达到提高效率的目的。 Delaunay的重要性质 空外接圆性质:在由点集V生成的Delaunay三角网中,每个三角形的外接圆均不包含该点集的其他任意点。λ 最大最小角度性质:在由点集V生成的Delaunay三角网中,所有三角形中的最小角度是最大的,即在生成的三角形网格中,各三角形的最小内角和为最大。λ唯一性:不论从区域何处开始构网,最终都将得到一致的结果。λ 由于以上特性,决定了Delaunay三角网具有极大的应用价值。Miles证明了Delaunay三角网是“好的”三角网;Lingas进一步论证了“在一般情况下,Delauany三角网是最优的。”同时以上特性也成为建立Delaunay三角网的重要算法依据。 3.3 详细算法描述 算法基于上述的传统构建算法,但仅有两步: 第一步: (1)在离散点集中寻找一纵坐标最小的点A。 (2)以点A为起点,寻找两个点B、D,使得向量AB与横坐标轴夹角最小,向量AD与横坐标轴夹角最大。若点A、B、D共线,将原B点标记为A,寻找点D,使得向量AD与直线AB夹角最大;寻找点C使得向量BC与线段AB夹角最小。否则,若A、B、D不共线,则寻找点C使得向量BC与线段AB夹角最小。这样,所有点都在逆时针旋转的折线DABC的左侧。 (3)上面一步生成的点C、D如果为同一点,则△ABC(或△ABD)即为包含所有不规则点的Delaunay三角形,生成凸包的过程结束跳过一下各步;否

三种经典网格细分算法的研究与分析

三种经典网格细分算法的研究与分析 摘要:曲面造型方法由于其局部性好、计算量小、算法简中、响应速度高等优点. 已经广泛应用于计算机图形学、CAGD、计算机动画以及虚拟现实领域。网格细分是一种离散造型方法.可以从数字化仪等设备直接获得数据。介绍了近年来提出的 一些细分算法.对其中几种比较经典的算法进行了简中的分类和比较,论述了各自 的适用范围。 关键词:细分逼近插值 中图法分类号:TP391 文献标识码:A 0 引言 细分思想的产生可以追溯到二十世纪40年代末50年代初,当时G. de Rham 使用“砍角算法”描述光滑曲线的生成。细分曲线中常用的许多算法均是砍角算法。1974年,Chaikin在研究曲线的快速绘制时把离散细分的概念引入到图形学 界:1978年Catmnll和Clark[1]以及Doo和Sabin[2]分别发表了一篇在图形学领域具有里程碑意义的论文,也就是图形学界推崇的Catmul- Clark算法和Doo -Sabin算法,标志着网格细分方法研究的真正开始:1987年,Loop在他的硕士论文中提出 了Loop[3]细分策略,细分造型方法的实质是通过对初始控制点或者初始网格进行一系列的细化过程,细化的极限生成所需要的曲线或者曲面。细分造型方法与传 统样条、代数方法、变分造型等方法相比,在执行效率、任意拓扑结构、细分曲 面特征以及复杂几何形状等方面都有其独特的优势。 1 网格细分算法的分类及比较 1.1 概念与术语定义1 对于四边形网格M中的任一顶点v,如果v为内部顶 点且价不等于4或v为边界顶点且价不等于3 或2,则称v为奇异顶点。非奇异 顶点称为正则顶点。 定义2 权图(Masks)表示旧控制点计算新控制点规则的映射,其中新控制点在 映射中用黑点表示,在每个旧控制点旁边的数字代表细分系数。 定义3 奇点(Odd Vertices)是在每一级细分中,按照某种细分规则所有新生成 的点.在三角网格中,奇点也就是边点,实际上是将每条边的中点作为一个新点重 新计算新的位置所得到的点. 定义4 偶点是在每一级细分中,所有从上一级控制点继承得到的点. 定义5 某顶点的价(Valence)是指与该顶点通过公共边相连的顶点个数. 定义6 在一个网格中,如果的一条边只属于一个面,称这条边为边界边(boundary edge):如果一个顶点属于边界边则称此顶点为边界顶点(或边界点,boundary vertex):至少包含一个边界顶点的面称为边界面(boundary face)。非边界 的边、顶点和面分别称为内部边(internal edge)、内部顶点(internal vertex)和内部 面(internal face) 1.2 细分算法的分类一般情况卜,对几何网格细分算法的分类包括以下四个标 准:①生成网格的类型(三角网格和四角网格);②细分规则的类型(面分裂和点分裂);③算法是逼近型还是插值型;④规则曲面的极限曲面光滑性(C1,C2等)。 在现有的典型细分算法中,面分裂的细分方法,实际上就是一种1- 4的细分 策略,对于三角网格,在每一次细分过程中,保留每个三角网格中所有旧控制点 的同时,在网格的每条边上插入新点并两两相连,然后与旧控制点一起得到四个 新的三角网格;对于四角网格,除了在网格的每条边上插入新点外,还需要在网 格中间另外插入一个新点并与另外四条边上的新点相连,从而得到四个新的四角

delaunay算法简介.(优选.)

最新文件---- 仅供参考------已改成word文本------ 方便更改 三角剖分原理: 很多时候我们获取的信息信号都是很离散的信号,比如大地高程测量时的成果测网,纸质各种参数曲线的数字化数据等等,靠大量增加采样点的方法不现实而且会超乎想象的增加处理的计算量,通过趋势分析插值的方法可以使得数字化的模型更逼近原始模型,但是终归于这些离散数据是要通过一种方式在电脑中成为一种整体数据,不管是2d还是3d。 三角剖分最终是要将离散的数据通过连接成很多三角形来达到面化或体化的目的(四面体其实就是四个三角形)。那么我们是不是可以随便来连三角形呢?当然不行了,咱们连成的面或体要与离散化前的原始模型越接近越好。 怎么样才能使咱们连成的面或体要与离散化前的原始模型越接近越好呢?一般来说每个离散点都有一定的作用范围,那么我们在连三角形是不是就要想到,尽量让每个三角形内的三个点相对来说隔得近一点。 首先有两个原则: 1 产生的三角形不相重叠。(如果重叠,那么其中的一个三角形岂不是多余了) 2 不产生新的顶点。(如果产生新的顶点了,那么这个顶点的值我们可以确认它符合于原始模型吗?),不过这条原则很难完全保证不产生。

然后有两个问题要解决: 1 面化或体化时是否要考虑到边界的问题?也就是是否考虑边界离散点的凹凸判断,如果要考虑的话,所有边界点依次相连就行,如果不用考虑的话,所有凸点边界点依次相连就行。一般来说是要考虑的。 2 面化或体化时是否要考虑到面内或体内空洞的问题?也就是是否考虑内部空白区的判断,如果要考虑的话,内部空白区的边界点要跟问题1同等考虑。 再次我们看一下经典的三角剖分方法: 谈到三角剖分,这个名字你不得不熟悉,这就是经典---Delaunay 三角剖分。 Delaunay三角剖分具有四个特有的性质: (1)保证最邻近的点构成三角形,即三角形的边长之和尽量最小,且每个Delaunay三角形的外接圆不包含面内的其他任何点,称之为Delaunay三角网的空外圆性质。这个特征已经作为创建Delaunay三角网的一项判别标准; (2)它的另一个性质最大最小角性质:在由点集中所能形成的三角网中,Delaunay三角网中三角形的最小内角尽量最大,即三角形尽量接近等边三角形,从这个意义上讲,Delaunay三角网是“最接近于规则化的”的三角网。 (3)Delaunay三角网是唯一的。 (4)三角网的外边界构成了点集的凸多边形“外壳”;

网格线中的三角函数问题

龙源期刊网 https://www.sodocs.net/doc/5112030575.html, 网格线中的三角函数问题 作者:周宏伟 来源:《初中生世界·九年级》2016年第12期 在我们常见的网格线中,有很多三角函数求值问题,题中蕴含着很多思想方法,为便于大家复习,现归纳如下,供大家在学习过程中参考. 一、补形的策略 例1 (2015·山西)如图1,在网格中,小正方形的边长均为1,点A、B、C都在格点上,则∠ABC的正切值是(). A.2 B.[255] C.[55] D.[12] 【方法探究】如何把∠ABC放在某个直角三角形中是解决本题的关键,仔细观察可以发现:AB在小正方形的对角线上,能联想到45°角,只要连接AC即可构造出直角,然后在直角三角形中运用三角函数的定义求解. 【过程展示】如图2,连接AC,则∠CAB=90°,在Rt△ABC中, tan∠ABC=[ACAB]=[12].故选D. 例2 (2016·福建福州)如图3,6个形状、大小完全相同的菱形组成网格,菱形的顶点称为格点.已知菱形的一个角(∠O)为60°,A、B、C都在格点上,则tan∠ABC的值是 . 【方法探究】观察网格的特点,首先考虑如何将∠ABC放到一个直角三角形中,这是解 决问题的关键. 【过程展示】如图4,连接DA,DC,则点B、C、D在同一直线上,设菱形的边长为a,由题意得∠ADF=30°,∠BDF=60°,∴∠ADB=90°, AD=[3a],DB=2a,tan∠ABC=[ADBD]=[3a2a]=[32],故答案为[32]. 二、转化的思想 例3 (2012·江苏泰州)如图5,在由边长相同的小正方形组成的网格中,点A、B、C、D 都在这些小正方形的顶点上,AB、CD相交于点P,则tan∠APD的值为 . 【方法探究】直接求∠APD的正切值比较困难,可以考虑利用线段的平移对∠APD进行转化,找出它的“替身”,然后进行求解,以达到化难为易的目的.

delaunay三角网生长准则及算法

Delaunay 三角网是Voronoi(或称thiessen多边形,V 图)图的伴生图形 ◆Delaunay 三角网的定义: 由一系列相连的但不重叠的三角形的集合, 而且这些 三角形的外接圆不包含这个面域的其他任何点。 ◆Voronoi图的定义: Voronoi图把平面分成N 个区,每一个区包括一个点, 该点所在的区域是距离该点最近的点的集合。 ◆Delaunay三角网的特性: ◆不存在四点共圆; ◆每个三角形对应于一个Voronoi图顶点; ◆每个三角形边对应于一个Voronoi图边; ◆每个结点对应于一个Voronoi图区域; ◆Delaunay图的边界是一个凸壳; ◆三角网中三角形的最小角最大。 空外接圆准则最大最小角准则最短距离和准则 在TIN中,过每个三角形的外接圆均不包含点集的其余任何点在TIN中的两相邻三角形形成 的凸四边形中,这两三角形 中的最小内角一定大于交换 凸四边形对角线后所形成的 两三角形的最小内角 一点到基边的两端的距离 和为最小 Delaunay三角剖分的重要的准则

张角最大准则面积比准则对角线准则 一点到基边的张角为最大三角形内切圆面积与三角形 面积或三角形面积与周长平 方之比最小 两三角形组成的凸四边形 的两条对角线之比。这一 准则的比值限定值,须给 定,即当计算值超过限定 值才进行优化 Delaunay三角剖分的重要的准则 不规则三角网(TIN)的建立 ●三角网生长算法就是从一个“源”开始,逐步形成覆盖整个数据区域的三角网。 ●从生长过程角度,三角网生长算法分为收缩生长算法和扩张生长算法两类。 方法说明方法实例 收缩生长算法先形成整个数据域的数据边界(凸壳), 并以此作为源头,逐步缩小以形成整个三 角网 分割合并算法 逐点插入算法 扩张生长算法从一个三角形开始向外层层扩展,形成覆 盖整个区域的三角网 递归生长算法

平面点线集三角剖分的扫描算法

第24卷 第2期2004年2月北京理工大学学报 T r ansactions of Beijing Instit ute o f T echnolog y V ol.24 N o.2F eb.2004 文章编号:1001-0645(2004)02-0129-04 平面点线集三角剖分的扫描算法 周培德 (北京理工大学信息科学技术学院计算机科学工程系,北京 100081) 摘 要:提出计算平面点线集三角剖分的一种算法.该算法是利用平面扫描的思想,当扫描线达到事件点时,处理事件点,即将事件点与已被扫描的某些点连接,这样便将已扫描的区域三角剖分.当扫描线达到最左边的事件点时,处理该事件点,就完成了平面点线集的三角剖分.证明了算法的时间复杂性为O (N lb N ),其中N 是点线集中点的数目与线段端点数之和. 关键词:散乱点线集;三角剖分;平面扫描;算法;时间复杂性中图分类号:T P 301.6 文献标识码:A Sweeping Algorithm for Triangulation of Plane Point -Line Set ZHOU Pei-de (Depar tment of Co mputer Science and Engineer ing ,School o f Infor matio n Science and T echno lo gy ,Beijing Instit ut e of T echno lo gy ,Beijing 100081,China) Abstract :Sw eeping alg orithm is presented fo r the tr iangulation of plane point -line set .T he algor ithm m akes use of the idea of plane sw eeping .When the sw eep -line reaches it ,the event -po int w ill be dealt w ith,viz.,the event-point is connected w ith so me points sw ept and thus the sw ept regions are triang ulated.When the sw eep-line r eaches the leftmost event-point,the point w ill be dealt w ith ,and the triang ulation of the plane point -line set is accom plished .It is prov ed in detail that the time co mplex ities o f the alg orithm is O (N lb N ),w here N is the sum of the num ber of points and the num ber of line-seg ment endpoints w ithin the point-line set. Key words :debunching point-line set;triang ulation;plane sw eep;alg orithm;tim e co mplex ity 收稿日期:20030321 作者简介:周培德(1941-),男,教授. 平面点集三角剖分问题是计算几何中的一个重要问题,它是从许多实际问题中提出来的,至今,人们已研究了求解该问题的许多算法,其中以Delaunay 算法最为著名.将平面点集中的某些点组成点对并满足某些特殊关系,比如它们为平面线段的两个端点,而另外一些点仍为孤立点,这样便构成点线集.平面点集三角剖分问题可以转换为平面点线集的三角剖分问题,并且它们具有相同的时间复杂性下界.平面点线集三角剖分问题要求三角形的三条边或为点线集中的线段,或为点线集中不同线段端点的连线,或为点线集中点与线段端点的连线, 或为点线集中点与点的连线.三角形的顶点为点线集中的点或线段端点.另外还要求连线与连线,连线与点线集中线段均不相交.给定的平面点线集中线段互不相交(线段端点处相交除外).不难看出,平面散乱点线集三角剖分问题是平面点集三角剖分问题的一个特殊情况.按照常规,求解平面点集三角剖分的算法(比如Delaunay 三角剖分算法)可以用于平面散乱点线集的三角剖分.但在平面点集三角剖分的算法中如何保证点线集中的线段必是三角形的一条边,以及连线与点线集中线段不相交.只要解决这个问题就可以实现点线集的三角剖分.目前解决这

基于不规则三角网的DTM若干问题的探讨

第23卷 第2期重 庆 交 通 学 院 学 报2004年4月Vo1 23No 2JOURNAL OF C HONGQI NG JIAOTONG UNIVE RSI TY Apr.,2004 基于不规则三角网的DTM若干问题的探讨 赖鸿斌, 李永树 (西南交通大学测量工程系,四川成都610031) 摘要:介绍了用不规则三角网(TIN)建立数字地面模型(DTM)的基本思路,讨论了在建模过程中所遇到问题的解决方法,分析了混合模型的应用问题及TIN数据结构.最后,运用实例说明了由TIN生成的DTM在工程中的应用方法. 关 键 词:不规则三角网;数字地面模型;数据结构 中图分类号:U412 24 文献标识码:A 文章编号:1001 716X(2004)02 0090 04 数字地形模型(Digital Terrain Mode,简称D TM)是表示地形表面的数学(数字)模型.从数学的观点看,地面模型是一个空间连续函数,或是地形模型的离散化表示.对地形表面进行表达的各种处理可称为表面重建或表面建模,重建的表面通常被认为是DTM表面[1]. DTM的核心是地面特征点的三维坐标数据和一套对地表提供连续描述的算法,最基本的DTM至少包含了相关区域内平面坐标(X,Y)与高程Z之间的映射关系,即 Z=F(X,Y) (X,Y) DTM所在区域[2]. 目前,DTM模型的建立和利用已成为地理信息系统的重要组成部分. 1 基于不规则三角网建立DTM 地形表面的建模主要有4种方法:基于点的建模方法、基于不规则三角形的建模方法、基于规则格网的建模方法和混合建模方法[1],其中用得较多的是基于不规则三角形的建模方法和基于规则格网的建模方法. 基于不规则三角形建模是直接利用野外实测的地形特征点(离散点)构造出邻接的三角形,从而组成不规则三角网结构.相对于规则格网,不规则三角网具有以下优点:利用原始资料作为网格结点;不改变原始数据和精度;能够插入地性线以保存原有关键的地形特征,以及能很好地适应复杂、不规则地形等. 不规则三角网(TI N)作为一种主要的DTM表示法,虽然其生成算法比较复杂,但却有许多优点.根据生成三角网算法的不同,可以将生成三角网的算法分为以下三种:分而治之算法、数据点逐次插入算法和三角网生长算法[1].分而治之算法的思想以及生成V 图的分治算法最先是由Shamos和Hoey提出的.Le wis和Robinson将分而治之算法思想应用于生成三角网并给出了一个简化算法:即递归地分割点集,直至子集中只包含三个点而形成三角形,然后自上而下地逐级合并生成最终的三角网;数据点逐次插入算法的思想是由Lawson提出的,以后,Lee和Schachter、Sloan、Watson、Pareschi和Macedonio、Puppo 和Floriani等人先后对这一算法做进一步的改进和完善;三角网生长算法是由Green和Sibson在1978年首先给出的.后来,Reif 、Maus和Brassel等人也发表了类似的算法.下面主要讨论利用三角网生长算法来构建不规则三角网. 如图1所示,在数据点集中任取一点A,查找距 图1 其始三角形的确定 收稿日期:2003 02 21;修订日期:2003 06 19 基金项目:国家自然科学基金项目(40371098)资助 作者简介:赖鸿斌(1978-),男,福建莆田人,硕士生,从事3S的应用研究.

相关主题