一种三维模型图形的生成方法和装置的制作方法

文档序号:6610142阅读:205来源:国知局
专利名称:一种三维模型图形的生成方法和装置的制作方法
技术领域
本发明涉及数据处理领域,特别是涉及一种三维;漠型图形的生成方法和装
置。'
背景技术
地理信息系统(Geographic Information System ,GIS )是用于采集、存储、 管理、处理、检索、分析和表达地理空间数据的计算机系统,是分析和处理海 量地理数据的通用技术,是处理地理信息的系统。地理信息是指直接或间接与 地球上的空间位置有关的信息,又称为空间信息。
随着科技的进步和数据处理能力的提高,GIS系统所涉及的地理范围正在 逐渐的扩大,从城市级别扩大到全国范围,最大的甚至发展到全球范围。随着 地理范围的扩大,其涉及到的数据也随之增大。海量数据的管理和应用已经成 为其制约应用到影像/地形数据系统的严重瓶颈。
在计算机图形学中,场景中的物体通常是用多边形网格描述的,高精度的 扫描测绘手段为复杂物体基于多边形网格表示的三维几何建模提供了新的高 效手段,但由于采样精度高,由此建立的三维模型的复杂程度远远超过了当前 计算机的实时图形处理能力。对于一个大型城市,通常模型数据有数万个,每 一个模型有5000个顶点左右,顶点总量过亿。而相对于普通的三维应用,三 维建筑环境的数据规;漠更大,数据类型更加丰富多样,场景的图形数据复杂度 更高,给数据管理和场景描绘带来了更多的困难,高复杂度的海量三维空间数 据成为阻碍应用的主要因素。在三维GIS引擎中,对浏览的实时性要求很高, 如果直接下载并使用未经处理的原始数据,渲染速度将无法接受。即使利用三 维硬件设备来提高渲染速度也无法解决读取数据时的速度瓶颈,并且大大增加 了经济负担。如何降低这些模型的复杂度,提高三维模型图形的渲染速度,成 为一个迫切需要解决的问题。

