您好,欢迎来到小奈知识网。
搜索
您的当前位置:首页基于等高线建立的TIN中平坦区域的修正算法

基于等高线建立的TIN中平坦区域的修正算法

来源:小奈知识网
维普资讯 http://www.cqvip.com 第27卷第7期 计算机应用 Vo1.27 No.7 2007年7月 Computer Applications July 2007 文章编号:1001—9081(2007)07—1644—03 基于等高线建立的TIN中平坦区域的修正算法 陈学工,黄晶晶 (中南大学信息科学与工程学院,长沙410083) (cn1233@263.net) 摘要:在基于等高线建立的数字高程模型TIN中,由平坦三角形连接成的平坦区域不能真实地 反映地表的真实形状,需要进行适当地修正。在不需要地形特征线的情况下,基于内部平坦三角 形,提出平坦区域的修正算法。该算法能保证修正了平坦区域后的TIN最大限度地虚拟现实地表的 真实形状,并且能提高平坦区域的修正速度,算法的时间复杂度为0(n)。 关键词:等高线;TIN;平坦区域;平坦三角形 中图分类号:TP391.41 文献标志码:A Corrective algorithm of ifat areas occurring in TIN constructed from contours CHEN Xue—gong,HUANG Jing-jing f School ofInformation Science and Engineering,Central South Unwe ̄ity,Changsha Hunan 410083,China) Abstract:In 11N of di tal elevation model constructed from contours,fiat areas which aYe made up of fiat triangles Call not reflect the real shape of the surface,so that they need be corrected properly.A corrective algorithm of flat areas was presented by the method、The 11N which flat areas were corrected could simulate the real shape of the sulface to the fullest extent and could improve the speed of corrceting fiat areas,in which the inner ifat tirangles aye divided of having no use of terrain characteristic lines.The time complexity of the lagorithm is O(n). Key words:contour;TIN;fiat areas;fiat tirangle 基于等高线的三维地形的重建和可视化,最基本的问题 定义7是内部三角形,但不是平坦三角形的三角形称 都是对地形图中的等高线信息进行数字化,数字化的等高线 为内部非平坦三角形。 通过一定的处理,然后建立TIN模型,再通过三维可视化工具 进行虚拟现实显示。基于等高线建立的TIN具有一定的几何 2平坦区域修正算法 精度,而且包含有丰富的地貌特征,所以成为虚拟现实系统常 综合分析相关文献,基于等高线建立的TIN中的平坦区 用的数字模型。但在基于等高线建立的TIN中,由于等高线 域修正算法现在基本上分为特征线插入修正法” 和平坦区 源数据缺少应有的特征线数据,通常会在相邻的等高线间或 域搜索修正法 两类。 一个封闭的等高线内出现大量的平坦三角形(三个顶点具有 特征线插入修正法可以处理各种原因形成的平坦区域, 相同高程值的三角形),平坦三角形连接在一起形成平坦区 而且修改后的平坦区域比较符合地形特征。但此类算法需要 域。平坦区域不能反映地表的真实形状,所以需要进行适当 先从等高线图提取等高线的邻接关系 ,再提取特征线,最 的修正。本文提出了一个新的平坦区域修正算法,该算法适 好将特征线插入TIN中修正平坦区域。特征线的提取是一个 用于优化虚拟现实系统的地形建模结果。 比较复杂的问题,而且此类算法需要插入比较多的点,三角网 1 基本概念 重构的工作量比较大。如图1(a)所示,图中的虚线就是依据 文献[1]的方法提取的特征线。 在平坦区域的修正过程中,会遇到TIN中一些具有特殊 平坦区域搜索修正法只考虑了两条等高线间存在平坦区 性质的边和三角形。为了下面叙述方便和清楚,特引入以下 域的情况。而且如果在三角网中存在内部平坦三角形,建立 一些定义: 平坦区域链表时,搜索到内部平坦三角形后有两条路径都可 定义1非约束边称为内部边,这里的约束条件包括等 继续下一个平坦三角形的搜索(路径二义性问题),影响了修 高线约束和边界约束。 正的速度。由于此类算法根本没有考虑地形特征,如果等高 定义2两端点的高程值相等的边称为水平边。 线间关系复杂,则修正结果远差于特征线插入修正法。 定义3既是内部边又是水平边的边称为内部水平边。 图1(b)和图1(e)分别是使用上述两类算法修正图1(a) 定义4三条边都是内部边的三角形称为内部三角形。 中带有内部平坦三角形的平坦区域(多边形 定义5三个端点的高程值都相等的三角形称为平坦三 ABCGJKLMNOP)的结果。如图1(b)所示,特征线插入修正 角形。 法的修正结果中形成了较多的新三角形。如图1(e)所示,平 定义6既是内部三角形又是平坦三角形的三角形称为 坦区域搜索修正法的修正结果中形成了过于狭长的三角形, 内部平坦三角形。 而且修正的结果没有考虑任何地形特征。 收稿日期:2007~O1—18。 基金项目:国家863计划项目(2002AA135160)。 作者简介:陈学工(1965一),男,湖南长沙人,副教授,博士,主要研究方向:地质构造、地理信息系统;黄晶晶(1982一),女,湖南长沙人, 硕士研究生,主要研究方向:地理信息系统的数字高程模型。 维普资讯 http://www.cqvip.com 第7期 陈学工等:基于等高线建立的TIN中平坦区域的修正算法 1645 实际应用中,由于等高线数据量较大和等高线间关系比 }Point; 较复杂,特征线插入算法效率低,而平坦区域搜索法修正结果 2)有向边表。该表保存三角形的边与该边相邻的三角 不理想且不能修正一条等高线内的平坦区域。由于内部平坦 形信息。表中每个元素的结构为: 三角形的重心与测量或计算得到的地形特征线的分叉点基本 typedef streetI 重合 J,如果将内部平坦三角形的重心作为地形特征点插入 int TriNo[21; //两相邻三角形编号 三角网,平坦区域从分叉处被,可以使得修正后的三角形 Point s,e; //有向边的起始和终止顶点 int conEdgeFlag; 优于平坦区域搜索修正法,并使得修正效果更接近特征线插 ∥内部边的标志位,1表示不是内部边,0表示是内部边 入修正法。而且插入重心内部平坦三角形将其变为内部 )Edge; 非平坦三角形,可以消除路径二义性问题,并且修正过程中不 3)三角形表。该表保存生成的各个三角形的信息。表 需要搜索平坦区域。内部平坦三角形的重心的X,Y坐标可以 中每个元素的结构为: 由重心公式得到,而重心的z坐标可以根据应用的需要设置, typ ̄ef steretI 只要不同于与其相关等高线的高程值即可。 long eNo【3】; //三条边号,按边号存储 Point P【3】; //三个点,逆时针存储 inttriFlag; P P //三角形形态的标志位,1表示是平坦三角形出的三角形 }Triangle; 本文处理的TIN是基于等高线建立的。基于等高线建立 TIN的一般方法是先将等高线离散化为离散点集建立初始三 角网,再将等高线作为约束条件嵌入"J。在进行等高线嵌入 处理的时候,有向边的内部边标志位可以确定下来,修正过程 中加入的边不能和非内部边相交。 E E 第一步处理相邻等高线间平坦区域,算法的具体描述如 (a)平坦区域未修正 Co)特征线插入算法修正结果 下: 1)初始化三角形链表Tri,初始化整型变量i=1,初始化 P 三角形变量T、T ,初始化整型变量Trinum存储三角形的个 数,初始化有向边变量e。 2)如果i>Trinum,转9);否则将Tri中的i个三角形赋 值给T。 3)如果T不是含有水平边的内部非平坦三角形,i=i+ 1,转2)。 4)将T的水平边赋值给e。如果e是非内部边,i=i+1, E E 转2)。将与T共e的相邻三角形赋值给T 。如果T和T 是 (c)平坦区域搜索算法修正结果 (d)本文算法修正结果 平坦三角形出的三角形,转6)。如果T 不是平坦三角 图1 相邻等高线间平坦区域的修正结果比较 形,贝lji=i+1,转2)。如果T 是内部平坦三角形,转5)。如 根据以上论述为依据,本文算法的基本思想是:先利用内 果T和T 组成的四边形是凸四边形,转7)。如果T和T 组成 部非平坦三角形和平坦三角形的相邻关系,插入三角形重心 的四边形是非凸四边形,转8)。 内部平坦三角形或交换内部非平坦三角形与平坦三角形 5)在T 的内部插入其重心P(P点的高程可以根据T和 组成的凸四边形的对角线(非凸四边形则在其对角线上插入 T 形成四边形的四个顶点的高程值线性插值得到),将T 分 点四边形),逐个消除平坦三角形以此修正相邻等高线 成3个三角形,将它们的三角形标志位置1。将含e的新三角 间的平坦区域;再搜索剩余平坦三角形(此时只存在一条等 形替代原来的T 放入Tri,并将其他两个新三角形插入Tri的 高线内的平坦三角线),插入三角形重心内部平坦三角 尾部,Trinum增加2,修改三角网拓扑结构,将含e的新三角 形或插入内部水平边中点其相邻三角形,逐个消除平坦 形赋值给T 。 三角形以此修正一条等高线内的平坦区域。如图1(d)所示, 6)将T和 的三角形标志位置0。如果T和T 组成的四 本文算法只在内部平坦三角形ABJN中插入了其重心Q,即 边形是凸四边形,交换四边形的对角线,两个新三角形替代原 能使修正结果优于平坦区域搜索算法,并接近特征线插入算 来的T和T 放入 。如果T和T 组成的四边形是非凸四边 法,而且对原三角网的重构工作量较少。 形,e上插入中点P(P点的高程可以根据非凸四边形顶点的高 3数据结构和算法描述 程值线性插值得到),将四边形分为四个三角形,将其中两个替 代三角形T和T 放入 ,将另外两个三角形插入 的尾部, 算法的执行效率与数据结构之间存在密切的关系。一个 Trinum增加2。修改三角网拓扑结构,i=i+1,转2)。 良好的数据结构有利于对数据进行高效的管理,从而提高算 7)将T和T 的三角形标志位置0,交换T和T 组成的四 法的执行效率。本文提出的算法用到以下数据结构: 边形对角线,两个新三角形替代T和T 放入 ,修改三角网 1)有序点表。该表保存散乱点集和预处理后的点序列。 拓扑结构。如果新三角形中存在某个三角形含有内部水平 表中每个元素的结构为: 边,将这个三角形赋值给T,转4);否则i=i+1,转2)。 typedef steretI 8)将T和T 的三角形标志位置0,在e上插入其中点P double X,Y,z; //点的坐标 (P点的高程可以根据T的三个顶点的高程值线性插值得 维普资讯 http://www.cqvip.com 1646 计算机应用 2007血 到),将四边形分为四个三角形,将其中两个替代T和T 放入 Tri,另外两个插入 的尾部。Trinum增加2,修改三角网拓 扑结构。如果新三角形中存在某个三角形含有内部水平边, 将这个三角形赋值给T,转4);否则i=i+1,转2)。 形顶点高程相差0到1个等高距之间的任意值,具体可根据 需求设定),用该点将T为3个三角形T1、,I2和rI3,将T1 替代T,,I2和rI3加入%的尾部,Trinum增加2,修改三角网 拓扑结构。如果Ti(i=1,2,3)有水平边,将水平边的编号加 入FlatEdgeNo,保证其中无重复的边。i=i+1,转2)。 无重复的边,i=i+1,转2)。 9)结束。 相邻等高线间平坦区域的修正过程如图2所示。依据算 法的描述,搜索到含水平边AC的内部非平坦ZkABC,与其相 邻的/ ̄ACG是平坦三角形,由于△ABC和△ACG组成非凸四 边形,所以在AC上插入其中点P 这个非凸四边形; AACG出的AP。CG为另一个含水平边CG的内部非平 中点P(P点的高程可以设置为与H相差0到一个等高距之 间的任意值,具体可根据需求设定),将相邻三角形成四 帮 蘑 F G 蘑 5)三角形T的内部边的编号加入FlatEdgeNo,保证其中 6)依次对FlatEdgeNo中的边进行以下处理:在边的插入 坦三角形,与其相邻的△CEG为内部平坦三角形,所以在 △CEG内部插入其重心P2,成三个内部非平坦三角形, 交换ZkP,CG和△P2Gc的对角线(这个处理使得修正后的结 果与特征线插入法相似)。继续搜索到含水平边的内部非平 坦三角形△P2EG和AP CE,因为与其相邻平坦三角形构成 凸四边形,交换它们的对角线即可。 线 珥等高线 F G +-等高线 (a)相邻等高线间的平坦区域 H等高线 F G (c)ACEG的第一步修正 +-等高线 +-等高线 (d)ACEG的第二步修正 线 F G + 等高线 等高线 (e)AEFG的修正 (f)A CDE的修正 图2相邻等高线间平坦区域的修正 第二步修正一条等高线内的平坦区域,算法具体描述如 下: 1)初始化三角形链表Tri,初始化整型变量i=1,初始化 整型变量Trinum存储三角形的个数,初始化三角形变量T、 T1、他和rI3,初始化空间点变量P,初始化整型数组 FlatEdgeNo记录需要插入点的内部边的编号。 2)如果i>Trinum,转6);否则从 中取第i个三角形 T。 。 3)如果T不是平坦三角形,i=i+1,转2)。如果T不是 内部平坦三角形,转5)。 4)在T内插入其重心P(P点的高程可以设置为与三角 个三角形,Trinum增加2,修改三角网拓扑结构。 7)结束。 一条等高线内的平坦区域修正过程如图3所示。在第二 次遍历三角网时,遇到内部平坦三角形△BEG,插入其重心, 成三个非平坦三角形。搜索出所有内部水平边CE,BE, EG,BG后,再处理与每一条内部水平边相邻的三角形。 (a)一条等高线内的平坦区域 Co)ABEG的修正 等高线 一 F 等高线 F (e)EG上插入点 .L插入点 图3一条等高线内平坦区域的修正 4 实例与结论 一(D  BG.图4和图5分别是该程序根据实际工程项目等高线数据 构筑的数字高程模型实例局部的平面投影图(平坦区域未作 修正),及对该数字高程模型中平坦区域修正后的平面投影 图。实验结果证明本文算法能有效地修正相邻等高线间的平 坦区域和一条等高线内平坦区域。 与现存算法比较,本文提出的算法具有以下特点: 1)能处理各种原因造成的平坦区域,补充了平坦区域搜 索法没有完成的部分; 2)在不用提取地形特征线的情况下,修正后的三角网能 较好地体现地形特征; 3)提高了平坦区域的修正速度,时间复杂度为O(n)。 在处理相邻等高线间平坦区域时基本操作是边交换、边 上插入点和三角形内部插入点,每进行一次基本操作都会减 少TIN中的一个平坦三角形,平坦三角形的个数不可能达到 n(n表示TIN中三角形个数),所以这部分算法的时间复杂度 为O(n)。在处理一条等高线内平坦区域时,算法的基本操作 是在平坦三角形的内部边上插入点,需要处理的内部边条数 不会超过3n,所以这部分的算法时间复杂度为O(n)。因此整 (下转第1653页) 维普资讯 http://www.cqvip.com 第7期 韩合民等:基于边缘颜色分布的图像检索方法 1653 检索准确率为57.1%。由于边缘颜色分布综合考虑了图像 的局部颜色和边缘分布特征,所以本文的方法返回了颜色空 间分布更为相似的图像,并且对图像中背景的变化有一定的 鲁棒性,检索结果明显优于基于传统颜色直方图的方法。 为进一步验证本文算法的检索性能,采用检索的准确率 (Precision)和查全率(Recal1) 驯作为评价标准,与文献[4]算 容信息,克服了传统颜色直方图忽略空间信息的缺陷,同时对 图像的背景变化具有一定的鲁棒性。实验结果表明,本文方 法与其他同类方法相比具有更好的检索性能。 参考文献: 【1】SWAIN M J,BALLARDDH.Colorindexing【J】.International Journal of Computer Vision,1991,7(1):1 1—32. 【2】 GONG Y,CHUAN C H,XIAOYI G.Image Indexing and Retrieval Using Color Histograms【J】.Mulitmedia Tools and Applications, 法及基于传统颜色直方图的检索算法进行比较。其中,查全 率(Recal1)定义为检索到的相关图像与图像库中所有相关图 像的比值。 实验中,在测试库中对每一类图像随机抽取10幅作为查 1996,2(2):133—156. 【3】 STRICKER M,DIMAI A.Color indexing with weak spatial constraints【C】//Storage and Retrieval for Image and Video Data— base8 IV,San Jose,CA:SPIE 2670,1996:29—40. 询图像,记录每一幅查询图像的检索准确率和查全率,最后取 平均值,得到准确率-查全率曲线,如图5所示。实验结果显 示,本文提出的基于ECD的检索算法在检索性能上明显优于 基于传统颜色直方图及文献[4]中基于颜色布局的检索算法。 [4】 KASUTANI E,YAMADA A.The MPEG-7 color layout descriptor: a compact image feature description for high--speed image/video sag-- ment retrieval【C】//Proccedings of ICIP.Greece:【S.n.】,2001: 674—677. 【5】 孟繁杰,郭宝龙.一种基于兴趣点颜色及空间分布的图像检索 方法【J】.西安电子科技大学学报(自然科学版),2005,32(2): 256—259. 【6】 GEVERS T,SMEULDERS A W M.PieToSnk:Combierl!ng color nd shape ianvarintfaeamresforimage retrieval【J】.IEEE Transac— tions onImage Processing,2000,9(1):102—119. 【7】 曹莉华,柳伟,李国辉.基于多种主色调的图像检索算法研究与 实现【J】.计算机研究与发展,1999,36(1):96—100. 【8】 MPEG.ISO/IECJTC1/SC29/WG1 1/N5525,MPEG一7Overview (version 9):requirements document【S】.Pattaya,2003. 4 【9】 WANG J Z,LI J,WIEDERHOLD G.SIMLPLIeity:Semantics sen— sitive integrated matching for picture libraries【J】.IEEE Transac— 本文提出了一种基于边缘颜色分布的图像检索方法。该 方法利用五种不同类型边缘附近的颜色分布来表达图像的内 容信息,使用2D颜色直方图对所提取的ECD特征进行描述。 由于综合考虑了局部颜色特征和边缘方向的空间分布特征, 2D边缘颜色直方图与颜色直方图相比包含了更多的图像内 (上接第1646页) tions on Pattem AnMysis and Machine Intelligence,2001,23(9): 947—963. 【10】SMEULDERS A W M,WORRING M,SANTINI S.Content—based im- age retrieval at the end ofthe early years[J].W,EE Transaction O11 Pat— tern Analysis and Machine Intelli ̄nce,2000,22(12):1349—1380. 个算法的时间复杂度为D(n)。表1是6组不同的等高线数 据生成TIN后处理平坦区域的时间,平坦三角形的个数基本 一致,为什么时间会有比较大的差别?这是由于处理平坦区 图5一条等高线内平坦区域处理前后的平面投影图 域时需要遍历TIN造成的,原三角形个数较多的TIN的处理 时间会有所增加。 参考文献: 【1】 陈仁喜,龙毅.顾及三角形处理的TIN建立算法【J】.武汉大学学 报(信息科学版),2003,28(5):619-622. 【2】李志林,朱庆.数字高程模型【M】.武汉:武汉大学出版社,2003: 图4相邻等高线间平坦区域处理前后的平面投影图 表1 平坦区域的处理时间 84—89. 【3】 章孝灿.快速高精度DEM生成技术研究【D】.杭州:浙江大学, 2002. 等高线离散点原三角平坦三角现有三角插入点时间 条数数个数形个数形个数 形个数 个数 /s 【4】 邸元.基于等高线建立DTM中平坦区域的一种处理方法【J】.计 算机辅助设计与图形学学报,2000,12(8):566-570. 【5】 ,王东华,乔朝飞,等.等高线邻接关系的表达及应用研究 【J】.测绘学报,2004,33(8):174—178. 【6】 CHRISTOPHER M G,MACIEJ D.Terrain modelling from contours 【C】//3rd Proceedings of he Intternational Workshop on Dynamic nd Mulait—dimensional GIS.aanghok:【S.n.】,2001:427—432. 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo3.com 版权所有 蜀ICP备2023022190号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务