苏幸黄临平郑盛贵胡小红 Su Xing Huang Linping Zhen Shenggu i Hu Xiaohong (东华理工学院,抚州344000) (East China Institute of Technology,Fuzhou 344000) 摘 要:规则格网(Gr1d)是数字地面模型(DTM)最常用的表示方法,有着广泛的应用。本文介绍了面绘制的栅 格网的自动联结过程,同时在OpenGL开放式三维环境下,,进行光照渲染等处理,实现了对电磁资料测量数据的可视化处理, 并成功地应用于实际的工程项目,取得了很好的效果。 、 关键字:数字地形模型:规则格网:三维可视化:ODenGL 中图分类号:TP301.6 文献标识码:A 文章编号:1 671—4792-(2006)4—0089—03 Abstract:Regular Grid is the commonly used expression method of DTM,and has the widespread use.This paper introduced a progress of automatic coupling of Regular Grid,based on surface planning.At the same time,it realizes the electron magnetic data visualization processing in OpenGL environment by 1ighting and colouring. It successfully applied in the actual engineering project,and had obtained the good effect. Kevwords:DTM;Regular Grid;3D Visualization;OpenGL 0引言 double x,y;//散乱点坐标 实现地形三维可视化,数字地面模型(DTM)是一种很 double value;//散乱点物性值 有效的途径。DTM主要是由栅格和不规则三角网(TIN)两种 ); 数据格式来表示。按平面上等间距规则采样,或内插所建立 struct grid—node//四边形的网格结点类型 的数字地面模型,称为栅格的数字地面模型,通常也称为规 { 则格网(Grid)模型。相对于TIN,Grid具有规则、简单的 double x,Y;//网格结点坐标 数据结构,便于存储、管理以及分析计算等优点。因此,Grid ‘=;l-Id陶毫算法研究及OD西30广下三维可规化 double value;//网格结点物性值 具有构造视觉表现良好地表模型的优势。本文主要介绍构建 ・规则格网的过程以及距离成反比的加权法的内插方法。 //矩形内离中心结点的距离的结点类 ● 1构建Gdd涉及的数据结构 ‘ 散乱数据的可视化是对散乱数据进行插值或按拟合,形 { 成曲线或曲面并用图形或图像表示出来的技术…・[21。为了 double distance;//散乱点点离插值点的距离 对离散数据进行有效管理,论文在构建Grid规则网格时采用 int index;//对应原始点数组的索引号 的数据结构为点结构。数据结构定义如下: struct rectnode next; —struct scpoint—node//原始散乱点结构 ); f 2 Grid构建算法实现 维普资讯 http://www.cqvip.com
2.1与距离成反比加权法 这个方法也称为Shepard方法,最早是由气象学及地质 c ,d, +:{ 一df, L 当1,。一df 0 当1,。一df<0 学工作者提出来的。Shepard方法的插值结果只能是C。连续, 而且当增加、删除或改变一个点时,权函数p,(x,y)均需重 新计算。为了克服上述缺点,Franke及Xielson[3,4]提出 这说明,在(3)式中,当d (x ,y )>Y。时,点(x ,y ) 点的值就不起作用。于是,Q1只与相邻点的值有关,因而是 了一种改进,称为MQs(Mod i f i ed Quadrat i c Shepard)方法, 它通过引入一常量Y ,使得己知点(x ,y )与待求点间的距 离大于Y 时,权值p ( ,y)为零。 二维权函数定义为: = 一dk)+ d ) (1) p女【 , J 式中,Y 为一个常数。而 ’= +当 : 。 因此,当( ,y )点与某一点的距离大于Y 时,其权值 就为0。 Q (x,y)是一个插值于(x ,y )点的二次多项式,即有Q (x ,y )=f ,k=l,…,n。而且Q (x,y)在点(x ,y )附近与函数 值f(x,y)具有局部近似的性质。因此,如果认为距离(x,,y,) 较远的点对Qk(x,y)影响不大,则可以认为在(x ,y )点附近 Q,(x,y)就可以近似地表示f(x,y)了。 根据上述性质,Q 可由下式表示: Qj(x,y)= + h 一JI)+ t1(y—YI)+ t‘ 一JI) + 一JIXy—YJ)+一ak6(y—YI) 式中口 (J=2,…,6)是按最小二乘方法由下式得出的优 化解: 粪 ‘… Yi-Yk 2- 式中,f ,f 分别为(x ,y )及(x ,y )点的函数值,而p .可按下式选取。 p 一 : d (3J (3) q. 其中Y。为一常数,而 函数的局部近似。 在求出Ql(x,y)后,插值函数可表示为 脚 = ㈩ 2.2大规模散乱数据的与距离成反比的差值方法 在介绍插值之前,首先我们给出三个概念,即影响域、 影响点集和数据块交集,定义如下: 定义1:在平面上,节点P的影响域0(P)是指该点能够 对其它点有所影响的最大的区域。本文中可以指半径为r/2 的闭圆盘,或者为边长为r 的正方形。在空间中,节点P的 影响域o(P)是指该点能够对其它点有所影响的最大的区域。 本文中可以指半径为r/2的闭球体,或者为边长为r 的正 六面体。 定义2:节点P的影响点集S(P)是指能够对点P有所影 响的点的集合。本文中指元素个数为n的点集,也就是说,能 够对点(i,j)的高程有所贡献的已知点的个数为n个,这些点 一般为到点P最近的n个点。 定义3:数据块的交集Q(P)是指节点P处于若干数据块 中的点的集合 这里指各数据块中公共点的集合,当网格点 离哪个数据块中心距离最近,则此网格点放入哪个数据块中 计算。 根据上面的定义,在求任一平面点(i,j)的高程时,只 需要找出对该点高程有影响的所有节点,然后根据二维平面 拟合的内插算法即可求出点(i,j)的高程。在这里,我们就 以定义1,即影响域的方法来具体的说明求出点(i,J)的高程 属性值的方法,对定义2也可以类似的求解。 2.3算法实现步骤 设有m个离散点、n个网格结点,划分1 w个数据块,算 法描述如下: 维普资讯 http://www.cqvip.com
value。 注意:在网格化过程中,要特别注意需要计算出插值点 I 。翟釜爱 ~ 一 墨越薯曩鬻 霹嚣鬻强嚣翟 燃离数据块中心最近的数据块,此后我们把此插值点放入距离 最近的数据块中进行内插运算。 罄州 ‘ I . .一 一l 疆 器 一 3三维可视化 一 … 豳 电磁资料三维可视化我们使用的工具是、fC++和OpenGL 群 一 结合 ,作为图形硬件的软件接口,OpenGL最主要的工作就 - ; 是将二维及三维物体描绘到帧缓存[61。在构网时,将valu。 ……●…●、 、 ● ’} 幽… ● ’m ’…… 值也参与构网,设计像素格式、选择视点以及投影模式、选 定光源等各项处理,同时进行光照渲染以达到三维可视化的 图一二维平面时矩形网格剖分 目的。本文还实现了对渲染后的三维图形的旋转、缩放、平 移,进而可以很好地为模型的后期应用开辟更广阔的空间。 该算法在实现中采用的是奔III/s4o平台及Window 2000 XP 操作系统,开发工具为lisual c++6.0及OpenGL库。 参考文献 [1]唐泽圣.三维数据场可视化[圳.北京:清华大学出 版社,1999. [2]徐青.地形三维可视化技术[、iJ.北京测绘出版社, 2000 [3]Franke R.and Nielson G…Smooth interDola— 图二OpenGL环境下的三维地形填充模式 tion of large sets of scattered data. International for网格结点gridpoints Journal‘for Numerical Methods in Engineering,1980, {计算适宜的动态影响域0(P) 15:1691-I704. recttop。rectbottom; [4]Shepard D.. A Two Dimensional InterDolation for离散点totalpoints Function for Irregularly Spaced Data.Proceedings of {计算并保存网格结点所在数据块内各离散点与网格 Gr-d构建算法研究及ODe 0广下三维可视化 ACM 23rd National Conference,1968. 结点的距离 ’ [5]Kaufman. A Efficient algorithms for 3D scan Distance=(GridNode.x—ScapePoint.x) (GridNode.Y— conversion polygons.Computer Graphics,1988,12(2): ScapePoint.y); 377 390. 累计各离散点高程与其对应距离比率及各离散点距离倒数 [6]廖朵朵,张华军.OpenGL三维图形程序设计[、iJ.北 suml suml+1/distance; 京:星球地图出版社,1996. sum2 sum2+ScapePoint.value/distance;) 得出此网格结点高程GridNode.value:sum2/suml; 作者简介 重复以上步骤直到计算出所有网格结点高程GridNod。. 苏幸(1978一),女,硕士生,主要研究方向:GMS三维 可视化。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- esig.cn 版权所有 湘ICP备2023023988号-3
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务