发明内容
本发明所要解决的技术问题是提供一种实现加速渲染三维模型图形的方
法和装置,减少三维图形渲染所需要下载和传输的数据量,能够非常快速的实 现三维模型图形的渲染。
为了解决上述问题,本发明公开了一种三维模型图形的生成方法,包括
获取原始精细三维模型数据,所述三维模型数据包括表示三维空间物体的
多边形网格顶点数据;
压缩所述三维模型数据,减少三维模型的冗余数据;
接受用户请求,下载压缩后的三维模型数据,渲染生成三维模型图形。
进一步,所述压缩三维模型数据的具体过程包括
压缩所述原始精细三维模型的网格顶点数据,减少三维模型数据的冗余数
据;
压缩所述原始精细三维模型的紋理数据,减少三维模型数据的冗余数据。 进一步,在所述压缩三维模型顶点数据前进一步包括 减少原始精细模型的顶点数量,按精简级别生成不同层的模型数据。 进一步,还包括将不同层的模型数据按照区域划分成块,分别存储所述分 层分块后的模型数据。
优选的,接受用户请求,下载特定层的模型数据,渲染生成三维模型图形。 优选的,所述压缩三维模型的顶点数据的具体过程包括
a、 选定网格中的一个多边形;
b、 以所述多边形为扩张中心,在扩张中心的边界上扩张一个多边形,得 到一个更大的扩张中心;
c、 重复步骤b,直至所述扩张中心扩张至整个网格。 优选的,所述压缩三维模型的顶点数据的具体过程包括 al、选定网格中的一个三角形;
bl、以所述三角形为扩张中心,以所述三角形外的一个点与所述三角形的 一条边组成另一个三角形,得到一个更大的扩张中心;
cl、重复步骤bl,直至所述扩张中心扩张至整个网格。 优选的,所述压缩三维模型的紋理数据步骤包括 将紋理图像的大小根据对应模型区域的大小进行放缩; 去除重复的紋理;
将紋理图合并成大图。
优选的,所述压缩的具体步骤为 压缩格式紋理贴利用对称性和规律性,进行图像分割,将重复的紋理贴图分割,以位图格 式存储;
调用所述以位图格式存储的紋理贴图,对其进行定位和拼接,实现三维几 何模型整个表面的紋理贴图。
优选的,根据用户距离三维空间物体的距离和所需要的精度确定下载特定 层的才莫型数据,并渲染生成三维;漠型图形。
本发明还提供了一种生成三维模型图形的装置,包括
接收单元,用于接收原始精细模型数据,所述模型数据包括表示三维空间 物体的多边形网格顶点数据;
压缩单元,用于压缩三维模型数据,减少三维模型的冗余数据;
图形渲染生成单元,用于接受用户的请求,下载压缩后的三维模型数据, 渲染生成三维模型图形。
进一步,所述压缩单元包括顶点数据压缩单元,用于压缩所述三维模型的 网格顶点数据,减少三维模型数据的冗余数据;
紋理数据压缩单元,用于压缩三维模型的紋理数据,减少三维模型数据的 冗余数据。
进一步,还包括分层单元,用于减少精细模型的顶点数量,按精简级别生
成不同层的模型数据。
进一步,还包括分块单元,用于将不同层的模型数据按照区域划分成块。 进一步,还包括存储单元,用于分别存储所述分层分块后的模型数据。 优选的,所述顶点数据压缩单元包括选定单元,用于选定网格中的一个多
边形;
扩张单元,用于以所述选定的多边形为中心,在中心的边界上扩张多边形, 直至扩张至整个网格。
优选的,所述紋理数据压缩单元包括
紋理压缩单元,用于转换紋理贴图的格式,压缩格式紋理贴分割单元,用于图像分割,分割重复的紋理贴第二存储单元,用于存储所述分割的紋理贴图,所述紋理贴图以位图的格 式存储;
拼接单元,从第二存储单元调用以位图形式存储的紋理贴图,对其进行定 位和拼接实现三维几何模型整个表面的紋理贴图。
与现有技术相比,本发明具有以下优点
本发明通过对原始精细三维模型数据进行顶点压缩和紋理数据的压缩,降 低了这些模型的复杂度,减少了图形系统需要处理的多边形数目,减少需要传 输的数据量,特别是减少渲染生成图形所需的数据量,提高了渲染速度,满足 了用户实时渲染要求。
进一步,本发明通过对三维模型的分层分块,将模型数据按照不同的级别 分层存储在服务器上,并按照区域将不同层数据划分成块,按照数据所在的层 与位置散列到服务器上,当客户端请求某一块数据的时候就不需要去遍历整个 数据,从而减少了每次请求数据的时间。同样减少了数据量,减少渲染的数据 批次,从而能快速的实现三维模型的渲染,满足用户的图形实时渲染要求。


