CN101727681A - 一种基于金字塔模型的海量地形绘制网格裂缝消除算法 - Google Patents

一种基于金字塔模型的海量地形绘制网格裂缝消除算法 Download PDF

Info

Publication number
CN101727681A
CN101727681A CN200810202007A CN200810202007A CN101727681A CN 101727681 A CN101727681 A CN 101727681A CN 200810202007 A CN200810202007 A CN 200810202007A CN 200810202007 A CN200810202007 A CN 200810202007A CN 101727681 A CN101727681 A CN 101727681A
Authority
CN
China
Prior art keywords
grid
node
crack
pyramid model
elimination algorithm
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.)
Pending
Application number
CN200810202007A
Other languages
English (en)
Inventor
陈戈
马纯永
李文
刘寿生
陈勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
IMMERSION ENVIRONMENT (SHANGHAI) CO Ltd
Original Assignee
IMMERSION ENVIRONMENT (SHANGHAI) CO Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by IMMERSION ENVIRONMENT (SHANGHAI) CO Ltd filed Critical IMMERSION ENVIRONMENT (SHANGHAI) CO Ltd
Priority to CN200810202007A priority Critical patent/CN101727681A/zh
Publication of CN101727681A publication Critical patent/CN101727681A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

本发明属于虚拟现实技术和计算机图形领域,具体涉及一种基于多分辨金字塔模型绘制海量地形的网格裂缝消除算法。该发明利用分裂标记表,结合金字塔模型本身分块与多分辨率的特性,从整体上建立相邻节点的约束关系,控制相邻节点的深度差不超过1,进而消除网格裂缝。该算法在保证绘制效率的基础上,保持了地形网格的规则特性,有效地解决了基于金字塔模型的海量地形绘制所产生的网格裂缝问题。

Description

