一种分块数据建模方法及装置的制作方法

文档序号:6585498阅读:192来源:国知局
专利名称:一种分块数据建模方法及装置的制作方法
技术领域
本发明涉及三维建模技术领域,特别是涉及一种分块数据建模方法及装置。
背景技术
三维建模从过程上来讲,是在空间建立立体模型的一种方法;从结果上来讲,简单 的说就是建立的模型具有空间感并能看到上下前后左右。其中,“维”是几何学及空间理论 的基本概念。在三维建模过程中,一种建模方式是对三维空间的数据进行分层分块处理,建 立分层分块的模型结构,即根据分辨率在Z坐标轴方向将数据分层,每一层的数据再进行 分块。这样,三维建模以数据块为基本单位,然后将数据块拼接起来,就构成了一个完整的 三维模型。参照图1,是现有技术中一种分层分块的金字塔结构示意图。本实施例采用的是2倍率金字塔分层结构,从金字塔的底层(即图中的第0层) 到高层(即图中的第2层)其分辨率越来越高,而分的块数也越来越多。假设底层分辨率 为A,则任意i层的分辨率为ri = i^f1。这样,对于特别是电视输出这种恒定显示精度的 要求来说,使用金字塔模型可以使数据的访问量保持在一个比较小和恒定的范围。针对上述分层分块的三维模型结构,最核心的处理是如何对数据块建立三维模 型,然后把数据块拼接起来,就构成了整个模型。目前对于数据块的建模有多种处理方式, 但算法都比较复杂,建模速度都较慢。因此,目前需要解决的问题是如何快速对分块数据建立三维模型。

发明内容
本发明所要解决的技术问题是提供一种分块数据建模方法及装置,能够快速建立 模型。为了解决上述问题,本发明公开了一种分块数据建模方法,包括获取分块的高程数据;判断所述高程数据是否符合建模要求;如果符合,则利用所述高程数据进行三维建模;将纹理数据和定制数据映射到三维模型上。其中,判断所述高程数据是否符合建模要求包括判断所述高程数据是否为可见区域;如果是,则判断是否与目标显示区域交叠;如果交叠,则继续判断高程数据的分辨率是否符合显示分辨率要求,如果符合,则 符合建模要求。其中,判断所述高程数据是否为可见区域包括通过数据块法线方向判断该高程数据属于显示的正面还是反面,如果是正面,则 为可见区域。
其中,判断是否与目标显示区域交叠包括将数据块的包围盒对显示平面进行投影;如果最终组成的投影多边形有一个顶点在目标显示区域内,则所述高程数据与目 标显示区域交叠。优选的,将纹理数据和定制数据映射到三维模型上包括先将纹理数据映射到三维模型上;然后建立空白纹理,将定制数据绘制到所述空白纹理上,并映射到所述纹理数据 上。优选的,利用所述高程数据进行三维建模之前,还包括判断缓存中是否存在所述分块高程数据的模型,如果存在,则直接读取;如果不存 在,再利用所述高程数据进行三维建模,并保存到所述缓存。本发明还提供了一种分块数据建模方法,包括数据获取模块,用于获取分块的高程数据;建模检测模块,用于判断所述高程数据是否符合建模要求;三维建模模块,用于当所述高程数据符合建模要求时,利用所述高程数据进行三 维建模;映射模块,用于将纹理数据和定制数据映射到三维模型上。其中,所述建模检测模块包括可见性判断单元,用于判断所述高程数据是否为可见区域;交叠判断单元,用于当高程数据为可见区域时,判断是否与目标显示区域交叠;分辨率判断单元,用于当交叠时,继续判断高程数据的分辨率是否符合显示分辨 率要求,如果符合,则符合建模要求。其中,所述映射模块包括纹理映射单元,用于先将纹理数据映射到三维模型上;定制数据映射单元,用于建立空白纹理,将定制数据绘制到所述空白纹理上,并映 射到所述纹理数据上。优选的,所述装置还包括缓存模块,用于缓存分块高程数据的模型;则所述三维建模模块判断缓存中是否存在所述分块高程数据的模型,如果存在, 则直接读取;如果不存在,再利用所述高程数据进行三维建模,并保存到所述缓存。与现有技术相比,本发明具有以下优点首先,本发明实现了一种快速对分块数据进行建模的方法,通过可见性判断和交 叠判断,可以将显示在背面以及显示在窗口之外的数据块舍弃,只对需要显示的数据块进 行建模,从而减少了建模过程的数据量,降低了算法的复杂度,节约了建模时间。其次,为了加快显示效率,还设置了缓存,用于将曾经建立的数据块模型进行保 存,当下次使用时,不再需要经过数据读取、建模、纹理映射等一系列过程。再次,航拍图像或者其他的地形地貌图像作为纹理先映射到高程数据模型上,而 对于河流、国家边界、区域着色等临时改变或后期产生的用户定制数据,会使用绘制的方 式画上去。绘制的方式是建立一个空白的纹理图像,然后将这个纹理图像作为一个待绘制的画布,将需要绘制的数据通过坐标转换到画布空间,再使用⑶I+(GraphicS Device hterface,图形设备接口)的方式在画布上绘制河流、边界等需要绘制的信息,最后将绘 制完成的画布更新到映射纹理上。这样,就不需要改变原来的纹理数据,纹理数据和定制数 据可以作为两个层次分别映射到高程数据上,定制数据的修改不会破坏原来的纹理数据。


