网站大量收购独家精品文档,联系QQ:2885784924

基于LOD模型可视化实现.docVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于LOD模型可视化实现   [摘要]随着计算机科学、计算机图形学和地理信息系统的迅速发展,三维数字地形图的研究与实现成为人们研究和关注的热点,基于四叉树、八叉树、KD树的LOD模型技术,针对大数据量三维地形图建立不同细节层次的模型和优化其模型算法进行可视化表达又成为要研究关键技术。   [关键词]LOD模型 四叉树 八叉树 KD树 三维地形 可视化   [中图分类号] P217 [文献码] B [文章编号] 1000-405X(2014)-6-115-2   1引言   随着现代科学技术的迅猛发展,传统的二维地形图已远远地落后于人们对现实世界的认知需要,也满足不了现代经济建设与国防建设的要求。人们需要的是高精度的、信息丰富的三维数字地形图。在三维数字地形图可视化过程中,利用基于四叉树、八叉树、KD树形成的LOD细节层次技术是非常必要的,本文主要研究的是LOD模型对可视化表达的优化。   所谓的LOD建模,其实质就是采用一定的算法思想将原有的网格地形数据进行重组,得到一种更加便于实时绘制使用的数据结构。使用LOD模型实现简化的基本原理是:物体绘制前,根据不同的控制误差δi提前生成若干个不同分辨率的简化模型,即金字塔模型,在绘制时,根据物体距离视点的位置d,用户允许的屏幕误差ρ计算实际物体的最大允许误差δmax,即:   然后在多个简化模型中选择δi=δmax且与δmax最相近的简化模型。当视点位置变化时重新计算δmax并选择相应的简化模型进行绘制。模型简化的两个准则:一是顶点最少,二是误差最小。   2四叉树LOD模型   树形结构一般都会存在着一个突出的问题就是:相邻树形结构的层次差别太大时,就会产生裂缝;另外一个问题就是:生成的模型面结构或者线结构比较多且复杂,地图渲染和显示速度比较慢。四叉树LOD模型主要解决便是以上两个突出问题。   基于四叉树的LOD算法以四叉树为基础通过递归分割生成层次化的连续地形网格,以此为基础生成地表。在三维仿真系统中,对地形的视觉效果产生影响的主要因素是地表上点到视点的距离和地表的起伏程度。对于地表仿真来说,越是靠近视点的节点细分层次越深,而越是远离视点的节点细分层次越浅。在离视点距离相同的情况下,在地形起伏较大的地方,需要细化节点层次;反之,在地形平坦的地方,较粗的网格就可以将地形描绘出来。   在基于LOD的地形生成算法中,裂缝问题往往是不可避免的,Geomipmapping算法也是如此。在该算法中,当两个相邻块的细节层次级别不一致时,就会产生裂缝,这是由于其相接处的边界上顶点的不完全一致造成。解决裂缝问题的方法通常有两种:一种方法是在较少细节块的相应位置上增加一个顶点,;另一种方法是在较多细节的块上将引起裂缝的顶点删除。相比较而言,第二种方法实现起来更加简单有效。   3八叉树LOD模型   八叉树同样也存在四叉树的两个问题,但是也不能得到很好的解决,本文只是在原有传统八叉树的基础上进一步优化。本文将LOD技术和八叉树相结合,提出了深度八叉树的概念,应用于大规模三维数据体快速体绘制中。为了与深度八叉树相区别,本文将传统的八叉树方法称为广度八叉树。   3.1广度八叉树与深度八叉树   广度八叉树的逻辑结构:令U是一个可以存储某长方体的空间且大小一定,其值为s;V为一个要表示三维数据体,其长、宽、高分别为m,n,k,它的八叉树逻辑结构可以用如下的递归方法来定义:设函数f表示一个体数据所需的空间大小,如果f(V)≤s,那么V的八叉树仅有树根,如果f(V)s,则将V等分为八个子体Vi(i=0,1,2,3,4,5,6,7),只要f(Vi)s,就要被8等分,从而对应的节点也就有了8个子节点,这样地递归判断、分割一直要进行到节点所对应的子体f(Vi)≤s。图1是一个深度为3的广度八叉树。内存和磁盘是海量数据处理需要重点考虑的两个层次,八叉树存放于内存,而节点对应的文件存放于外存。用广度八叉树来实现大规模数据场的存储,可以看成是四叉树方法在三维空间的推广,也可以认为是用三维体素阵列表示形体方法的一种改进。   深度八叉树与广度八叉树最主要的区别是:广度八叉树只有叶子节点对应一个磁盘文件,而深度八叉树每个节点都对应一个磁盘文件。深度八叉树将体数据分割成若干小体,每一次分割,都是将每一个子体分成8个等份。分割完成后所得到的八叉树的每一个节点对应一个磁盘中的文件,且文件大小相同。   从叶子节点开始,每个节点对应的磁盘文件所存储的数据如下:   (1)叶子节点对应的文件与广度八叉树的完全相同。   (2)每个叶子节点的父节点对应的文件都是由其子节点按X,Y,Z三个方向进行2-抽稀(即每间隔一个点取值)后合并生成,每个子节点经过2-抽稀后大小是原来叶子节点文件大小的1/

文档评论(0)

小马过河 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档