一种基于金字塔模型的海量地形绘制网格裂缝消除算法
技术领域
本发明属于虚拟现实技术和计算机图形领域,具体涉及一种基于多分辨金字塔模型绘制海量地形的网格裂缝消除算法。
背景技术
大规模地形绘制是虚拟城市的重要组成部分,利用数字高程模型(DEM)结合高清晰卫星或航拍图生成三维虚拟地形是现在比较常用的实现方式。然而对于海量地形,由于硬件限制,不能将所有的数据一起导入内存进行实时绘制,因此需要采用合理的地形数据组织方式和有效的加速算法。采用多分辨的金字塔模型[1]来组织地形,被证明是一种合理有效的实现方法。
采用金字塔模型(multi-resolution hierarchy)来绘制地形,需要把地形的网格数据分为很多块,然后根据视点的位置选择合适的数据进行拼合。渲染时,不可避免的会因为块内或块间相邻节点的分辨率不同而产生大量的网格裂缝,影响仿真效果。
针对网格裂缝问题,目前已有多种解决办法:(1)限制四叉树法[2];(2)有向无环图(directed acyclicgraphic,DAG)法[3];(3)垂直边缘填充方法[4]。其中,限制四叉树法是在构造四叉树的过程中给每个顶点设立约束关系,从而在绘制每个树节点时依据约束关系来激活相应的顶点,该约束关系保证相邻节点之间级数差不超过1。但该方法适用于单块地形的绘制,并不适用于地块的动态拼合;基于ROAM算法,依据顶点引入次序地有向无环图中的依赖关系来消除裂缝,可以拼合许多地形块。但是,该方法无法解决不同分辨率下的地形块间的拼合问题;而垂直边缘填充方法,则易造成接缝处陡峭的现象。
【参考文献】
[1]DU Ying,WU Yu-guo,WANG Xiao-ming,YOU Xiong.Research on Pyramid Model for GlobalMulti-resolutionVirtual Terrain Environment[J].Journal of System Simulation,2006,18(4):955-958.[杜莹,玉国,王晓明,游雄.全球多分辨率虚拟地形环境的金字塔模型研究[J].系统仿真学,2006,18(4):955-958.]
[2]YIN Hong,XU Ji-heng,ZHOU Liang-wei,LIU Shi-bing,HUANG Da-jie.Technology of ProgressiveMeshes for Large Scale Terrain Based on Restricted Quadtree[J].Application Research of Computers,2006,5:151-153.[殷宏,许继恒,周良伟,刘世彬,黄大节.基于限制四叉树的大规模地形可视化及其实现[J].计算机应用研究,2006,5:151-153.]
[3]Yin Yuan,Chen Guojun,Wu Wei.An Algorithm of Avoiding Crack for Rendering Parting Terrain[J].Journalof Computer-aided Design and Computer Graphics,2006,18(10):1557-1562.[殷媛,陈国军,吴威.地形分块绘制中的边界裂缝处理算法[J].计算机辅助设计与图形学学报,2006,18(10):1557-1562.]
[4]Ulrich T.Rendering massive terrains using chunked level of detail control[C].Computer GraphicsProceedings,Annual Conference Series,ACM SIGGRAPH,San Antonio,Texas,2002:Course Notes#35.
发明内容
针对金字塔模型中的裂缝问题,本发明提出了一种简便、实用的算法,即基于金字塔模型的海量地形绘制网格裂缝消除算法。该算法利用分裂标记表建立节点之间的约束关系,保证地理相邻子节点的深度差不超过1,在此基础上消除网格裂缝。实验结果表明,该算法在保证绘制效率的基础上,保持了地形网格的规则特性,有效地解决了基于金字塔模型的海量地形绘制所产生的网格裂缝问题。
本发明的技术方案,基于金字塔模型的海量地形绘制网格裂缝消除算法,包括如下基本步骤:
1)建立分裂标记表;
2)建立相邻节点的约束关系;
3)控制相邻节点的深度差不超过1,进行绘制。
本发明的有益效果在于:通过使用该算法,能够较好地解决海量地形绘制过程中产生的裂缝问题,在保持较高的绘制效率的基础上,显著地提高了地形的绘制效果。
附图说明
图1地块调度
图2消除裂缝
图3最大深度差为2
图4分裂标记调整流程图
图5最大深度差为1
图6相邻子节点寻找算法
图7光滑阴影图
图8渲染效果图
图9网格数与帧速的对比
具体实施方式
下面结合说明书附图给出本发明的具体实施方式。
1基于金字塔模型的海量地形绘制
1.1金字塔模型
金字塔模型是一种多分辨率层次模型,其组织的地形网格数一般满足(2n+1)*(2n+1)。在构建金字塔时采用倍率方法构建,地形网格数据与影像数据形成多个分辨率层次,但表示的范围不变。地形绘制时,无需进行实时重采样,直接动态选择不同分辨率的数字高程模型数据和纹理影像数据。
1.2基于外存(out-of-core)的地形组织过程
金字塔模型由四叉树索引数据。该发明中将此索引金字塔的四叉树称为主干四叉树。主干四叉树中的每个节点所对应的地形面积可能不同,但网格数一致。为了更好的实现动态LOD,每个地块节点的数据再用四叉树组织起来。以下将该四叉树称为子四叉树。
基于外存(out-of-core)的地形组织过程中,用一个线程索引主干四叉树,依据视点位置预先载入一组地块数据。如图1所示,粗线以内表示预读数据范围,细线以内表示视景体的张角范围。绘制每一帧时,根据视点位置,找到需要绘制的地形块,然后根据各地形块的子四叉树找到需要绘制的网格,实现动态LOD,提高绘制速度。
1.3金字塔模型中的网格裂缝问题
定义1:每帧渲染中,块内或块间地理位置相邻的两子四叉树节点称为地理相邻子节点。地理相邻子节点对应网格的分辨率的倍率可用节点深度差来表示,比如两地理相邻子节点的分辨率倍率为22,则称节点深度差为2。
裂缝产生的根本原因是采用动态LOD渲染地形时,自适应选择主干四叉树与子四叉树的节点,造成地理相邻子节点深度不同。裂缝的产生可分为以下两种情况:
(1)渲染某一地块时,动态选择该块地形的子四叉树,不能保证地理相邻子节点的深度相同,造成地块内网格裂缝。
(2)动态拼合地形时,在拼合处会产生裂缝。
与其他数据组织方式相比,金字塔模型存在一个特有的网格裂缝问题,即由不同分辨率的两地形数据块拼合所导致的裂缝。
2利用分裂标记表消除网格裂缝
分裂标记表即一组分裂标记的集合。地形中的每个顶点对应表中唯一的分裂标记,每个分裂标记设定三个状态:初始状态、分裂状态、绘制状态。
利用分裂标记表从整体上建立块内或块间各节点的约束关系,不仅可以消除块内的网格裂缝,而且可以方便的解决地块拼合时所产生的块与块之间的网格裂缝。
其主要思想是保证在渲染过程中地理相邻子节点的深度差不超过1。首先控制相邻地块在主干四叉树中的深度差不超过1,而后控制块内的深度差不超过1,从而消除网格裂缝。
渲染子四叉树节点时,采用GL_TRIANGLE_FAN的绘制方式。当地理相邻子节点的深度差为1时,通过加线的方法来消除裂缝。如图2中的粗线所示。
2.1分裂标记的调整过程
当相邻地块在主干四叉树中的深度差超过1时,首先将最大深度差调整为1。2.3中讲述了具体的实现方法。当相邻地块在主干四叉树中的深度差不超过1时,各节点分裂标记的调整过程可以分为以下三个步骤:
(1)初始化。将表中的分裂标记置为初始状态;
(2)在需要渲染的子四叉树中,根据分裂判定函数来确定该节点是否需要分裂。如果需要分裂,将节点的中心点所对应的分裂标记置为分裂状态,如果需要绘制将其置为绘制状态;
(3)遍历子四叉树,调整分裂标记保证地理相邻子节点的深度差不超过1。
如图3所示:(1)节点将会绘制,其中心顶点对应的分裂标记置为绘制状态,同样(2)节点的中心顶点对应的分裂标记也为绘制状态,其父节点对应的中心顶点,及其祖父节点对应的中心顶点的分裂标记都应为分裂状态。从下往上的递归遍历过程中,所有深度差大于1的地理相邻子节点,都可以通过递归转化为深度差为2的情况。在遍历过程中对每个遍历到的节点都要做出图4所示的调整。
经过以上处理,保证地理相邻子节点的最大深度差不超过1,最终状态如图5所示。
2.2通过分裂标记消除裂缝
调整好分裂标记以后,地理相邻子节点的最大深度差不超过1。如图2所示,可加线来消除裂缝。构造该类连线时,两地理相邻子节点可能位于主干四叉树不同深度的两块地形中。对于粗线所处地块因分辨率过低而不存在边界端点数据的情况,需在高分辨率的相邻地块中找到对应的顶点。
如图2所示,若需要添加连线(1),而该连线的边界端点的数据未保存在该块地形的地形数据中,则需要查找右边更高分辨率的对应的顶点。假设该块地形对应主干四叉树的节点为第L层,第i行,第j列,该节点对应子四叉树的中心点坐标为(cx,cy),其中cx表示行数,cy表示列数。在做连线(1)时,对应的地理相邻子节点的寻找算法如图6所示。
2.3调整相邻地块的深度差
在主干四叉树中选择节点时,判定规则为(1/d<C)。其中1为节点的中心位置到视点的距离,d为节点的大小,C为一个可以调节的因子,C越大,地形细节越多,反之则细节越少。当满足该规则时,该节点需要继续分割。
经过以上选择基本保证在远处选择低分辨率的节点,近处选择高分辨率的节点。然后借鉴以上做法,为主干四叉树配置一个分裂标记表,并通过相同的调整方法来使相邻的节点的深度不超过1。
至此,完成了基于金字塔模型的海量地形绘制网格裂缝消除算法。
3实验结果
实验采用Intel P IV 3.0GHz,ATI X550显卡,1.00GB RAM的PC机。操作系统是Windows XP,开发软件是VC 6.0和OpenGL。实验使用的原始数据是四川省乐山市乐山大佛风景区16平方公里的DEM数据。网格数为2049*2049。金字塔主干四叉树中每个节点的网格数为65*65。图7为裂缝消除前后的光滑阴影图对比,图8为消除裂缝以后整个地形的网格与面片的渲染效果。
图9中列出了不同视点消除裂缝前后的网格数与帧速。从表中数据可以得出:采用分裂标记表来消除裂缝时增加的三角面片数并不多,对绘制速度的影响也不大。