图1是现有技术中一种分层分块的金字塔结构示意图;图2是本发明实施例一所述一种分块数据建模方法的流程图;图3是本发明实施例中进行三角面片构建形成的瓦片状模型示意图;图4是本发明实施例二所述一种分块数据建模方法的流程图;图5是本发明实施例三所述一种分块数据建模装置的结构图。
具体实施例方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实 施方式对本发明作进一步详细的说明。实施例一参照图2,是本发明实施例一所述一种分块数据建模方法的流程图。对于分层分块的三维模型,对每个数据块的建模过程如下步骤201,获取分块的高程数据;在数据建模的过程中会使用到两种数据块,一种是高程数据块来进行建模,另一 种是纹理数据块来进行纹理贴图美化其显示效果。他们分块的范围和方案都是完全对应 的,只是由于显示效果主要是由纹理来表示,而高度建模只是为了将地貌的高度起伏变化 呈现出来。为了减少建模数据而减少建模时间,但同时叉不影响显示效果,在分块的时候高 程数据块的数据大小比相应的纹理块要小。步骤202,判断所述高程数据是否符合建模要求;如果符合,继续步骤203 ;如果不符合,则结束当前数据块的建模过程。所述建模要求包括三方面可见性要求、交叠要求和分辨率要求,具体判断方式如 下第一步,判断所述高程数据是否为可见区域;通过数据块法线方向判断它属于显示的正面还是反面,如果是反面则说明是被遮 挡住的,不会进行显示;如果是正面则说明可能显示,为可见区域,继续第二步。第二步,判断是否与目标显示区域交叠;将可见区域数据块的包围盒对显示平面进行投影,最终组成投影多边形,如果投 影多边形有一个顶点在显示范围内,就说明其与目标显示区域交叠,继续第三步;如果不交 叠,则当前数据块不用于建模使用。第三步,继续判断高程数据的分辨率是否符合显示分辨率要求,如果符合,则符合 建模要求。将数据块分辨率与显示分辨率进行比较,当数据块分辨率大于等于显示分辨率 时,判断为符合显示分辨率要求。
步骤203,如果符合,则利用所述高程数据进行三维建模;三维建模的方式有多种,本实施例采用三角面片构建一个瓦片状区域的模型,可 参照图3所示。步骤204,将纹理数据和定制数据映射到三维模型上。纹理数据如航拍图像或者其他的地形地貌图像,定制数据是用户需求的信息,如 河流、国家边界、区域着色等临时改变或后期产生的数据。现有技术中,纹理数据和定制数据是混合在一起,通过一个层次映射到高程数据 上的,由于定制数据是根据不同用户的需求经常修改,因此需要重新绘制纹理数据和定制 数据并混合到一起,非常麻烦。本实施例采用了一种简化的方式,首先将纹理数据映射到三维模型上,然后建立 空白纹理,将定制数据绘制到所述空白纹理上,并映射到所述纹理数据上。即纹理数据和定 制数据分别作为两层数据映射到高程数据上,定制数据的任何修改都不会影响纹理数据, 因此修改十分方便。综上所述,本实施例实现了一种快速对分块数据进行建模的方法,通过可见性判 断和交叠判断,可以将显示在背面以及显示在窗口之外的数据块舍弃,只对需要显示的数 据块进行建模,从而减少了建模过程的数据量,降低了算法的复杂度,节约了建模时间。实施例二 本实施例是优选实施例,在实施例一的基础上,为了加快显示效率,还设置了缓 存,用于将曾经建立的数据块模型进行保存,当下次使用时,不再需要经过数据读取、建模、 纹理映射等一系列过程。参照图4,是本发明实施例二所述一种分块数据建模方法的流程图。步骤401,获取分块的高程数据;步骤402,将所述块数据放入检测链表1 ;步骤403,对检测链表1中的块数据进行可见性判断;通过数据块法线方向判断它属于显示的正面还是反面,如果是反面则说明是被遮 挡住的,不会进行显示,舍弃;如果是正面则说明可能显示,为可见区域,继续步骤404。步骤404,对通过可见性判断的块数据进行交叠判断;将可见区域数据块的包围盒对显示平面进行投影,最终组成投影多边形,如果投 影多边形有一个顶点在显示范围内,就说明其与目标显示区域交叠,继续步骤405;如果不 交叠,则舍弃当前数据块。步骤405,将通过交叠判断的块数据放入检测链表2 ;步骤406,对检测链表2中的块数据进行分辨率判断;将数据块分辨率与显示分辨率进行比较,当数据块分辨率大于等于显示分辨率 时,判断为符合显示分辨率要求,继续步骤407 ;否则,舍弃当前块。步骤407,将通过分辨率判断的块数据放入绘制链表;步骤408,进行缓存判断;如果缓存中存有对应所述块数据的模型,则直接从缓存读取,并继续步骤410 ;否 则,继续步骤409 ;步骤409,对块数据进行三维建模;
步骤410,获取对应的纹理数据,并映射到建立好的模型上;步骤411,建立一个对应于最大可见范围的空白纹理;步骤412,在空白纹理上绘制国界、河流等用户需求的信息;步骤413,将绘制好的纹理对应块数据进行分割,然后映射到模型的纹理数据之 上。实施例三参照图5,是本发明实施例三所述一种分块数据建模装置的结构图。所述装置主要包括数据获取模块51,用于获取分块的高程数据;建模检测模块52,用于判断所述高程数据是否符合建模要求;三维建模模块53,用于当所述高程数据符合建模要求时,利用所述高程数据进行 三维建模;映射模块M,用于将纹理数据和定制数据映射到三维模型上。其中,所述建模检测模块52可以包括可见性判断单元,用于判断所述高程数据是否为可见区域;交叠判断单元,用于当高程数据为可见区域时,判断是否与目标显示区域交叠;分辨率判断单元,用于当交叠时,继续判断高程数据的分辨率是否符合显示分辨 率要求,如果符合,则符合建模要求。所述映射模块M可以包括纹理映射单元,用于先将纹理数据映射到三维模型上;定制数据映射单元,用于建立空白纹理,将定制数据绘制到所述空白纹理上,并映 射到所述纹理数据上。优选的,所述装置还可以包括缓存模块55,用于缓存分块高程数据的模型;则所述三维建模模块53判断缓存中是否存在所述分块高程数据的模型,如果存 在,则直接读取;如果不存在,再利用所述高程数据进行三维建模,并保存到所述缓存。综上所述,所述装置通过可见性判断和交叠判断,可以将显示在背面以及显示在 窗口之外的数据块舍弃,只对需要显示的数据块进行建模,从而减少了建模过程的数据量, 降低了算法的复杂度,节约了建模时间。其次,为了加快显示效率,还设置了缓存,用于将曾经建立的数据块模型进行保 存,当下次使用时,不再需要经过数据读取、建模、纹理映射等一系列过程。再次,航拍图像或者其他的地形地貌图像作为纹理先映射到高程数据模型上,而 对于河流、国家边界、区域着色等临时改变或后期产生的用户定制数据,会使用绘制的方式 画上去。绘制的方式是建立一个空白的纹理图像,然后将这个纹理图像作为一个待绘制的 画布,将需要绘制的数据通过坐标转换到画布空间,再使用GDI+的方式在画布上绘制河 流、边界等需要绘制的信息,最后将绘制完成的画布更新到映射纹理上。这样,就不需要改 变原来的纹理数据,纹理数据和定制数据可以作为两个层次分别映射到高程数据上,定制 数据的修改不会破坏原来的纹理数据。本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例 而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部 分说明即可。 以上对本发明所提供的一种分块数据建模方法及装置,进行了详细介绍,本文中 应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助 理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想, 在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本 发明的限制。
权利要求
1.一种分块数据建模方法,其特征在于,包括 获取分块的高程数据;判断所述高程数据是否符合建模要求; 如果符合,则利用所述高程数据进行三维建模; 将纹理数据和定制数据映射到三维模型上。
2.根据权利要求1所述的方法,其特征在于,判断所述高程数据是否符合建模要求包括判断所述高程数据是否为可见区域; 如果是,则判断是否与目标显示区域交叠;如果交叠,则继续判断高程数据的分辨率是否符合显示分辨率要求,如果符合,则符合 建模要求。
3.根据权利要求2所述的方法,其特征在于,判断所述高程数据是否为可见区域包括 通过数据块法线方向判断该高程数据属于显示的正面还是反面,如果是正面,则为可见区域。
4.根据权利要求2所述的方法,其特征在于,判断是否与目标显示区域交叠包括 将数据块的包围盒对显示平面进行投影;如果最终组成的投影多边形有一个顶点在目标显示区域内,则所述高程数据与目标显 示区域交叠。
5.根据权利要求1所述的方法,其特征在于,将纹理数据和定制数据映射到三维模型 上包括先将纹理数据映射到三维模型上;然后建立空白纹理,将定制数据绘制到所述空白纹理上,并映射到所述纹理数据上。
6.根据权利要求1所述的方法,其特征在于,利用所述高程数据进行三维建模之前,还 包括判断缓存中是否存在所述分块高程数据的模型,如果存在,则直接读取;如果不存在, 再利用所述高程数据进行三维建模,并保存到所述缓存。
7.一种分块数据建模方法,其特征在于,包括 数据获取模块,用于获取分块的高程数据;建模检测模块,用于判断所述高程数据是否符合建模要求;三维建模模块,用于当所述高程数据符合建模要求时,利用所述高程数据进行三维建模;映射模块,用于将纹理数据和定制数据映射到三维模型上。
8.根据权利要求7所述的装置,其特征在于,所述建模检测模块包括 可见性判断单元,用于判断所述高程数据是否为可见区域;交叠判断单元,用于当高程数据为可见区域时,判断是否与目标显示区域交叠; 分辨率判断单元,用于当交叠时,继续判断高程数据的分辨率是否符合显示分辨率要 求,如果符合,则符合建模要求。
9.根据权利要求7所述的装置,其特征在于,所述映射模块包括 纹理映射单元,用于先将纹理数据映射到三维模型上;定制数据映射单元,用于建立空白纹理,将定制数据绘制到所述空白纹理上,并映射到 所述纹理数据上。
10.根据权利要求7所述的装置,其特征在于,还包括 缓存模块,用于缓存分块高程数据的模型;则所述三维建模模块判断缓存中是否存在所述分块高程数据的模型,如果存在,则直 接读取;如果不存在,再利用所述高程数据进行三维建模,并保存到所述缓存。
全文摘要
本发明提供了一种分块数据建模方法及装置,能够快速建立模型。所述方法包括获取分块的高程数据;判断所述高程数据是否符合建模要求;如果符合,则利用所述高程数据进行三维建模;将纹理数据和定制数据映射到三维模型上。本发明减少了建模过程的数据量,降低了算法的复杂度,节约了建模时间。而且,设置缓存加快了显示效率。
文档编号G06T17/00GK102117492SQ20091024428
公开日2011年7月6日 申请日期2009年12月30日 优先权日2009年12月30日
发明者龚浩 申请人:新奥特(北京)视频技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1