基于VB语言的不规则三角网算法的实现.doc
《基于VB语言的不规则三角网算法的实现.doc》由会员分享,可在线阅读,更多相关《基于VB语言的不规则三角网算法的实现.doc(5页珍藏版)》请在沃文网上搜索。
1、VB环境下不规则三角网的算法设计与实现基金项目: 湖北省高等学校优秀中青年团队计划项目资助(T200602); 江西省数字国土重点实验室开发研究基金资助(DLLJ200501); 长江大学发展基金资助(2004Z0115) (1北京建筑工程学院,北京 100044 ;2江西省数字国土重点实验室 江西 抚州 344000;)摘要:本文对不规则三角网生长算法实现的研究,利用了VB强大的可视化用户界面及其编程语言的灵活性及简单易懂特点,基于各行业对于DEM的需要,从而开发出一种利用VB6.0语言生成基于生长算法的不规则三角网,结合数据库强大的数据库存取,编辑,查询功能,共同实现离散点的管理和三角网的
2、构成。关键词:不规则三角网;Delaunay三角网;VB环境;算法Algorithm designing and realizing of TIN In VB (1BeiJing Institute of Civil Engineering And Architecture, BeiJing, 100044; 2 Digital Land Key Lab of JiangXi Province, Fuzhou 344000)Abstract: the paper discuss the algorithm of the TIN which takes advantage of VBs powe
3、rfully visible interface of user and flexibility and knowing easily of compiling procedure. 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 data bases data
4、accessed, edited and inquired about, achieving the management of the dispersed points and the construction of TIN Key words :TIN, Delaunay, VB, algorithm1 引言地球表面高低起伏,呈现一种连续变化的曲面,这种曲面无法用平面地图来确切表示。于是我们就利用一种全新的数字地球表面的方法数字高程模型的方法,这种方法已经被普遍广泛采用。数字高程模型即DEM(Digital Elevation Model),是以数字形式按一定结构组织在一起,表示实际地形特
5、征空间分布的模型,也是地形形状大小和起伏的数字描述。由于地理信息系统的普及,DEM作为数字地形模拟的重要成果已经成为国家空间数据基础设施(NSDI)的基本内容之一,并被纳入数字化空间框架(DGDF)进行规模化生产,已经成为独立的标准基础产品5。DEM有三种主要的表示模型:规则格网模型,等高线模型和不规则三角网。格网(即GRID)DEM在地形平坦的地方,存在大量的数据冗余,在不改变格网大小情况下,难以表达复杂地形的突变现象,在某些计算,如通视问题,过分强调网格的轴方向。不规则三角网(简称TIN,即Triangulated Irregular Network)是另外一种表示数字高程模型的的方法(P
6、euker等,1978),它既减少了规则格网带来的数据冗余,同时在计算(如坡度)效率方面又优于纯粹基于等高线的方法。不规则三角网能随地形起伏变化的复杂性而改变采样点的密度和决定采样点的位置,因而它能够避免地形起伏平坦时的数据冗余,又能按地形特征点如山脊,山谷线,地形变化线等表示数字高程特征。基于三角形的表面建模可适合所有的数据结构,且三角形在形状和大小方面有很大灵活性,能很容易地融合断裂线,生成线或其他任何数据,因此基于三角形的方法在地形表面建模中得到了越来越多的注意,已经成为表面建模的主要方法之一。VB语言简洁易学,对于学习GIS的学生来说无疑是接受很容易而且较快的一门计算机编程和开发语言,
7、也是大多数学生最熟悉和了解的语言。正是基于对生成不规则三角网算法的研究和满足学GIS的学生对VB语言的喜爱和熟悉的情况下,本文就主要介绍用三角网生长算法生成不规则三角网及其在VB6.0环境下的实现。2 TIN的算法种类及各算法特点在介绍构成TIN各种算法之前我们要来了解认识一下一个重要法则Delaunay三角网法则。通常构建三角网并不考虑地性线(山脊线,山谷线)的骨架作用,但是,由于用等高线数据构建三角网时,由于地形的复杂多样,有的地区存在因地形突变而形成的断裂线等特殊地貌。另外一些地区存在大面积水域等内部不需要构网的区域,因此,在精度要求较高的TIN中,必须考虑以上问题。因此此时应顾及地性线
8、,断裂线,水域线等特殊情况,也就是应构建约束Delaunay三角网。约束法是基于约束图计算约束D三角剖分1,9(简称CDT,即Constrained Delaunay Triangulation)构造算法8,这种Delaunay三角网满足这样的法则:Delaunay三角网为相互邻接且互不重叠的三角形的集合,每一个三角形的外接圆内不包含其他点。Delaunay三角网由对应Voronoi多边形的点连接而成。Delaunay三角形有三个相邻点连接而成,这三个相邻顶点对应的Voronoi多边形有一个公共的顶点,此顶点是Delaunay三角形外接圆的圆心(如图1)。根据构建三角网的步骤,可将三角网生成算
9、法分为三类:(1)分而治之算法(由Shmaos和Hoey提出),其基本思路是使问题简化,把点集划分到足够小,使其易于生成三角网,然后把子集中的三角网合并生成最终的三角网,用局部优化(LOP,即Local Optimization Procedure)算法保证其成为Delaunay三角网3,它的优点是时间效率高,但需要大量递归运算,因此占用内存空间较多,如果计算机没有足够的内存,这一方法就无法使用2;(2)数据点渐次插入算法(由Lawson提出),其思路很简单,先在包含所有数据点的一个多边形中建立初始三角网,然后将余下的点逐一插入,用LOP算法保证其成为Delaunay三角网3。此算法虽然容易实
10、现,但效率极低;(3)三角网生长算法,在这三种算法中,三角网生长算法在80年代以后的文献中已很少见,较多的是前两种算法3,三角网生长算法目前较少人研究,笔者在这里讨论的就是这一算法,该算法是由Michael J.McCullagh,Charles G.Ross提出的,本文对原有的三角网生长算法作了进一步优化。2.1 三角网生长算法步骤:(过程如图2)(1) 在所采集的离散点中任意找一点,然后查找距此点最近的点,连接后作为初始基线。(2) 在初始基线右侧运用Delaunay法则搜寻第三点,具体的做法是:在初始基线右侧的离散点中查找距此基线距离最短的点,做为第三点。(3) 生成Delaunay三角
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 VB 语言 不规则 三角 算法 实现