Claims (2)

1.基于金字塔模型的海量地形绘制网格裂缝消除算法,是利用分裂标记表从整体上建立块内或块间各节点的约束关系,从而不仅可消除块内的网格裂缝,且可方便的解决地块拼合时所产生的块与块之间的网格裂缝。具体包括以下基本步骤:
1)建立分裂标记表;
2)建立相邻节点的约束关系;
3)控制相邻节点的深度差不超过1,进行绘制。
2.根据权利要求1所述的基于金字塔模型的海量地形绘制网格裂缝消除算法,其特征在于:利用分裂标记表建立节点之间的约束关系,保证地理相邻子节点的深度差不超过1,即首先控制相邻地块在主干四叉树中的深度差不超过1,而后控制块内的深度差不超过1,在此基础上消除网格裂缝。
CN200810202007A 2008-10-30 2008-10-30 一种基于金字塔模型的海量地形绘制网格裂缝消除算法 Pending CN101727681A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200810202007A CN101727681A (zh) 2008-10-30 2008-10-30 一种基于金字塔模型的海量地形绘制网格裂缝消除算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200810202007A CN101727681A (zh) 2008-10-30 2008-10-30 一种基于金字塔模型的海量地形绘制网格裂缝消除算法

Publications (1)

Publication Number Publication Date
CN101727681A true CN101727681A (zh) 2010-06-09

