CN110930509A - 线性四元树多层模型驱动的dem即时可视化方法 - Google Patents
线性四元树多层模型驱动的dem即时可视化方法 Download PDFInfo
- Publication number
- CN110930509A CN110930509A CN201911184987.6A CN201911184987A CN110930509A CN 110930509 A CN110930509 A CN 110930509A CN 201911184987 A CN201911184987 A CN 201911184987A CN 110930509 A CN110930509 A CN 110930509A
- Authority
- CN
- China
- Prior art keywords
- node
- tree
- data
- dem
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000007794 visualization technique Methods 0.000 title claims abstract description 27
- 238000000034 method Methods 0.000 claims abstract description 82
- 230000008569 process Effects 0.000 claims abstract description 43
- 238000009877 rendering Methods 0.000 claims abstract description 42
- 238000012800 visualization Methods 0.000 claims abstract description 30
- 230000008439 repair process Effects 0.000 claims abstract description 8
- 230000000007 visual effect Effects 0.000 claims description 29
- 238000007781 pre-processing Methods 0.000 claims description 18
- 230000000694 effects Effects 0.000 claims description 12
- 238000010606 normalization Methods 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 9
- 239000011159 matrix material Substances 0.000 claims description 9
- 239000013598 vector Substances 0.000 claims description 7
- 238000001514 detection method Methods 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 4
- 238000013519 translation Methods 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000011410 subtraction method Methods 0.000 claims description 3
- 238000007670 refining Methods 0.000 claims description 2
- 238000000338 in vitro Methods 0.000 claims 1
- 230000008901 benefit Effects 0.000 abstract description 10
- 239000003086 colorant Substances 0.000 abstract description 7
- 238000013461 design Methods 0.000 abstract description 4
- 238000004422 calculation algorithm Methods 0.000 description 22
- 230000007547 defect Effects 0.000 description 7
- 238000007726 management method Methods 0.000 description 7
- 238000004088 simulation Methods 0.000 description 7
- 238000010276 construction Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000013079 data visualisation Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000013178 mathematical model Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012876 topography Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 229910052500 inorganic mineral Inorganic materials 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 239000011707 mineral Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000007711 solidification Methods 0.000 description 1
- 230000008023 solidification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Remote Sensing (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Graphics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提出了一种线性四元树多层模型驱动的DEM即时可视化方法,可以更快的修补多层精细产生的裂痕,同时提出了一种对节点数据色彩保存的方法,配合OpenGL渲染引擎,在添加高程色标的情况下,可实现高分辨率DEM地形数据的即时可视化。在实验过程中,通过构建线性四元树的索引结构,结合DEM格网数据的邻近性优点,在多层精细的渲染显示过程中,均达到了较高的即时可视化速度,四元树分块模型可以很好的在地形上保持较高的绘制速度,达到了预期的设计目的,既保证了即时绘制,也保证了点云数据的高效读写。结果表明,相对于现有技术的存储方法,其模型的生成速度和读取速度均有明显的改善。
Description
技术领域
本发明涉及一种DEM即时可视化方法,特别涉及线性四元树多层模型驱动的DEM即时可视化方法,属于DEM可视化方法技术领域。
背景技术
地形可视化分析是用可直接观测到的地貌信息,来演绎推断出无法直接观测到的地壳运动的进程和发展的方法,随着科技发展,GIS以其强大的地理空间信息处理的优势,在环境研究、全球变化与监测、农作物估产、资源管理、城市规划、灾害预测与灾情评估、矿产资源评价、文物保护等许多领域发挥着越来越重要的作用,地形可视化分析功能在GIS中的作用也越来越大,是GIS应用中一种重要的分析方法。
为使数字地面高程模型有更逼真的数字化还原,现有技术根据各类数学模型、算法及数学理论,结合当前的计算机发展水平,建立了一些比较有效实用的地形可视化模型。因为地形可视化有着非常广阔的应用前景,相关现有技术越来越多,集中体现在数字地形建模、地形模型简化、多精细地形模型、地形重构等方面。地形图所描述的对象具有丰富的三维地形特征,是地表客观存在的,虽然地形图用了很多方法如等高线、分层设色等以更准确的描述,但这种二维介质上的平面图相比于其所表示的三维环境间还存在着很大的差距。为获取更加真实丰富的三维地理信息,现有技术一直致力实现地理信息的三维可视化。
现有技术的分形几何具有统计自相似的典型特征,分形地景仿真在利用了这一典型特征的基础上,再采用递归算法用简单的规则来生成复杂的景物,但分形地景仿真算法的复杂度较高,并且没有联系真实的地形地貌,因此在应用上受到了较大限制。现有技术的曲面拟合地形仿真根据地面控制点,采用合适的数学模型通过地面控制点对地形进行曲面拟合,但也有着不少缺点,例如曲面方程以及其参数不易控制,并且生成的地形过于光滑,与真实地面看起来有较大差异。
现有技术连续多边形网络对真实地形模拟具有高度的真实感和线性近似等良好特性,并适用于当前硬件固化的绘图方式,但地形数据量非常大时,会使得生成的多边形数量急剧增加,使模型过于复杂化,难以满足对地形即时绘制的需求。近年来,地形场景即时绘制在各领域发挥了重要作用,现有技术提出了一些场景快速绘制算法,这些算法大都存在一些问题与不足,很多情况下不能实现大区域地形场景的即时高速绘制。
现有技术的层次精细算法提高了地形数据绘制的速度,多层精细算法构建的四元树结构和DEM数据规范比较相似,且算法复杂程度小,所以通过构建四元树来建立DEM的多层精细模型是较好的选择。但该算法是一次性将数据存入内存中,然后通过四元树的节点来对数据进行绘制,当DEM数据大到超过一定规模时,四元树的数据量就要远远大于计算机内存空间大小,这一算法明显不适用。
综合来看,现有技术的麦克风阵列语音去噪增强方法主要存在以下几点缺陷:
一是现有技术地形数据量非常大时,会使得生成的多边形数量急剧增加,使模型过于复杂化,难以满足对地形即时绘制的需求,现有技术提出了一些场景快速绘制算法,大都存在一些问题与不足,很多情况下不能实现大区域地形场景的即时高速绘制;
二是现有技术分形地景仿真算法的复杂度较高,并且没有联系真实的地形地貌,因此在应用上受到了较大限制;
三是现有技术的曲面拟合地形仿真根据地面控制点,但有着不少缺点,例如曲面方程以及其参数不易控制,并且生成的地形过于光滑,与真实地面看起来有较大差异;
四是现有技术的层次精细算法是一次性将数据存入内存中,然后通过四元树的节点来对数据进行绘制,当DEM数据大到超过一定规模时,四元树的数据量就要远远大于计算机内存空间大小,这一算法明显不适用;
五是现有技术的部分算法过于复杂,受到计算复杂度高的限制,不能推广到实际应用中,几乎没有实用价值。
发明内容
针对现有技术的不足,本发明提出了一种通过建立线性四元树来组织DEM数据的方法,可以更快的修补多层精细产生的裂痕,同时提出了一种对节点数据色彩保存的方法,配合OpenGL渲染引擎,在添加高程色标的情况下,可实现高分辨率DEM地形数据的即时可视化。在实验过程中,通过构建线性四元树的索引结构,结合DEM格网数据的邻近性优点,在多层精细的渲染显示过程中,均达到了较高的即时可视化速度,尤其是当数据量大于4096×4096的时候,四元树分块模型可以很好的在地形上保持较高的绘制速度,达到了预期的设计目的,既保证了即时绘制,也保证了点云数据的高效读写。结果表明,相对于现有技术的存储方法,其模型的生成速度和读取速度均有明显的改善,在相同数据相同精细化程度下,本发明的方法较现有技术时间节省35%以上。
为达到以上技术效果,本发明所采用的技术方案如下:
线性四元树多层模型驱动的DEM即时可视化方法,通过建立线性四元树构建多层精细模型组织DEM数据即时可视化,主要包括DEM数据预处理、线性四元树多层精细模型建立、视景体内外判定、渲染生成DEM即时可视化结果,快速修补多层精细模型产生的裂痕,配合OpenGL渲染引擎,添加高程色彩数据,实现高分辨率DEM地形数据的即时可视化。
线性四元树多层模型驱动的DEM即时可视化方法,进一步的,具体步骤为:
第一步,DEM数据预处理,依次包括DEM源数据读入内存、转储数据、输出二进制文件;
第二步,线性四元树多层精细模型建立,依次包括读入预处理、数据域缓存、计算线性四元树最大深度、构建节点、是否达树深判定、是否有数据判定、计算误差、计算四个子节点;
第三步,视景体内外判定,依次包括计算视景体方程、判定结点是否在视景体内、判定是否细分、结点标记细分、获取子节点;
第四步,渲染生成DEM即时可视化结果,依次包括结点进入OpenGL渲染、添加高程色彩数据、可视化结果输出。
线性四元树多层模型驱动的DEM即时可视化方法,进一步的,第二步线性四元树多层精细模型建立,在多层精细连续分辨率模型构建过程中,首先对地形进行分割,根据最大层次M建立(2M+1)×(2M+1)大小的DEM影像,然后从中心节点向四个方向依次建立不同层次精细模型,每一个四元树节点除了保存父节点和四个子节点的指针之外,还保存中心节点索引、区域边缘的四个正方形角点索引和相邻角点之间边的中点索引,根节点为中心节点,涵盖整个地形,四个角点是整个地形的最大边界角点,根节点的四个子节点分别代表根节点的四个方向数据,根节点的子节点指向整个正方形地形被平均分成四块之后的区域中心节点,依次递归,直到底层即最精细节点,构建好线性四元树的索引结构后,根据每层地块节点保存的误差大小和视距公式判定是否继续展开节点。
线性四元树多层模型驱动的DEM即时可视化方法,进一步的,通过构建线性四元树的方式,将多层精细树的数据映射到DEM空间二维的(X,Y)坐标上,通过最精细的底层多层精细数据,经过逻辑运算获得任意一个位置的节点信息以及该节点的四个角点和边点。
线性四元树多层模型驱动的DEM即时可视化方法,进一步的,在显示不同细节,决定是否展开节点过程中,通过地形起伏决定是否展开细化,预先计算不同大小节点所代表的块中的最大高差作为误差值,保存在节点数据域中,通过视距和节点的关系公式判断是否需要展开节点,同时节点有累计效应,父节点的高差值永远大于等于每一个子节点的高差值,公式如下:
Gmax×C>D
式中,G为节点的最大高差值,D为视点和节点的中心点距离,C为精细常数,当满足上式时,代表节点需要继续展开,否则结束节点的递归;
在对每一个节点进行预处理之后,将节点数据直接保存到本地,在以后的读取过程中直接通过二进制文件读取方式,得到数据直接应用于显示DEM数据中。
线性四元树多层模型驱动的DEM即时可视化方法,进一步的,第三步视景体内外判定,通过视景体的大小和当前模型的旋转矩阵计算模型实际位置,然后从根节点出发,根据当前节点对应模型大小计算出对应块的包围盒,通过包围盒检测法验证包围盒的所在范围。
线性四元树多层模型驱动的DEM即时可视化方法,进一步的,包围盒检测法是对于四元树中的一个节点,首先构建节点的最小外接立方体,竖直方向投影是标准的等间隔点,在XY平面上的四个平面点坐标是已知的,通过预处理得到的最大高程和最小高程,构建出一个最小外接立方体,如果最大高程和最小高程相等,只认为构建了一个平面,只计算平面和视景体的空间关系;
构建最小外接立方体后,对最小外接立方体进行OpenGL矩阵操作,通过获取OpenGL的内部视图矩阵,再左乘齐次点坐标(x,y,z,1),计算包围盒每一个经过空间旋转和平移后的点空间坐标,判断包围盒所在的位置是否在视景体内;
判断包围盒是否在视景体内部或者相交的具体方法是:首先确定视景体棱台的各个面的法向量和归一化方程,然后对包围盒的八个顶点逐个计算归一化方程结果,如果八个顶点均在归一化方程的正侧,认为包围盒位于视景体之外,最后剔除视景体外点块。
线性四元树多层模型驱动的DEM即时可视化方法,进一步的,多层精细模型裂痕修补中,将细分程度较高的相邻块边点和角点对原细分程度较低的相邻块的中心节点进行另外的三角形绘制,在渲染和递归的过程中借助OpenGL的三角形绘制方法直接对三角形进行节点的绘制;
对于每一个要渲染的块区域的四条临边进行临界搜索,首先判断是否在视景体内部,再判断细化精度是否比当前精度要高,如果是,则进行相邻区域的递归搜索,将递归得到的角点同原渲染的中心节点连线,绘制新的三角形;
当渲染某个节点的四个邻接数据块时,直接通过本节点的预处理值通过加减法得到相邻数据域,只需要另外判定是否溢出边界即可。
线性四元树多层模型驱动的DEM即时可视化方法,进一步的,高程色彩数据的存储管理中,通过色彩索引的方式完成对高程色彩的定义,并不保存每个点的色彩值;
预处理过程中对整个高程数据的最小高程和最大高程提前计算并根据HSB的色调进行映射,得到的高程映射色彩色标后,预先通过转换函数转换成RGB色彩模型,当任意一点需进行渲染时,直接找寻点对应的色彩索引得到具体的RGB高程色彩,不需要另外的空间保存每一个高程点的高程三维色彩,只需要一次索引计算。
与现有技术相比,本发明的优点在于:
1.本发明提供的线性四元树多层模型驱动的DEM即时可视化方法,本发明提出了一种通过建立线性四元树来组织DEM数据的方法,可以更快的修补多层精细产生的裂痕,同时提出了一种对节点数据色彩保存的方法,配合OpenGL渲染引擎,在添加高程色标的情况下,可实现高分辨率DEM地形数据的即时可视化。在实验过程中,通过构建线性四元树的索引结构,结合DEM格网数据的邻近性优点,在多层精细的渲染显示过程中,均达到了较高的即时可视化速度,尤其是当数据量大于4096×4096的时候,四元树分块模型可以很好的在地形上保持较高的绘制速度,达到了预期的设计目的,既保证了即时绘制,也保证了点云数据的高效读写。结果表明,相对于现有技术的存储方法,其模型的生成速度和读取速度均有明显的改善,在相同数据相同精细化程度下,本发明的方法较现有技术时间节省35%以上。
2.本发明提供的线性四元树多层模型驱动的DEM即时可视化方法,通过多层精细绘制三角形面片的时候都只绘制了起伏较高的关键特征数据,因而节省了整体数据的绘制时间,提高了绘制速率。在实际DEM渲染过程中,也不存在过于起伏的地形。通过进一步降低精细参数,绘制更为粗略的DEM模型,实现过渡效果,而相对于比较平缓的地形,则整体的绘制效率得以大大的提高,从而实现了对地形的即时渲染和漫游。本发明的方法采用的线性四元树存储结构,只存储高程数据和误差数据,满足最基本的绘制需求情况下,占用的空间为75429739字节,而且不存在数据冗余,对数据的空间要求减少了64.53%。
3.本发明提供的线性四元树多层模型驱动的DEM即时可视化方法,建立线性四元树多层模型索引结构,具有诸多优点:一是一次性开辟内存空间,不用另外的空间申请节点过程,提高处理效率;二是基于DEM位置的索引结构,可直接用于缓存;三是对存储空间要求低,无冗余数据;四是裂痕消除过程中,寻找不同父亲的子节点效率大大提高。
4.本发明提供的线性四元树多层模型驱动的DEM即时可视化方法,考虑到现有技术算法的不足之处包括在地形即时可视化仿真处理中,DEM数据渲染对计算机资源如内存显存的占用往往较大,大规模的法向量、色彩、精细纹理等数据都要占用内存空间,因此需要在图形引擎中高效率组织数据存储方式,增强DEM渲染的最终效果。本发明研究重点在时间效率和存储空间上,重点解决现有技术不能很好的支持大数据量的显示,一方面提高多层精细模型的算法效率,另一方面保证大数据量的可操作性,通过数据分块和OpenGL图形接口的使用,建立线性四元树索引结构,得到一个对于空间要求不大并能保证运算效率的模型,并在此基础上对模型添加高程色彩地形效果,算法结构清晰、计算复杂度适中、算法逻辑清楚、鲁棒性健壮性好,整体实现容易,能快速的推广到实际应用中,运用效果较好,有很大的市场实用价值。
附图说明
图1是本发明的线性四元树多层模型驱动的DEM即时可视化方法的结构原理示意图。
图2是本发明的正方形地形的细分构建过程示意图。
图3是本发明的后置滤波波束形成法的结构原理示意图。
图4是本发明的多层精细模型裂痕修补绘制的线图示意图。
具体实施方式
下面结合附图,对本发明提供的线性四元树多层模型驱动的DEM即时可视化方法的技术方案进行进一步的描述,使本领域的技术人员可以更好的理解本发明并能予以实施。
参见图1至图4,本发明提供的线性四元树多层模型驱动的DEM即时可视化方法,通过建立线性四元树构建多层精细模型组织DEM数据即时可视化,主要包括DEM数据预处理、线性四元树多层精细模型建立、视景体内外判定、渲染生成DEM即时可视化结果,快速修补多层精细模型产生的裂痕,提出了一种对节点数据色彩保存的方法,配合OpenGL渲染引擎,在添加高程色彩数据的情况下,实现高分辨率DEM地形数据的即时可视化。
在地形即时可视化仿真处理中,DEM数据渲染对计算机资源如内存显存的占用往往较大,大规模的法向量、色彩、精细纹理等数据都要占用内存空间,因此需要在图形引擎中高效率组织数据存储方式,增强DEM渲染的最终效果。考虑到现有技术算法的不足之处,本发明研究重点在时间效率和存储空间上,重点解决现有技术不能很好的支持大数据量的显示,例如超过4096×4096像素的数据规模。所以本发明一方面提高多层精细模型的算法效率,另一方面保证大数据量的可操作性,通过数据分块和OpenGL图形接口的使用,建立线性四元树索引结构,得到一个对于空间要求不大并能保证运算效率的模型,并在此基础上对模型添加高程色彩地形效果,图1示意了本发明线性四元树多层模型驱动的DEM即时可视化方法的结构原理。
本发明提供的线性四元树多层模型驱动的DEM即时可视化方法,如图1所示,具体步骤为:
第一步,DEM数据预处理,依次包括DEM源数据读入内存、转储数据、输出二进制文件;
第二步,线性四元树多层精细模型建立,依次包括读入预处理、数据域缓存、计算线性四元树最大深度、构建节点、是否达树深判定、是否有数据判定、计算误差、计算四个子节点;
第三步,视景体内外判定,依次包括计算视景体方程、判定结点是否在视景体内、判定是否细分、结点标记细分、获取子节点;
第四步,渲染生成DEM即时可视化结果,依次包括结点进入OpenGL渲染、添加高程色彩数据、可视化结果输出。
一、线性四元树多层精细模型建立
(一)线性四元树多层精细模型建立
多层精细模型包括两类:多层精细离散分辨率模型和多层精细连续分辨率模型,多层精细离散分辨率模型根据视点与地形位置,提前将不同层次精细的地物存储压缩,建立不同的层次精细模型,需要调用模型时,根据不同视点位置取该距离下最合适的精细模型渲染,采用多层精细离散分辨率模型的优点是:各层次模型已定制,不需要再根据视点位置关系计算即时构建模型,各层次模型精细都已明确,易于确定不同精细模型的使用条件,缺点是可供选择的不同层次细节有限,模型在不同的层次精细化之间转换有明显跳动感。多层精细连续分辨率模型在运行过程中根据特定的临界条件通过不同的索引结构生成的模型,可根据视点位置构建不同的精细分辨率模型,在地形漫游时,会自动运用近精远粗原理绘制DEM格网,达到无差异精细过渡的效果,克服了传统影像的画面跳跃感,更适用于虚拟仿真环境中。但这种结构的构建相对金字塔模型更复杂,在渲染过程中会因为相邻块状区域细化程度不同产生裂痕现象,需另外的时间代价对裂痕进行处理后,再重新渲染。经优化后的多层精细模型在时间和空间上都可行。
在多层精细连续分辨率模型构建过程中,首先对地形进行分割,根据最大层次M建立(2M+1)×(2M+1)大小的DEM影像,然后从中心节点向四个方向依次建立不同层次精细模型,每一个四元树节点除了保存父节点和四个子节点的指针之外,还保存中心节点索引、区域边缘的四个正方形角点索引和相邻角点之间边的中点索引,根节点为中心节点,涵盖整个地形,四个角点是整个地形的最大边界角点,根节点的四个子节点分别代表根节点的四个方向数据,根节点的子节点指向整个正方形地形被平均分成四块之后的区域中心节点,依次递归,直到底层即最精细节点,如图2所示,从上到下代表一个正方形地形的细分构建过程。
构建好线性四元树的索引结构后,根据每层地块节点保存的误差大小和视距公式判定是否继续展开节点,视距为视点和节点的距离,达到即时实现不同区域不同分辨率DEM可视化的目的。多层精细连续分辨率模型实现的方法主要有两步:一是构建线性四元树并计算各个节点的误差大小;二是对已经构建的线性四元树进行维护,通过不同视距范围判断是否展开当前节点,是否进行递归进行局部渲染。
(二)线性四元树多层精细模型的结构
现有技术的基于四元树的多层精细模型是建立在真实四元树上的,每一个四元树节点都存在四个子指针和父指针,但是当前的64位编译环境下,指针变量所占用的字节数达8字节,每一个节点单纯占用的空间达到50字节,加上现有技术多层精细模型节点需保存四个边节点和角节点索引值,索引结构占用的空间达到9×4=36字节,一个点所保存的空间数据达到了86字节,在数据量大于4096×4096的地形空间下,占用的动态内存空间达到5504MB,这对空间的占用代价是巨大的。
通过构建线性四元树的方式,将多层精细树的数据映射到DEM空间二维的(X,Y)坐标上,通过最精细的底层多层精细数据,经过逻辑运算获得任意一个位置的节点信息以及该节点的四个角点和边点,线性四元树索引结构图如图3所示。
如图3所示,当M=3时,DEM模型大小为9×9,每一个方块都作为节点存储方位坐标下的高程信息、法向量信息和色彩索引值,但是如果是有填充的区域(包括色彩填充、画圈)节点,填充区域为线性四元树的节点,需另外保存填充区域特定数据,填充区域特定数据包括:误差、区域一半边长、最大高程和最小高程,图3中每一个方块(高程点)都建立对应的多层精细块结构,但部分并不属于四元树的节点,所以辨认码并不存在,这样可以节省大量的冗余空间,根据图3的DEM数据,中心节点(4,4)代表整个9×9的地形数据,保存的节点信息数据的区域一半边长为4,同理其四个方向子节点的区域一半边长为2,依次类推。当寻找中心节点的四个角点数据时,通过对坐标的区域一半边长进行加减操作直接定位,左上角点坐标为(4-4,4-4),左上的子节点坐标为(4-2,4-2),建立了索引结构的子节点直接通过二维DEM位置获取节点信息。
建立线性四元树多层模型索引结构优点如下:
一是一次性开辟内存空间,不用另外的空间申请节点过程,提高处理效率。传统四元树构建过程中,每一个节点的生成都需要申请空间,构建之前不能对所有节点申请空间,建立线性四元树多层模型索引结构大大减少四元树的建树代价;
二是基于DEM位置的索引结构,可直接用于缓存。通过DEM格网构建的块信息在构建一次成功后直接缓存到本地二进制文件中,不用二次计算,如保存非线性四元树节点数据,则首先需要对节点指针位置重新设计,通过每一个节点的顺序索引值修改指针的指向值,由于本身并不是线性排列,不能一次性直接写入缓存文件,需重新递归,而且对缓存数据的读取也要逆操作,降低了维护效率;
三是对存储空间要求低,无冗余数据。在构建索引结构的过程中,自底向上构建每一个区域节点,每一个节点因本身的位置坐标特性,可通过位置位移直接计算当前块的四个角点和边点,无需另外的存储空间,所有节点只保存一次,排除所有冗余数据;
四是裂痕消除过程中,寻找不同父亲的子节点效率大大提高。因为四元树的特性,不同父节点的子节点临近关系需不断递归父节点直到相同父亲后,再重新向下递归定位。基于DEM位置索引结构的线性四元树可直接通过位置偏移量定位不同父节点,明显提高了裂痕修复的速度。
在显示不同细节,决定是否展开节点过程中,本发明通过地形起伏决定是否展开细化,预先计算不同大小节点所代表的块中的最大高差作为误差值,保存在节点数据域中,通过视距和节点的关系公式判断是否需要展开节点,同时节点有累计效应,父节点的高差值永远大于等于每一个子节点的高差值,公式如下:
Gmax×C>D
式中,G为节点的最大高差值,D为视点和节点的中心点距离,C为精细常数,当满足上式时,代表节点需要继续展开,否则结束节点的递归。
在对每一个节点进行预处理之后,将节点数据直接保存到本地,在以后的读取过程中直接通过二进制文件读取方式,得到数据直接应用于显示DEM数据中,减少时间消耗。
二、视景体内外判定
在构建好索引结构后,通过视景体的大小和当前模型的旋转矩阵计算模型实际位置,然后从根节点出发,根据当前节点对应模型大小计算出对应块的包围盒,然后通过包围盒检测法验证包围盒的所在范围。
包围盒检测法的基本思想是,对于四元树中的一个节点(又称一个评判区域),首先构建节点的最小外接立方体,竖直方向投影是标准的等间隔点,在XY平面上的四个平面点坐标是已知的(通过该节点所确定的最大或最小平面坐标决定),再通过预处理得到的最大高程和最小高程,构建出一个最小外接立方体,如果最大高程和最小高程相等,只认为构建了一个平面,只计算平面和视景体的空间关系。
构建最小外接立方体后,因为模型的旋转和平移操作实际上移动的是物体,对最小外接立方体进行OpenGL矩阵操作,通过获取OpenGL的内部视图(GL_MODEVIEW)矩阵,再左乘齐次点坐标(x,y,z,1),计算包围盒每一个经过空间旋转和平移后的点空间坐标,然后判断包围盒所在的位置是否在视景体内。判断包围盒是否在视景体内部或者相交的具体方法是:首先确定视景体棱台的各个面的法向量(因为视景体从未变化,根据初始化设置而定,不需要另外计算)和归一化方程,然后对包围盒的八个顶点逐个计算其归一化方程的结果,如果八个顶点均在归一化方程的正侧,认为包围盒位于视景体之外。
最后剔除视景体外点块,在DEM视景体判别过程中,可实现对视景体面设置简单一些,归一化方程计算中可减少计算时间,达到较高的即时化渲染效率,当递归节点计算视景体范围后被判定为视景体之外,即将整个节点剪枝不向下递归,提高渲染效率。
三、多层精细模型裂痕修补
经过视景体外点块的剔除后,剩余在视景体内的点进行三角形的绘制。但是多层精细离散分辨率模型绘制中会出现裂痕,原因是相邻的块分割不均匀,经过修补之后,将细分程度较高的相邻块边点和角点对原细分程度较低的相邻块的中心节点进行另外的三角形绘制,可解决裂痕问题,另外绘制的线图如图4所示。
在渲染abcd块的过程中,因为bc侧右方的细分程度比bc左侧高,所以对bc右侧的节点块的所有左侧子节点进行递归,直到不能细分为止,然后对左侧的所有角点同bc左侧块的中心节点构建新的三角形,在渲染和递归的过程中借助OpenGL的三角形绘制方法(GL_TRIANGLE_FAN)直接对三角形进行节点的绘制。
通过对扇形三角形的绘制,极大的提高绘制效率,减少相邻三角形相同点的调用次数,同时对渲染节点的邻近块区域的查找,可直接得到相邻区域的细化节点值,对于每一个要渲染的块区域的四条临边进行临界搜索,首先判断是否在视景体内部,再判断细化精度是否比当前精度要高,如果是,则进行相邻区域的递归搜索,将递归得到的角点同原渲染的中心节点连线,绘制新的三角形。
因为DEM是线性存储,当渲染某个节点的四个邻接数据块时,可直接通过本节点的预处理值通过加减法得到相邻数据域,省去了传统四元树节点的递归过程,只需要另外判定是否溢出边界即可,可节省大量的绘图时间。
四、高程色彩数据的存储管理
对DEM数据渲染和管理过程中,为保证地形的真实性,需要对DEM模拟仿真,其中就要保存DEM数据的色彩索引和法向量数据,这对DEM数据的存储管理有较高的要求,尤其在海量DEM数据下,对每个节点添加数据都可能会对整个地形数据造成影响。
在DEM色彩的存储过程中,通过色彩索引的方式完成对高程色彩的定义,而并不保存每个点的色彩值,用来节省空间。
色彩存储管理过程中,因为传统高程色标的色彩是由蓝色到红色彩渐变的过程,符合HSB色彩模型,而OpenGL只支持RGB模型,所以预处理过程中对整个高程数据的最小高程和最大高程提前计算并根据HSB的色调进行映射,得到的高程映射色彩色标后,预先通过转换函数转换成RGB色彩模型,当任意一点需进行渲染时,直接找寻点对应的色彩索引得到具体的RGB高程色彩,不需要另外的空间保存每一个高程点的高程三维色彩,只需要一次索引计算。
同理,如果在DEM的开发过程中需要对DEM数据高程点进行处理,那么就在尽可能压缩数据的前提下将数据索引保存在DEM高程数据中,如果只涉及到节点数据,则可以保存在线性四元树节点中,进一步压缩数据量,同时方便维护和管理。
五、本发明的实验对比验证
为了检测本发明线性四元树多层模型驱动的DEM即时可视化方法的可行性和效率,对不同的测试数据分别进行地形绘制,在相同的视觉精细参数下,通过绘制不同的三角形来测试整体的绘制效率。因为基于多层精细模型算法在三角形的选择绘制过程中不仅有GPU的参与,还有CPU对四元树的维护和筛选过程,所以本发明实验采用整体绘制时间作为判定标准。
在四元树节点空间占用的测试实验中,四元树深度达到十一层后,不经任何改进的四元树实际占用空间达到212632843字节,而本发明的方法采用的线性四元树存储结构,只存储高程数据和误差数据,满足最基本的绘制需求情况下,占用的空间为75429739字节,而且不存在数据冗余,对数据的空间要求减少了64.53%。
在绘制时间上,本发明因为应用了多层精细算法,尽管数据规格不尽相同,但因为地形特征并没有变化,在通过多层精细绘制三角形面片的时候都只绘制了起伏较高的关键特征数据,因而节省了整体数据的绘制时间,提高了绘制速率。在实际DEM渲染过程中,也不存在过于起伏的地形。虽然CPU时间和GPU时间总共达到了86ms,但依然可以通过进一步降低精细参数,绘制更为粗略的DEM模型,实现过渡效果,而相对于比较平缓的地形,则整体的绘制效率得以大大的提高,从而实现了对地形的即时渲染和漫游。通过多组实验,在相同数据相同精细化程度下,本发明的方法较现有技术时间节省35%以上。
本发明提出了一种通过建立线性四元树来组织DEM数据的方法,可以更快的修补多层精细产生的裂痕,同时提出了一种对节点数据色彩保存的方法,配合OpenGL渲染引擎,在添加高程色标的情况下,可实现高分辨率DEM地形数据的即时可视化。在实验过程中,通过构建线性四元树的索引结构,结合DEM格网数据的邻近性优点,在多层精细的渲染显示过程中,均达到了较高的即时可视化速度,尤其是当数据量大于4096×4096的时候,四元树分块模型可以很好的在地形上保持较高的绘制速度,达到了预期的设计目的,既保证了即时绘制,也保证了点云数据的高效读写。结果表明,相对于现有技术的存储方法,其模型的生成速度和读取速度均有明显的改善,在相同数据相同精细化程度下,本发明的方法较现有技术时间节省35%以上。
Claims (9)
1.线性四元树多层模型驱动的DEM即时可视化方法,其特征在于:通过建立线性四元树构建多层精细模型组织DEM数据即时可视化,主要包括DEM数据预处理、线性四元树多层精细模型建立、视景体内外判定、渲染生成DEM即时可视化结果,快速修补多层精细模型产生的裂痕,配合OpenGL渲染引擎,添加高程色彩数据,实现高分辨率DEM地形数据的即时可视化。
2.根据权利要求1所述的线性四元树多层模型驱动的DEM即时可视化方法,其特征在于,具体步骤为:
第一步,DEM数据预处理,依次包括DEM源数据读入内存、转储数据、输出二进制文件;
第二步,线性四元树多层精细模型建立,依次包括读入预处理、数据域缓存、计算线性四元树最大深度、构建节点、是否达树深判定、是否有数据判定、计算误差、计算四个子节点;
第三步,视景体内外判定,依次包括计算视景体方程、判定结点是否在视景体内、判定是否细分、结点标记细分、获取子节点;
第四步,渲染生成DEM即时可视化结果,依次包括结点进入OpenGL渲染、添加高程色彩数据、可视化结果输出。
3.根据权利要求1所述的线性四元树多层模型驱动的DEM即时可视化方法,其特征在于:第二步线性四元树多层精细模型建立,在多层精细连续分辨率模型构建过程中,首先对地形进行分割,根据最大层次M建立(2M+1)×(2M+1)大小的DEM影像,然后从中心节点向四个方向依次建立不同层次精细模型,每一个四元树节点除了保存父节点和四个子节点的指针之外,还保存中心节点索引、区域边缘的四个正方形角点索引和相邻角点之间边的中点索引,根节点为中心节点,涵盖整个地形,四个角点是整个地形的最大边界角点,根节点的四个子节点分别代表根节点的四个方向数据,根节点的子节点指向整个正方形地形被平均分成四块之后的区域中心节点,依次递归,直到底层即最精细节点,构建好线性四元树的索引结构后,根据每层地块节点保存的误差大小和视距公式判定是否继续展开节点。
4.根据权利要求3所述的线性四元树多层模型驱动的DEM即时可视化方法,其特征在于,通过构建线性四元树的方式,将多层精细树的数据映射到DEM空间二维的(X,Y)坐标上,通过最精细的底层多层精细数据,经过逻辑运算获得任意一个位置的节点信息以及该节点的四个角点和边点。
5.根据权利要求3所述的线性四元树多层模型驱动的DEM即时可视化方法,其特征在于:在显示不同细节,决定是否展开节点过程中,通过地形起伏决定是否展开细化,预先计算不同大小节点所代表的块中的最大高差作为误差值,保存在节点数据域中,通过视距和节点的关系公式判断是否需要展开节点,同时节点有累计效应,父节点的高差值永远大于等于每一个子节点的高差值,公式如下:
Gmax×C>D
式中,G为节点的最大高差值,D为视点和节点的中心点距离,C为精细常数,当满足上式时,代表节点需要继续展开,否则结束节点的递归;
在对每一个节点进行预处理之后,将节点数据直接保存到本地,在以后的读取过程中直接通过二进制文件读取方式,得到数据直接应用于显示DEM数据中。
6.根据权利要求1所述的线性四元树多层模型驱动的DEM即时可视化方法,其特征在于:第三步视景体内外判定,通过视景体的大小和当前模型的旋转矩阵计算模型实际位置,然后从根节点出发,根据当前节点对应模型大小计算出对应块的包围盒,通过包围盒检测法验证包围盒的所在范围。
7.根据权利要求6所述的线性四元树多层模型驱动的DEM即时可视化方法,其特征在于:包围盒检测法是对于四元树中的一个节点,首先构建节点的最小外接立方体,竖直方向投影是标准的等间隔点,在XY平面上的四个平面点坐标是已知的,通过预处理得到的最大高程和最小高程,构建出一个最小外接立方体,如果最大高程和最小高程相等,只认为构建了一个平面,只计算平面和视景体的空间关系;
构建最小外接立方体后,对最小外接立方体进行OpenGL矩阵操作,通过获取OpenGL的内部视图矩阵,再左乘齐次点坐标(x,y,z,1),计算包围盒每一个经过空间旋转和平移后的点空间坐标,判断包围盒所在的位置是否在视景体内;
判断包围盒是否在视景体内部或者相交的具体方法是:首先确定视景体棱台的各个面的法向量和归一化方程,然后对包围盒的八个顶点逐个计算归一化方程结果,如果八个顶点均在归一化方程的正侧,认为包围盒位于视景体之外,最后剔除视景体外点块。
8.根据权利要求1所述的线性四元树多层模型驱动的DEM即时可视化方法,其特征在于,多层精细模型裂痕修补中,将细分程度较高的相邻块边点和角点对原细分程度较低的相邻块的中心节点进行另外的三角形绘制,在渲染和递归的过程中借助OpenGL的三角形绘制方法直接对三角形进行节点的绘制;
对于每一个要渲染的块区域的四条临边进行临界搜索,首先判断是否在视景体内部,再判断细化精度是否比当前精度要高,如果是,则进行相邻区域的递归搜索,将递归得到的角点同原渲染的中心节点连线,绘制新的三角形;
当渲染某个节点的四个邻接数据块时,直接通过本节点的预处理值通过加减法得到相邻数据域,只需要另外判定是否溢出边界即可。
9.根据权利要求1所述的线性四元树多层模型驱动的DEM即时可视化方法,其特征在于:高程色彩数据的存储管理中,通过色彩索引的方式完成对高程色彩的定义,并不保存每个点的色彩值;
预处理过程中对整个高程数据的最小高程和最大高程提前计算并根据HSB的色调进行映射,得到的高程映射色彩色标后,预先通过转换函数转换成RGB色彩模型,当任意一点需进行渲染时,直接找寻点对应的色彩索引得到具体的RGB高程色彩,不需要另外的空间保存每一个高程点的高程三维色彩,只需要一次索引计算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911184987.6A CN110930509A (zh) | 2019-11-27 | 2019-11-27 | 线性四元树多层模型驱动的dem即时可视化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911184987.6A CN110930509A (zh) | 2019-11-27 | 2019-11-27 | 线性四元树多层模型驱动的dem即时可视化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110930509A true CN110930509A (zh) | 2020-03-27 |
Family
ID=69846654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911184987.6A Withdrawn CN110930509A (zh) | 2019-11-27 | 2019-11-27 | 线性四元树多层模型驱动的dem即时可视化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110930509A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114359500A (zh) * | 2022-03-10 | 2022-04-15 | 西南交通大学 | 一种面向滑坡危险范围预测的三维建模与可视化方法 |
CN115205434A (zh) * | 2022-09-16 | 2022-10-18 | 中汽创智科技有限公司 | 一种点云数据的可视化处理方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101082934A (zh) * | 2007-06-19 | 2007-12-05 | 北京师范大学 | 网络环境下超大规模空间数据的三维可视化方法 |
CN102867331A (zh) * | 2012-08-31 | 2013-01-09 | 电子科技大学 | 面向gpu的大规模地形快速绘制方法 |
-
2019
- 2019-11-27 CN CN201911184987.6A patent/CN110930509A/zh not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101082934A (zh) * | 2007-06-19 | 2007-12-05 | 北京师范大学 | 网络环境下超大规模空间数据的三维可视化方法 |
CN102867331A (zh) * | 2012-08-31 | 2013-01-09 | 电子科技大学 | 面向gpu的大规模地形快速绘制方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114359500A (zh) * | 2022-03-10 | 2022-04-15 | 西南交通大学 | 一种面向滑坡危险范围预测的三维建模与可视化方法 |
CN115205434A (zh) * | 2022-09-16 | 2022-10-18 | 中汽创智科技有限公司 | 一种点云数据的可视化处理方法和装置 |
CN115205434B (zh) * | 2022-09-16 | 2022-12-16 | 中汽创智科技有限公司 | 一种点云数据的可视化处理方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104616345B (zh) | 一种基于八叉树森林压缩的三维体素存取方法 | |
KR100738500B1 (ko) | 영상 기반 돌출 변위 매핑 방법과, 이를 이용한 이중 변위매핑 방법 | |
CN107045733B (zh) | 基于点云数据对变电站gis设备进行建模的方法 | |
CN109118588B (zh) | 一种基于块分解的彩色lod模型自动生成方法 | |
CN107833273B (zh) | 基于三维仿真模型的倾斜摄影三维模型对象化应用方法 | |
KR20100136604A (ko) | 3차원 지형 영상 실시간 가시화 시스템 및 이의 방법 | |
CN104835202A (zh) | 一种三维虚拟场景快速构建方法 | |
JP2003051026A (ja) | 3次元客体およびアニメートされた3次元客体のイメージベースの表現とレンダリング方法 | |
CN113034657B (zh) | 游戏场景中光照信息的渲染方法、装置及设备 | |
CN111784840B (zh) | 基于矢量数据自动分割lod层级三维数据单体化方法及*** | |
CN104318605B (zh) | 矢量实线与三维地形的并行贴合渲染方法 | |
CN114926602B (zh) | 基于三维点云的建筑物单体化方法及*** | |
KR20080018404A (ko) | 게임 제작을 위한 배경 제작 프로그램을 저장한 컴퓨터에서읽을 수 있는 기록매체 | |
CN105205861A (zh) | 基于Sphere-Board的树木三维可视化模型实现方法 | |
CN114004842A (zh) | “分形视距”纹理压缩与彩色多边形纹理集成的三维模型可视化方法 | |
CN111028335A (zh) | 一种基于深度学习的点云数据的分块面片重建方法 | |
Zheng et al. | A morphologically preserved multi-resolution TIN surface modeling and visualization method for virtual globes | |
CN110930509A (zh) | 线性四元树多层模型驱动的dem即时可视化方法 | |
CN116402973A (zh) | 一种基于lod重构的倾斜摄影模型优化方法、*** | |
US10347034B2 (en) | Out-of-core point rendering with dynamic shapes | |
CN113436307B (zh) | 基于osgEarth影像数据到UE4场景的映射算法 | |
CN116385619B (zh) | 对象模型渲染方法、装置、计算机设备和存储介质 | |
CN115409962B (zh) | 虚幻引擎内构建坐标***的方法、电子设备和存储介质 | |
CN113838199B (zh) | 一种三维地形生成方法 | |
Deng et al. | Visualization of vector data on global scale terrain |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200327 |