图l是本发明一种三维模型图形生成方法的流程图; 图2是本发明另一种三维模型图形生成方法的流程图; 图3是本发明一种三维模型图形生成装置的结构框图; 图4是本发明另一种三维模型图形生成装置的结构框图; 图5是图4所示装置中压缩单元的详细组成图。
具体实施例方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本发明作进一步详细的说明。
参照图1,示出了本发明一种三维模型图形生成方法的流程图,包括 步骤IOI、获取原始精细三维模型数据。
所述三维模型数据包括表示三维空间物体的多边形网格顶点数据,利用三 维模型数据表示三维空间物体在现有技术中有多种实现方法,本发明对此不做
详细介绍。所述三维模型数据是精确表示三维空间物体的顶点网格数据及其它 拓朴数据。
步骤102、压缩所述三维模型lt据。
为了减少传输和渲染所需的数据量,需要对描述场景物体的多边形网格进 行压缩简化。
所述压缩原始精细三维模型数据步骤具体包括对原始精细三维模型的网 格顶点数据的压缩步骤1021和对原始精细三维模型的紋理数据的压缩步骤 1022。
所述多边形网格简化的方法有如下几种,基于几何特征识别方法和基于小 波变换的方法。小波变换在计算机图形学中具有广阔的应用前景,其中多尺度 分析(Multiresolution Analysis, MRA)是一个重要方面。基于MRA的简化网格 是对原始网格的简单近似,被省略的细节可以通过一系列的小波基重构出来。 尽管小波计算的复杂性影响了这类方法的应用,但这类方法具有明显的优势, 利用经过处理的小波基序列,只需要很少的面片就可以逼近原始网格,在构造 多分辨率模型、三维几何数据压缩、模型的分级传输等应用中有着无可比拟的
实用价值。
基于几何特征识别的模型简化方法根据对原始模型的逼近精度要求,识别 并保留模型中的几何特征信息、消除冗余信息,从而达到模型简化目的。有了 快速、可靠的模型简化方法,只要给出不同的逼近精度要求,即可构造出层次 化模型。
相对于普通三维应用,三维建筑环境的数据规模大,数据类型丰富多样, 场景的图形数据复杂度高,给数据管理和场景描绘带来了前所未有的困难,高 复杂度的海量三维空间数据是阻碍应用的主要因素,三维空间数据压缩传输成 为虚拟GIS环境的核心技术。针对虚拟建筑环境的特殊性,本发明优选采取基 于流式的三维模型压缩方法。
所谓基于流式的三维模型压缩就是把网格看作由多边形组成的流,对于多 边形一个接一个的进行压缩和解压。对于GIS应用中的精细模型,渐进压缩很 难实现较好的效果,因为像楼房建筑等大部分模型都是网络最简化,几何形状 比较单一,而压缩这类数据比较有效的方法是基于流的压缩和有P艮精度的有损
压缩并用,接下来重点介绍流式压缩的方法。所述思想的实现就是区域扩张。 具体来说,就是从网格的一个多边形出发,把这个多边形看成一个区域(扩张 中心),每一次在这个区域的边界上扩张一个多边形,这样得到一个更大的区 域(扩张中心),重复此操作,最终得到的区域就是整个网格。使用这种方式 就可以对网格中的多边形一个接一个的进行处理。具体操作时,还有很多需要 考虑的,比如网格的扩张方式,也就是说,每一次从区域的哪个位置扩张新的
多边形;再比如,如果整个网格不是一个连通分支,那么上面的方式就不可能 扩张到整个网格,这时可以通过对网格的每个连通分支都进行一次扩张来解决 该问题,显而易见,在区域扩张的过程中,网格中的每一个多边形有且仅有一 次进入区域扩张的边界。
使用区域扩张的思想来实现压缩和解压可以只使用局部信息,这样的优点 是节约存储。这是因为,在压缩和解压的时候可以只保存区域扩张的边界上的 数据,虽然网格可能很大,但是区域扩张的边界上的数据相对来说就可以忽略 不计。
事实上,在区域扩张的过程中保存区域中的所有数据也是可以的,这样在 处理的时候可以得到关于网格的更多的信息,在压缩时可以达到更高的压缩 率,不过这样占用的内存会很大,因此,区域扩张优选的是保存边界上的数据。
对于海量的网格来说,由于存储容量有限,所以不能一次把整个网格都读 到内存里,因此处理海量网格实际上就是先选择一种网格的遍历方法,再在遍 历的过程中对网格进行操作,因此网格的遍历方法对于海量网格的处理是很重 要的。常用的网格遍历方法有三种批处理方式(batch),网格分割方式(mesh cutting)和在线方式(online )。
批处理方式,是将网格中的数据一次或者多次通过内存,而某一时刻内存 中只保存某一部分的网格数据,处理的时候只对内存中的数据进行处理。这个 方法的优点是效率非常高。
网格分割方式就是先把网格分割成能够放入内存的小块,对每个小块进行 处理,再把处理之后的小块拼接起来,得到最终需要的处理结果。
在线方式,就是构造高效的外存数据结构,把整个网格的大部分放在外存, 处理网格时就像处理内存中的数据一样,对外存中的数据进行处理。这个方法
的优点是,可以使用现成的网格处理方法,不需要特意为海量网格设计新的处 理方法,因此在线方式对网格的处理效果非常好。
区域扩张的思想实际上提供了一种海量网格的遍历方式这种方式不仅速 度比较快,而且提供了一部分拓朴信息。流的这个特点在网格处理的许多方面 都有优势。
下面介绍使用区域扩张的方式来进行网格简化的方法,具体来说,使用区 域扩张方式进行简化也有两种方法
第一种,基于边界的方法(Boundary-based),这个方法只对处于区域扩张 的边界上的多边形进行简化,简化的过程一^:采用顶点聚类。
这个方法的优点(l)由于区域扩张的遍历网格的速度很快,因此在筒化 的时候速度也很快;(2)由于只用保存区域边界上的数据,因此需要的内存存 储非常小;(3)本方法使用顶点聚类的方法,而且还获得了区域扩张边界上的 拓朴信息,因此是对顶点聚类的方法进行扩展和改进,这样能得到很好的简化 效果。
第二种,基于緩冲区的方法(Buffer-based),这个方法跟基于边界的方法 不同,不但在内存中保存区域扩张的边界,而且还保存边界附近的一部分网格, 把这部分网格作为緩冲区,进行网格简化的时候就是对这个緩冲区里的网格进 行简化。具体简化緩冲区里网格的时候,可以使用在内存中简化网格的各种方 法。
这个方法的优点(l)网格简化的速度比较快;(2)内存的占用量一般就是 緩沖区的大小,这个一般是限定大小的,因此简化时的内存消耗是可以控制的, 可以依照当前计算机的内存大小来设定,不会出现内存不足的情况;(3)由于 在緩冲区中有比较多的网格,并且这部分网格拓朴信息和几何信息都是已知 的,因此可以使用在内存进行网格简化的方法对緩冲区里的网格进行简化,能 够得到很好的简化效果。使用区域扩张的方法简化网格的同时,可以把简化得 到的网格也使用区域扩张的方式保存下来。
具体的,对于模型数据采取条带状存储,对于每一个拓朴连通的区域都可 以应用此方法,从一个三角形(扩张中心)开始找一个点与这个三角形的一条 边组成第二个三角形,再找一个点又可以与一条边组成另一个三角形,依此进
行扩张就可以铺满整个网格区域,通过这样的处理,可以减少一半以上的顶点 数量。
步骤1022、压缩原始精细三维模型的紋理数据。
所述紋理数据可以是通过数码相机实地拍摄的相片,也可以是从网上下载 的现成数码相片,当所述相片与实际需要的精度不相符时,需要对其进行合并
与压缩
1 、将紋理贴图的大小根据对应模型区域的大小进行放缩;
2、 将重复的紋理贴图去除;
3、 将紋理贴图合并成大图。
4、 务改模型中的顶点对应的紋理坐标与紋理路径。 通过采用压缩格式紋理贴图,将原来为BMP等格式的紋理贴图转化为
JPEG或其他格式的紋理贴图,减小数据量。利用一般建筑物外观构型的对称 性和身见律性,对建筑物相片进行分割,如巴建筑物的窗户、阳台、每一层都分 割出来,以位图形式进行存储,对建筑物选取一种到几种公用的图像块,所述 图像块可以类似于图式符号,在建立真实感影像三维模型时,对其进行定位和 拼接,实现建筑物三维几何;溪型整个表面的紋理贴图,4是高了紋理贴图在系统 中的重复使用率,并使系统的数据量得到最大限度的减小。因此经过以上步骤 可以减少紋理贴图传输的批次和大小,能够加速图形的渲染。
步骤103、接受用户的请求,下载模型数据,渲染生成三维模型图形。
通过步骤102的压缩处理,三维模型数据得到了压缩,减少了传输的数据 量和渲染所需的数据。
参照图2,示出了本发明另一种三维模型图形生成方法的流程图,包括
步骤201、获取原始精细三维模型数据。
所述三维模型数据包括表示三维空间物体的多边形网格顶点数据,利用三 维模型数据表示三维空间物体在现有技术中有多种实现方法,本发明对此并不 做详细介绍。所述三维模型数据是精确表示三维空间物体的顶点网格数据及其 它拓朴数据。
步骤202,减少所述原始精细模型数据的顶点数量,按精简级别生成不同 层的模型数据。
对数据进行分层是为了当用户在小的屏幕上显示一个比较大的区域时,不 会因为数据量太大而看不清,这时只需较粗的数据就可以达到用户的要求。根
据情况需要可以进行多级分层,在本发明的一个实施例中,我们进行了 20级
分层概括。每一次概括都对数据进行抽稀,并设置了不同层级所需要显示的内 容。抽稀的原则主要是数据要素的重要程度,另外还需要考虑各个层级所需要 的数据量。经过这样的分层处理就形成了一个类似金字塔的数据序列,序列中 的每一级都包含了全部空间物体范围中的数据,但在数据量上是逐级递减的。
步骤203、将步骤202所述生成不同层的模型数据按照区域划分成块。 分层处理后的模型数据如果直接下载渲染生成三维模型图形,需要处理的 数据量仍然很大,不能很好的实时渲染生成图形。因此需要进一步对三维模型 数据进行切分。切分可以以地理范围为依据。也可是以数据量的多少为依据, 本发明不对此进行限制。在本发明的一个实施例中,使用正方形对模型数据进 行切分。正方形的大小根据单个文件所承载的数据量及文件大小而定。正方形 的地理跨度是和所切分的层级是相关的,不同的层级使用不同的跨度。在本发 明的一个实施例中,各个层级的切分正方形跨度组合起来为一个2的等比数 列,这样就形成了一棵数据四叉树。
步骤204、压缩各分层分块中的三维模型数据。
在对三维模型数据进行分层分块处理后,加快了三维模型图形的渲染速 度,为了更快的渲染生成三维模型图形,本发明进一步对分层分块的三维模型 数据进行压缩。
为了减少传输和渲染所需的数据量,需要对描述场景物体的多边形网格进 行压缩简化。
所述压缩三维模型数据步骤具体包括对三维模型的网格顶点数据的压缩 步骤2041和对三维^t型的紋理数据的压缩步骤2042。
所述多边形网格简化的方法包括基于几何特征识别方法和基于小波变换 等方法。本发明优选采取的是基于流式的三维模型压缩方法。所谓基于流式的 三维模型压缩就是把网格看作由多边形组成的流,对于多边形一个接一个的进 行压缩。流思想的一个实现就是区域扩张。具体来说,就是从网格的一个多边 形出发,把这个多边形看成一个区域(扩张中心),每一次在这个区域的边界
上扩张一个多边形,这样得到一个更大的区域(扩张中心),重复此操作,最 终得到的区域就是整个网格。使用这种方式就可以对网格中的多边形 一个接一 个的进行处理。具体操作时,还有很多需要考虑的,比如网格的扩张方式,也
就是说,每一次从区域的哪个位置扩张新的多边形;再比如,如果整个网格不
是一个连通分支,那么上面的方式就不可能扩张到整个网格,可以通过对网格 的每个连通分支都进行一次扩张来解决该问题,显而易见,在区域扩张的过程 中,网格中的每一个多边形有且仅有一次进入区域扩张的边界。
所述压缩的具体过程及原理与图1所示方法中的步骤102相同,为节约篇
幅,在此不再详述。
步骤2042、压缩原始精细三维模型的紋理数据。
所述紋理数据可以是通过数码相机实地拍摄的相片,也可以是从网上下载 的现成数码相片,当所述相片与实际需要的精度不相符时,需要对其进行合并 与压缩
1 、将紋理贴图的大小根据对应模型区域的大小进行放缩;
2、 将重复的紋理贴图去除;
3、 将紋理贴图合并成大图。
4、 》务改才莫型中的顶点对应的紋理坐标与紋理5^径。 通过采用压缩格式紋理贴图,将原来为BMP等格式的紋理贴图转化为
JPEG或其他格式的紋理贴图,减小数据量。利用一般建筑物外观构型的对称 性和规律性,对建筑物相片进行分割,如把建筑物的窗户、阳台、每一层都分 割出来,以位图形式进行存储,对建筑物选取一种到几种公用的图像块,所述 图像块可以类似于图式符号,在建立真实感影像三维模型时,对其进行定位和 拼接,实现建筑物三维几何模型整个表面的紋理贴图,提高了紋理贴图在系统 中的重复使用率,并使系统的数据量得到最大限度的减小。因此经过以上步骤 可以减少紋理贴图传输的批次和大小,能够加速图形的渲染。 步骤205、存储所述分层分块的三维模型数据。
所述存储步骤可以是对三维模型数据分层分块后存储,也可以是分层分块 后并压缩后再进行存储,本发明并不对此进行限定。
为了更好的存储效果,本发明优先采取条带状的格式存储模型数据。在本
发明的一个实施例中,实现存储的具体过程为通过前面的描述可知,地图数 据是以金子塔结构存储的,共分20层,最下面也是最精细的一层应为0.15米 的数据(每格0.15米采一次样),最上面的一层是将地球用8张图存储。第i 层数据的每一张图所表示的范围是(18072j) * ( 18072i)。编码格式为level + y + x, 。 x为该图片在整张图上从左向右数的第几张,y是从上向下数的第几 张,level是第几层。才艮据用户距地形的距离就知道需要请求的level。如果以 上面提到的level级的每张图片作为一个单元,就可以建立一个坐标系,那么 就可以根据请求数据的经炜度计算出来它的位置(x, y)。 将x, y, level, 存储在一个64位的数据中就是id号,其中level8位、y20位、x20位、还 有16位保留。在服务器上文件夹的建立和它的编码^^式是相对应的,首先建 立20个level文件夹,每个文件夹下再根据y的前8位+x的前8位建文件夹, 在上面的每个文件夹下再建对应的y的后8位+x的后8位建立文件夹。这样 就可以根据id直接算出文件存储的位置,而避免了查找的过程。
步骤206、接受用户的请求,下载模型数据,渲染生成三维模型图形。 通过前述步骤的分层分块及压缩处理,三维^^莫型数据得到了压缩,减少了 传输的数据量和渲染所需的数据,因此当用户请求下载渲染三维模型图形时, 能实时的满足用户的渲染请求。
进一步,由于对才莫型数据进行了分层分块,因此可以根据用户距离三维空 间物体的距离远近和所需要的精度下载所需要的层数据。用户在看三维影像的 时候,可以根据用户的位置离三维影像的距离来决定渲染哪一层哪一块的模型 数据。这样既可以保证渲染效果又减少了每一次的渲染量。如果用户离模型有 一定距离,则并不是模型的精度越大看得越清楚,并不是在每个位置都需要下 载最精细的,因此可以根据精度分层分块,这样就减少了每次需要下载并渲染 的数据量。压缩数据同样为了减少数据量。这样就可以减少渲染的数据批次, 加快渲染,使用户有较好的体验感。
参照图3,示出了本发明一种三维模型图形生成装置的结构框图,包括 接收单元301,用于接收原始精细模型数据,所述三维模型数据包括表示 三维空间物体的多边形网格顶点数据,利用三维模型数据表示三维空间物体在 现有技术中有多种实现方法,本发明对此并不做详细介绍。所述三维模型数据
是精确表示三维空间物体的顶点网格数据及其它拓朴数据。
压缩单元302、用于压缩原始精细三维模型数据,减少三维模型数据的冗
余数据。
为了减少传输和渲染所需的数据量,需要对描述场景物体的多边形网格进
行压缩简化。
进一步,所述压缩单元具体包括顶点数据压缩单元3021,用于压缩所述 三维模型的网格顶点数据,减少三维模型数据的冗余数据;
紋理数据压缩单元3022,用于压缩三维模型的紋理数据,減少三维模型 数据的冗余数据;
所述压缩单元及顶点数据压缩单元和紋理数据压缩单元的原理及具体过 程与方法所示相同,为了节约篇幅,在此不再详述。
图形渲染生成单元303,用于接受用户的请求,下载压缩后的三维模型数 据,渲染生成三维模型图形。
通过压缩单元302的压缩处理,三维模型数据得到了压缩,减少了传输的 数据量和渲染所需的数据,因此当用户请求下载渲染三维;漠型图形时,能实时 的满足用户的渲染请求。
参照图4及图5,图4示出了本发明另一种三维模型图形生成装置的结构 框图,包括
接收单元401,用于接收原始精细模型数据,所述三维模型数据包括表示 三维空间物体的多边形网格顶点数据,利用三维模型数据表示三维空间物体在 现有技术中有多种实现方法,本发明对此并不做详细介绍。所述三维模型数据 是精确表示三维空间物体的顶点网格数据及其它拓4卜数据。
分层单元402,用于用于减少精细模型的顶点数量,按精简级别生成不同 层的模型数据。
对数据进行分层是为了当用户在小的屏幕上显示一个比较大的区域时,不 会因为数据量太大而看不清,这时只需较粗的数据就可以达到用户的要求。根 据情况需要可以进行多级分层。在本发明的一个实施例中,我们进行了 20级 分层概括。每一次概括都对数据进行抽稀,并设置了不同层级所需要显示的内 容。抽稀的原则主要是数据要素的重要程度,另外还需要考虑各个层级所需要
的数据量。经过这个的分层处理就形成了一个类似金字塔的数据序列,序列中 的每一级都包含了全部空间物体范围中的数据,但在数据量上是逐级递减的。
分块单元403,用于将不同层的模型数据按照区域划分成块。 分层处理后的模型数据如果直接下载渲染生成三维模型图形,需要处理的 数据量仍然很大,不能很好的实时渲染生成图形。因此需要进一步对三维模型 数据进行切分。切分可以以地理范围为依据。也可是以数据量的多少为依据, 本发明不对此进行限制。在本发明的一个实施例中,使用的是正方形对模型数 据进行切分。正方形的大小根据单个文件所承载的数据量及文件大小而定。正 方形的地理跨度是和所切分的层级是相关的,不同的层级使用不同的跨度。在 本发明的一个实施例中,各个层级的切分正方形跨度组合起来为一个2的等比 数列,这样就形成了一棵数据四叉树。
压缩单元404、用于压缩原始精细三维模型数据,减少三维才莫型数据的冗 余数据。
为了减少传输和渲染所需的数据量,需要对描述场景物体的多边形网格进 ;f亍压缩筒化。。
进一步,所述压缩单元具体包括顶点数据压缩单元4041,用于压缩所述 三维模型的网格顶点数据,减少三维模型数据的冗余数据; 进一步,所述顶点数据压缩单元包括 选定单元40411,用于选定网格中的一个多边形;
扩张单元40412,用于以所述选定的多边形为中心,在中心的边界上扩张 多边形,直至扩张至整个网格。
紋理数据压缩单元4042,用于压缩三维模型的紋理数据,减少三维模型 数据的冗余数据。
进一步,所述紋理数据压缩单元包括
紋理压缩单元40421,用于转换紋理贴图的格式,压缩格式紋理贴图; 分割单元40422,用于图像分割,分割重复的紋理贴图; 第二存储单元40423,用于存储所述分割的紋理贴图,所述紋理贴图以位 图的格式存储;
拼接单元40424,从第二存储单元调用以位图形式存储的紋理贴图,对其
进行定位和拼接实现三维几何模型整个表面的紋理贴图。所述压缩单元及顶点 数据压缩单元和紋理数据压缩单元的原理及具体过程与方法所示相同,为了节 约篇幅,在此不再详述。
存储单元405,用于分别存储所述分层分块的模型数据。 为了更好的存储效果,本发明优先采取条带状的格式存储模型数据。 图形渲染生成单元406,用于接受用户的请求,下载压缩后的三维模型数 据,渲染生成三维模型图形。
通过分层单元、分块单元及压缩单元的处理,三维模型数据得到了压缩, 减少了传输的数据量和渲染所需的数据,因此当用户请求下载渲染三维模型图 形时,能实时的满足用户的渲染请求。
进一步,由于对模型数据进行了分层分块,因此可以根据用户距离三维空 间物体的距离远近和所需要的精度下载所需要的层数据。用户在看三维影像的 时候,可以根据用户的位置离三维影像的距离来决定渲染哪一层哪一块的模型 数据。这样既可以保证渲染效果又减少了每一次的渲染量。如果用户离模型有 一定距离,则并不是模型的精度越大看得越清楚,并不是在每个位置都需要下 载最精细的,因此可以根据精度分层分块,这样就减少了每次需要下载并渲染 的数据量。压缩数据同样为了减少数据量。这样就可以减少渲染的数据批次, 加快渲染,使用户有较好的体验感。
图3、图4的描述较为简略,未详尽之处可以参见本说明书图1、图2相 应部分的描述。
以上对本发明所提供的一种三维模型图形的生成方法和装置进行了详细
施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域 的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改 变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1、一种三维模型图形的生成方法,其特征在于,包括获取原始精细三维模型数据,所述三维模型数据包括表示三维空间物体的多边形网格顶点数据;压缩所述三维模型数据,减少三维模型的冗余数据;接受用户请求,下载压缩后的三维模型数据,渲染生成三维模型图形。
2、 如权利要求1所述的方法,其特特征在于,所述压缩三维模型数据的 具体过程包括压缩所述原始精细三维模型的网格顶点数据,减少三维模型数据的冗余数据;压缩所述原始精细三维模型的紋理数据,减少三维才莫型数据的冗余数据。
3、 如权利要求2所述的方法,其特征在于,在所述压缩三维模型顶点数 据前进一步包括减少原始精细模型的顶点数量,按精简级别生成不同层的模型数据。
4、 如权利要求3所述的方法,其特征在于,还包括将不同层的模型数据按照区域划分成块,分别存储所述分层分块后的模型 数据。
5、 如权利要求4所述的方法,其特征在于,所述渲染生成步骤为 接受用户请求,下载特定层的模型数据,渲染生成三维模型图形。
6、 如权利要求2所述的方法,其特征在于,所述压缩三维模型的顶点数 据的具体过程包括a、 选定网格中的一个多边形;b、 以所述多边形为扩张中心,在扩张中心的边界上扩张一个多边形,得 到一个更大的扩张中心;c、 重复步骤b,直至所述扩张中心扩张至整个网格。
7、 如权利要求4所述的方法,其特征在于 采取条带状存储所述分层分块的三维模型数据。
8、 如权利要求7所述的方法,其特征在于,所述压缩三维模型的顶点数 据的具体过程包括al、选定网格中的一个三角形;bl、以所述三角形为扩张中心,以所述三角形外的一个点与所述三角形的 一条边组成另一个三角形,得到一个更大的扩张中心;cl、重复步骤bl,直至所述扩张中心扩张至整个网格。
9、 如权利要求2所述的方法,其特征在于,所述压缩三维模型的紋理数 据步骤包括将纹理图像的大小根据对应模型区域的大小进行放缩;去除重复的紋理;将紋理图合并成大图。
10、 如权利要求9所述的方法,其特征在于,所述压缩的具体步骤为 压缩格式紋理贴图;利用对称性和规律性,进行图像分割,将重复的紋理贴图分割,以位图格 式存储;调用所述以位图格式存储的紋理贴图,对其进行定位和拼接,实现三维几 何模型整个表面的紋理贴图。
11、 如权利要求5所述的方法,其特征在于,所述下载特定层的模型数据 具体为根据用户距离三维空间物体的距离和所需要的精度确定下载特定层的模 型数据,并渲染生成三维模型图形。
12、 一种三维模型图形的生成装置,其特征在于,包括接收单元,用于接收原始精细模型数据,所述模型数据包括表示三维空间 物体的多边形网格顶点数据;压缩单元,用于压缩三维模型数据,减少三维模型的冗余数据; 图形渲染生成单元,用于接受用户的请求,下载压缩后的三维4莫型数据,渲染生成三维模型图形。
13、 如权利要求12所述的装置,其特征在于,所述压缩单元包括 顶点数据压缩单元,用于压缩所述三维模型的网格顶点数据,减少三维模型数据的冗余数据;紋理数据压缩单元,用于压缩三维模型的紋理数据,减少三维模型数据的 冗余数据。
14、 如权利要求13所述的装置,其特征在于,还包括分层单元,用于减少精细模型的顶点数量,按精简级别生成不同层的模型 数据。
15、 如权利要求14所述的装置,其特征在于,还包括 分块单元,用于将不同层的模型数据按照区域划分成块。
16、 如权利要求15所述的装置,其特征在于,还包括 存储单元,用于分别存储所述分层分块后的模型数据。
17、 如权利要求13所述的装置,其特征在于,所述顶点数据压缩单元包括选定单元,用于选定网格中的一个多边形;扩张单元,用于以所述选定的多边形为中心,在中心的边界上扩张多边形, 直至扩张至整个网格。
18、 如权利要求13所述的装置,其特征在于,所述紋理数据压缩单元包括紋理压缩单元,用于转换紋理贴图的格式,压缩格式紋理贴图; 分割单元,用于图像分割,分割重复的紋理贴图; 第二存储单元,用于存储所述分割的紋理贴图,所述紋理贴图以位图的格式存储;拼接单元,从第二存储单元调用以位图形式存储的紋理贴图,对其进行定 位和拼接实现三维几何模型整个表面的紋理贴图。
全文摘要
本发明提供了一种三维模型图形的生成方法,包括获取原始精细三维模型数据,所述三维模型数据包括表示三维空间物体的多边形网格顶点数据;压缩所述三维模型数据,减少三维模型的冗余数据;接受用户请求,下载压缩后的三维模型数据,渲染生成三维模型图形。通过本发明所述方法,降低了这些模型的复杂度,减少了图形系统需要处理的多边形数目,减少需要传输的数据量,特别是减少渲染生成图形所需的数据量,提高了渲染速度,满足了用户实时渲染要求,本发明还提供了一种三维模型图形生成装置。
文档编号G06T15/00GK101364310SQ200710120040
公开日2009年2月11日 申请日期2007年8月7日 优先权日2007年8月7日
发明者路 刘, 茳 孙, 孙庆文, 孙维志 申请人:北京灵图软件技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1