Family

ID=42448532

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810202007A Pending CN101727681A (zh) 2008-10-30 2008-10-30 一种基于金字塔模型的海量地形绘制网格裂缝消除算法

Country Status (1)

Country Link
CN (1) CN101727681A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106408636A (zh) * 2016-08-25 2017-02-15 浙江科澜信息技术有限公司 一种地形绘制瓦片裂缝消除算法
CN108053475A (zh) * 2018-02-09 2018-05-18 城市生活(北京)资讯有限公司 一种三维地形显示方法及装置
CN108198143A (zh) * 2017-12-28 2018-06-22 中国测绘科学研究院 一种去LoD层级约束的三维地形裂缝消除方法
CN108717729A (zh) * 2018-05-25 2018-10-30 武汉大学 一种面向虚拟地球的地形多尺度tin在线可视化方法
CN109636889A (zh) * 2018-11-19 2019-04-16 南京大学 一种基于动态缝合带的大规模三维地形模型渲染方法
CN111210515A (zh) * 2019-12-30 2020-05-29 成都赫尔墨斯科技股份有限公司 一种基于地形实时渲染的机载合成视觉系统

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106408636A (zh) * 2016-08-25 2017-02-15 浙江科澜信息技术有限公司 一种地形绘制瓦片裂缝消除算法
CN106408636B (zh) * 2016-08-25 2019-03-29 浙江科澜信息技术有限公司 一种地形绘制瓦片裂缝消除方法
CN108198143A (zh) * 2017-12-28 2018-06-22 中国测绘科学研究院 一种去LoD层级约束的三维地形裂缝消除方法
CN108198143B (zh) * 2017-12-28 2021-08-27 中国测绘科学研究院 一种去LoD层级约束的三维地形裂缝消除方法
CN108053475A (zh) * 2018-02-09 2018-05-18 城市生活(北京)资讯有限公司 一种三维地形显示方法及装置
CN108717729A (zh) * 2018-05-25 2018-10-30 武汉大学 一种面向虚拟地球的地形多尺度tin在线可视化方法
CN109636889A (zh) * 2018-11-19 2019-04-16 南京大学 一种基于动态缝合带的大规模三维地形模型渲染方法
CN109636889B (zh) * 2018-11-19 2020-09-08 南京大学 一种基于动态缝合带的大规模三维地形模型渲染方法
CN111210515A (zh) * 2019-12-30 2020-05-29 成都赫尔墨斯科技股份有限公司 一种基于地形实时渲染的机载合成视觉系统

Similar Documents

Publication Publication Date Title
CN100468461C (zh) 逼真三维地形几何模型的实时绘制方法
CN102750725B (zh) 基于图形处理器加速的地形渲染方法
CN104778744B (zh) 基于Lidar数据的大规模三维森林可视化场景建立方法
CN101241603B (zh) 一种电磁场强度实时可视化方法
CN101261743B (zh) 一种基于规则网格的大规模地形漫游模拟方法
CN102117500B (zh) 一种三维模型构建方法及系统
CN102737097A (zh) 基于lod透明纹理的三维矢量实时动态叠加技术
CN102930594B (zh) 基于保持边界的计算机三维地形网格的绘制方法
CN101727681A (zh) 一种基于金字塔模型的海量地形绘制网格裂缝消除算法
CN102074049A (zh) 基于运动视点的大范围地形调度简化方法
CN105718481B (zh) 一种海量地形数据组织发布方法
CN106251400B (zh) 一种基于多四边形网格构建地形图的方法及装置
CA2834575A1 (en) Method of rendering a terrain stored in a massive database
CN111932668B (zh) 一种城市景观模型三维可视化方法、系统、介质和电子设备
CN101593361A (zh) 一种基于双层嵌套网格的大规模地形绘制系统
CN101702245A (zh) 一种可扩展通用三维地景仿真系统
CN102651141A (zh) 一种大场景中矢量地图与高分辨率数字高程模型自动叠加渲染的方法
CN105205861A (zh) 基于Sphere-Board的树木三维可视化模型实现方法
CN103744999A (zh) 基于层次划分存储结构的空间矢量数据在线交互制图方法
CN114820990B (zh) 一种基于数字孪生的流域防洪可视化方法及系统
CN102117494A (zh) 一种三维建模中的数据分层分块方法及装置
CN103714213A (zh) 一种复杂地理信息的并行绘制方法
CN109636889A (zh) 一种基于动态缝合带的大规模三维地形模型渲染方法
CN110400366B (zh) 一种基于OpenGL的实时洪水灾害可视化仿真方法
CN106846474A (zh) 基于时序特征和粒子系统的WebGIS时空过程模拟方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent for invention or patent application
CB02 Change of applicant information

Address after: 201203 Shanghai city Zuchongzhi road Zhangjiang hi tech Park No. 1559 building 3 floor 3003-3005 room 2

Applicant after: Shanghai science and Technology Co., Ltd. creative nature

Address before: 201203 Shanghai city Zuchongzhi road Zhangjiang hi tech Park No. 1559 building 3 floor 3003-3005 room 2

Applicant before: Immersion Environment (Shanghai) Co., Ltd.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: IMMERSION ENVIRONMENT (SHANGHAI) CO., LTD. TO: SHANGHAI IMMERSION ENVIRONMENT CO., LTD.

DD01 Delivery of document by public notice

Addressee: Shanghai science and Technology Co., Ltd. creative nature

Document name: Notification that Application Deemed to be Withdrawn

C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20100609