CN101364310B - 一种三维模型图形的生成方法和装置 - Google Patents

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

Info

Publication number
CN101364310B
CN101364310B CN200710120040XA CN200710120040A CN101364310B CN 101364310 B CN101364310 B CN 101364310B CN 200710120040X A CN200710120040X A CN 200710120040XA CN 200710120040 A CN200710120040 A CN 200710120040A CN 101364310 B CN101364310 B CN 101364310B
Authority
CN
China
Prior art keywords
data
model
dimensional model
dimensional
texture mapping
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.)
Active
Application number
CN200710120040XA
Other languages
English (en)
Other versions
CN101364310A (zh
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.)
LINGTU SOFTWARE TECHNOLOGY Co Ltd BEIJING
Original Assignee
LINGTU SOFTWARE TECHNOLOGY Co Ltd BEIJING
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 LINGTU SOFTWARE TECHNOLOGY Co Ltd BEIJING filed Critical LINGTU SOFTWARE TECHNOLOGY Co Ltd BEIJING
Priority to CN200710120040XA priority Critical patent/CN101364310B/zh
Publication of CN101364310A publication Critical patent/CN101364310A/zh
Application granted granted Critical
Publication of CN101364310B publication Critical patent/CN101364310B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

本发明提供了一种三维模型图形的生成方法,包括:获取原始精细三维模型数据,所述三维模型数据包括表示三维空间物体的多边形网格顶点数据;压缩所述三维模型数据,减少三维模型的冗余数据;接受用户请求,下载压缩后的三维模型数据,渲染生成三维模型图形。通过本发明所述方法,降低了这些模型的复杂度,减少了图形系统需要处理的多边形数目,减少需要传输的数据量,特别是减少渲染生成图形所需的数据量,提高了渲染速度,满足了用户实时渲染要求,本发明还提供了一种三维模型图形生成装置。

Description

一种三维模型图形的生成方法和装置
技术领域
本发明涉及数据处理领域,特别是涉及一种三维模型图形的生成方法和装置。
背景技术
地理信息系统(Geographic Information System,GIS)是用于采集、存储、管理、处理、检索、分析和表达地理空间数据的计算机系统,是分析和处理海量地理数据的通用技术,是处理地理信息的系统。地理信息是指直接或间接与地球上的空间位置有关的信息,又称为空间信息。
随着科技的进步和数据处理能力的提高,GIS系统所涉及的地理范围正在逐渐的扩大,从城市级别扩大到全国范围,最大的甚至发展到全球范围。随着地理范围的扩大,其涉及到的数据也随之增大。海量数据的管理和应用已经成为其制约应用到影像/地形数据系统的严重瓶颈。
在计算机图形学中,场景中的物体通常是用多边形网格描述的,高精度的扫描测绘手段为复杂物体基于多边形网格表示的三维几何建模提供了新的高效手段,但由于采样精度高,由此建立的三维模型的复杂程度远远超过了当前计算机的实时图形处理能力。对于一个大型城市,通常模型数据有数万个,每一个模型有5000个顶点左右,顶点总量过亿。而相对于普通的三维应用,三维建筑环境的数据规模更大,数据类型更加丰富多样,场景的图形数据复杂度更高,给数据管理和场景描绘带来了更多的困难,高复杂度的海量三维空间数据成为阻碍应用的主要因素。在三维GIS引擎中,对浏览的实时性要求很高,如果直接下载并使用未经处理的原始数据,渲染速度将无法接受。即使利用三维硬件设备来提高渲染速度也无法解决读取数据时的速度瓶颈,并且大大增加了经济负担。如何降低这些模型的复杂度,提高三维模型图形的渲染速度,成为一个迫切需要解决的问题。
发明内容
本发明所要解决的技术问题是提供一种实现加速渲染三维模型图形的方法和装置,减少三维图形渲染所需要下载和传输的数据量,能够非常快速的实现三维模型图形的渲染。
为了解决上述问题,本发明公开了一种三维模型图形的生成方法,包括:
获取原始精细三维模型数据,所述三维模型数据包括表示三维空间物体的多边形网格顶点数据;
压缩所述三维模型数据,减少三维模型的冗余数据;
接受用户请求,下载压缩后的三维模型数据,渲染生成三维模型图形。
进一步,所述压缩三维模型数据的具体过程包括:
压缩所述原始精细三维模型的网格顶点数据,减少三维模型数据的冗余数据;
压缩所述原始精细三维模型的纹理数据,减少三维模型数据的冗余数据。
进一步,在所述压缩三维模型顶点数据前进一步包括:
减少原始精细模型的顶点数量,按精简级别生成不同层的模型数据。
进一步,还包括将不同层的模型数据按照区域划分成块,分别存储所述分层分块后的模型数据。
优选的,接受用户请求,下载特定层的模型数据,渲染生成三维模型图形。
优选的,所述压缩三维模型的顶点数据的具体过程包括:
a、选定网格中的一个多边形;
b、以所述多边形为扩张中心,在扩张中心的边界上扩张一个多边形,得到一个更大的扩张中心;
c、重复步骤b,直至所述扩张中心扩张至整个网格。
优选的,所述压缩三维模型的顶点数据的具体过程包括:
a1、选定网格中的一个三角形;
b1、以所述三角形为扩张中心,以所述三角形外的一个点与所述三角形的一条边组成另一个三角形,得到一个更大的扩张中心;
c1、重复步骤b1,直至所述扩张中心扩张至整个网格。
优选的,所述压缩三维模型的纹理数据步骤包括:
将纹理图像的大小根据对应模型区域的大小进行放缩;
去除重复的纹理;
将纹理图合并成大图。
优选的,所述压缩的具体步骤为:
压缩格式纹理贴图;
利用对称性和规律性,进行图像分割,将重复的纹理贴图分割,以位图格式存储;
调用所述以位图格式存储的纹理贴图,对其进行定位和拼接,实现三维几何模型整个表面的纹理贴图。
优选的,根据用户距离三维空间物体的距离和所需要的精度确定下载特定层的模型数据,并渲染生成三维模型图形。
本发明还提供了一种生成三维模型图形的装置,包括:
接收单元,用于接收原始精细模型数据,所述模型数据包括表示三维空间物体的多边形网格顶点数据;
压缩单元,用于压缩三维模型数据,减少三维模型的冗余数据;
图形渲染生成单元,用于接受用户的请求,下载压缩后的三维模型数据,渲染生成三维模型图形。
进一步,所述压缩单元包括顶点数据压缩单元,用于压缩所述三维模型的网格顶点数据,减少三维模型数据的冗余数据;
纹理数据压缩单元,用于压缩三维模型的纹理数据,减少三维模型数据的冗余数据。
进一步,还包括分层单元,用于减少精细模型的顶点数量,按精简级别生成不同层的模型数据。
进一步,还包括分块单元,用于将不同层的模型数据按照区域划分成块。
进一步,还包括存储单元,用于分别存储所述分层分块后的模型数据。
优选的,所述顶点数据压缩单元包括选定单元,用于选定网格中的一个多边形;
扩张单元,用于以所述选定的多边形为中心,在中心的边界上扩张多边形,直至扩张至整个网格。
优选的,所述纹理数据压缩单元包括:
纹理压缩单元,用于转换纹理贴图的格式,压缩格式纹理贴图;
分割单元,用于图像分割,分割重复的纹理贴图;
第二存储单元,用于存储所述分割的纹理贴图,所述纹理贴图以位图的格式存储;
拼接单元,从第二存储单元调用以位图形式存储的纹理贴图,对其进行定位和拼接实现三维几何模型整个表面的纹理贴图。
与现有技术相比,本发明具有以下优点:
本发明通过对原始精细三维模型数据进行顶点压缩和纹理数据的压缩,降低了这些模型的复杂度,减少了图形系统需要处理的多边形数目,减少需要传输的数据量,特别是减少渲染生成图形所需的数据量,提高了渲染速度,满足了用户实时渲染要求。
进一步,本发明通过对三维模型的分层分块,将模型数据按照不同的级别分层存储在服务器上,并按照区域将不同层数据划分成块,按照数据所在的层与位置散列到服务器上,当客户端请求某一块数据的时候就不需要去遍历整个数据,从而减少了每次请求数据的时间。同样减少了数据量,减少渲染的数据批次,从而能快速的实现三维模型的渲染,满足用户的图形实时渲染要求。
附图说明
图1是本发明一种三维模型图形生成方法的流程图;
图2是本发明另一种三维模型图形生成方法的流程图;
图3是本发明一种三维模型图形生成装置的结构框图;
图4是本发明另一种三维模型图形生成装置的结构框图;
图5是图4所示装置中压缩单元的详细组成图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明一种三维模型图形生成方法的流程图,包括:
步骤101、获取原始精细三维模型数据。
所述三维模型数据包括表示三维空间物体的多边形网格顶点数据,利用三维模型数据表示三维空间物体在现有技术中有多种实现方法,本发明对此不做详细介绍。所述三维模型数据是精确表示三维空间物体的顶点网格数据及其它拓扑数据。
步骤102、压缩所述三维模型数据。
为了减少传输和渲染所需的数据量,需要对描述场景物体的多边形网格进行压缩简化。
所述压缩原始精细三维模型数据步骤具体包括对原始精细三维模型的网格顶点数据的压缩步骤1021和对原始精细三维模型的纹理数据的压缩步骤1022。
所述多边形网格简化的方法有如下几种,基于几何特征识别方法和基于小波变换的方法。小波变换在计算机图形学中具有广阔的应用前景,其中多尺度分析(Multiresolution Analysis,MRA)是一个重要方面。基于MRA的简化网格是对原始网格的简单近似,被省略的细节可以通过一系列的小波基重构出来。尽管小波计算的复杂性影响了这类方法的应用,但这类方法具有明显的优势,利用经过处理的小波基序列,只需要很少的面片就可以逼近原始网格,在构造多分辨率模型、三维几何数据压缩、模型的分级传输等应用中有着无可比拟的实用价值。
基于几何特征识别的模型简化方法根据对原始模型的逼近精度要求,识别并保留模型中的几何特征信息、消除冗余信息,从而达到模型简化目的。有了快速、可靠的模型简化方法,只要给出不同的逼近精度要求,即可构造出层次化模型。
相对于普通三维应用,三维建筑环境的数据规模大,数据类型丰富多样,场景的图形数据复杂度高,给数据管理和场景描绘带来了前所未有的困难,高复杂度的海量三维空间数据是阻碍应用的主要因素,三维空间数据压缩传输成为虚拟GIS环境的核心技术。针对虚拟建筑环境的特殊性,本发明优选采取基于流式的三维模型压缩方法。
所谓基于流式的三维模型压缩就是把网格看作由多边形组成的流,对于多边形一个接一个的进行压缩和解压。对于GIS应用中的精细模型,渐进压缩很难实现较好的效果,因为像楼房建筑等大部分模型都是网络最简化,几何形状比较单一,而压缩这类数据比较有效的方法是基于流的压缩和有限精度的有损压缩并用,接下来重点介绍流式压缩的方法。所述思想的实现就是区域扩张。具体来说,就是从网格的一个多边形出发,把这个多边形看成一个区域(扩张中心),每一次在这个区域的边界上扩张一个多边形,这样得到一个更大的区域(扩张中心),重复此操作,最终得到的区域就是整个网格。使用这种方式就可以对网格中的多边形一个接一个的进行处理。具体操作时,还有很多需要考虑的,比如网格的扩张方式,也就是说,每一次从区域的哪个位置扩张新的多边形;再比如,如果整个网格不是一个连通分支,那么上面的方式就不可能扩张到整个网格,这时可以通过对网格的每个连通分支都进行一次扩张来解决该问题,显而易见,在区域扩张的过程中,网格中的每一个多边形有且仅有一次进入区域扩张的边界。
使用区域扩张的思想来实现压缩和解压可以只使用局部信息,这样的优点是节约存储。这是因为,在压缩和解压的时候可以只保存区域扩张的边界上的数据,虽然网格可能很大,但是区域扩张的边界上的数据相对来说就可以忽略不计。
事实上,在区域扩张的过程中保存区域中的所有数据也是可以的,这样在处理的时候可以得到关于网格的更多的信息,在压缩时可以达到更高的压缩率,不过这样占用的内存会很大,因此,区域扩张优选的是保存边界上的数据。
对于海量的网格来说,由于存储容量有限,所以不能一次把整个网格都读到内存里,因此处理海量网格实际上就是先选择一种网格的遍历方法,再在遍历的过程中对网格进行操作,因此网格的遍历方法对于海量网格的处理是很重要的。常用的网格遍历方法有三种:批处理方式(batch),网格分割方式(meshcutting)和在线方式(online)。
批处理方式,是将网格中的数据一次或者多次通过内存,而某一时刻内存中只保存某一部分的网格数据,处理的时候只对内存中的数据进行处理。这个方法的优点是效率非常高。
网格分割方式就是先把网格分割成能够放入内存的小块,对每个小块进行处理,再把处理之后的小块拼接起来,得到最终需要的处理结果。
在线方式,就是构造高效的外存数据结构,把整个网格的大部分放在外存,处理网格时就像处理内存中的数据一样,对外存中的数据进行处理。这个方法的优点是,可以使用现成的网格处理方法,不需要特意为海量网格设计新的处理方法,因此在线方式对网格的处理效果非常好。
区域扩张的思想实际上提供了一种海量网格的遍历方式:这种方式不仅速度比较快,而且提供了一部分拓扑信息。流的这个特点在网格处理的许多方面都有优势。
下面介绍使用区域扩张的方式来进行网格简化的方法,具体来说,使用区域扩张方式进行简化也有两种方法:
第一种,基于边界的方法(Boundary-based),这个方法只对处于区域扩张的边界上的多边形进行简化,简化的过程一般采用顶点聚类。
这个方法的优点:(1)由于区域扩张的遍历网格的速度很快,因此在简化的时候速度也很快;(2)由于只用保存区域边界上的数据,因此需要的内存存储非常小;(3)本方法使用顶点聚类的方法,而且还获得了区域扩张边界上的拓扑信息,因此是对顶点聚类的方法进行扩展和改进,这样能得到很好的简化效果。
第二种,基于缓冲区的方法(Buffer-based),这个方法跟基于边界的方法不同,不但在内存中保存区域扩张的边界,而且还保存边界附近的一部分网格,把这部分网格作为缓冲区,进行网格简化的时候就是对这个缓冲区里的网格进行简化。具体简化缓冲区里网格的时候,可以使用在内存中简化网格的各种方法。
这个方法的优点:(1)网格简化的速度比较快;(2)内存的占用量一般就是缓冲区的大小,这个一般是限定大小的,因此简化时的内存消耗是可以控制的,可以依照当前计算机的内存大小来设定,不会出现内存不足的情况;(3)由于在缓冲区中有比较多的网格,并且这部分网格拓扑信息和几何信息都是已知的,因此可以使用在内存进行网格简化的方法对缓冲区里的网格进行简化,能够得到很好的简化效果。使用区域扩张的方法简化网格的同时,可以把简化得到的网格也使用区域扩张的方式保存下来。
具体的,对于模型数据采取条带状存储,对于每一个拓扑连通的区域都可以应用此方法,从一个三角形(扩张中心)开始找一个点与这个三角形的一条边组成第二个三角形,再找一个点又可以与一条边组成另一个三角形,依此进行扩张就可以铺满整个网格区域,通过这样的处理,可以减少一半以上的顶点数量。
步骤1022、压缩原始精细三维模型的纹理数据。
所述纹理数据可以是通过数码相机实地拍摄的相片,也可以是从网上下载的现成数码相片,当所述相片与实际需要的精度不相符时,需要对其进行合并与压缩:
1、将纹理贴图的大小根据对应模型区域的大小进行放缩;
2、将重复的纹理贴图去除;
3、将纹理贴图合并成大图。
4、修改模型中的顶点对应的纹理坐标与纹理路径。
通过采用压缩格式纹理贴图,将原来为BMP等格式的纹理贴图转化为JPEG或其他格式的纹理贴图,减小数据量。利用一般建筑物外观构型的对称性和规律性,对建筑物相片进行分割,如把建筑物的窗户、阳台、每一层都分割出来,以位图形式进行存储,对建筑物选取一种到几种公用的图像块,所述图像块可以类似于图式符号,在建立真实感影像三维模型时,对其进行定位和拼接,实现建筑物三维几何模型整个表面的纹理贴图,提高了纹理贴图在系统中的重复使用率,并使系统的数据量得到最大限度的减小。因此经过以上步骤可以减少纹理贴图传输的批次和大小,能够加速图形的渲染。
步骤103、接受用户的请求,下载模型数据,渲染生成三维模型图形。
通过步骤102的压缩处理,三维模型数据得到了压缩,减少了传输的数据量和渲染所需的数据。
参照图2,示出了本发明另一种三维模型图形生成方法的流程图,包括:
步骤201、获取原始精细三维模型数据。
所述三维模型数据包括表示三维空间物体的多边形网格顶点数据,利用三维模型数据表示三维空间物体在现有技术中有多种实现方法,本发明对此并不做详细介绍。所述三维模型数据是精确表示三维空间物体的顶点网格数据及其它拓扑数据。
步骤202,减少所述原始精细模型数据的顶点数量,按精简级别生成不同层的模型数据。
对数据进行分层是为了当用户在小的屏幕上显示一个比较大的区域时,不会因为数据量太大而看不清,这时只需较粗的数据就可以达到用户的要求。根据情况需要可以进行多级分层,在本发明的一个实施例中,我们进行了20级分层概括。每一次概括都对数据进行抽稀,并设置了不同层级所需要显示的内容。抽稀的原则主要是数据要素的重要程度,另外还需要考虑各个层级所需要的数据量。经过这样的分层处理就形成了一个类似金字塔的数据序列,序列中的每一级都包含了全部空间物体范围中的数据,但在数据量上是逐级递减的。
步骤203、将步骤202所述生成不同层的模型数据按照区域划分成块。
分层处理后的模型数据如果直接下载渲染生成三维模型图形,需要处理的数据量仍然很大,不能很好的实时渲染生成图形。因此需要进一步对三维模型数据进行切分。切分可以以地理范围为依据。也可是以数据量的多少为依据,本发明不对此进行限制。在本发明的一个实施例中,使用正方形对模型数据进行切分。正方形的大小根据单个文件所承载的数据量及文件大小而定。正方形的地理跨度是和所切分的层级是相关的,不同的层级使用不同的跨度。在本发明的一个实施例中,各个层级的切分正方形跨度组合起来为一个2的等比数列,这样就形成了一棵数据四叉树。
步骤204、压缩各分层分块中的三维模型数据。
在对三维模型数据进行分层分块处理后,加快了三维模型图形的渲染速度,为了更快的渲染生成三维模型图形,本发明进一步对分层分块的三维模型数据进行压缩。
为了减少传输和渲染所需的数据量,需要对描述场景物体的多边形网格进行压缩简化。
所述压缩三维模型数据步骤具体包括对三维模型的网格顶点数据的压缩步骤2041和对三维模型的纹理数据的压缩步骤2042。
所述多边形网格简化的方法包括基于几何特征识别方法和基于小波变换等方法。本发明优选采取的是基于流式的三维模型压缩方法。所谓基于流式的三维模型压缩就是把网格看作由多边形组成的流,对于多边形一个接一个的进行压缩。流思想的一个实现就是区域扩张。具体来说,就是从网格的一个多边形出发,把这个多边形看成一个区域(扩张中心),每一次在这个区域的边界上扩张一个多边形,这样得到一个更大的区域(扩张中心),重复此操作,最终得到的区域就是整个网格。使用这种方式就可以对网格中的多边形一个接一个的进行处理。具体操作时,还有很多需要考虑的,比如网格的扩张方式,也就是说,每一次从区域的哪个位置扩张新的多边形;再比如,如果整个网格不是一个连通分支,那么上面的方式就不可能扩张到整个网格,可以通过对网格的每个连通分支都进行一次扩张来解决该问题,显而易见,在区域扩张的过程中,网格中的每一个多边形有且仅有一次进入区域扩张的边界。
所述压缩的具体过程及原理与图1所示方法中的步骤102相同,为节约篇幅,在此不再详述。
步骤2042、压缩原始精细三维模型的纹理数据。
所述纹理数据可以是通过数码相机实地拍摄的相片,也可以是从网上下载的现成数码相片,当所述相片与实际需要的精度不相符时,需要对其进行合并与压缩:
1、将纹理贴图的大小根据对应模型区域的大小进行放缩;
2、将重复的纹理贴图去除;
3、将纹理贴图合并成大图。
4、修改模型中的顶点对应的纹理坐标与纹理路径。
通过采用压缩格式纹理贴图,将原来为BMP等格式的纹理贴图转化为JPEG或其他格式的纹理贴图,减小数据量。利用一般建筑物外观构型的对称性和规律性,对建筑物相片进行分割,如把建筑物的窗户、阳台、每一层都分割出来,以位图形式进行存储,对建筑物选取一种到几种公用的图像块,所述图像块可以类似于图式符号,在建立真实感影像三维模型时,对其进行定位和拼接,实现建筑物三维几何模型整个表面的纹理贴图,提高了纹理贴图在系统中的重复使用率,并使系统的数据量得到最大限度的减小。因此经过以上步骤可以减少纹理贴图传输的批次和大小,能够加速图形的渲染。
步骤205、存储所述分层分块的三维模型数据。
所述存储步骤可以是对三维模型数据分层分块后存储,也可以是分层分块后并压缩后再进行存储,本发明并不对此进行限定。
为了更好的存储效果,本发明优先采取条带状的格式存储模型数据。在本发明的一个实施例中,实现存储的具体过程为:通过前面的描述可知,地图数据是以金子塔结构存储的,共分20层,最下面也是最精细的一层应为0.15米的数据(每格0.15米采一次样),最上面的一层是将地球用8张图存储。第i层数据的每一张图所表示的范围是(180°/2i)*(180°/2i)。编码格式为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,用于接收原始精细模型数据,所述三维模型数据包括表示三维空间物体的多边形网格顶点数据,利用三维模型数据表示三维空间物体在现有技术中有多种实现方法,本发明对此并不做详细介绍。所述三维模型数据是精确表示三维空间物体的顶点网格数据及其它拓扑数据。
分层单元402,用于用于减少精细模型的顶点数量,按精简级别生成不同层的模型数据。
对数据进行分层是为了当用户在小的屏幕上显示一个比较大的区域时,不会因为数据量太大而看不清,这时只需较粗的数据就可以达到用户的要求。根据情况需要可以进行多级分层。在本发明的一个实施例中,我们进行了20级分层概括。每一次概括都对数据进行抽稀,并设置了不同层级所需要显示的内容。抽稀的原则主要是数据要素的重要程度,另外还需要考虑各个层级所需要的数据量。经过这个的分层处理就形成了一个类似金字塔的数据序列,序列中的每一级都包含了全部空间物体范围中的数据,但在数据量上是逐级递减的。
分块单元403,用于将不同层的模型数据按照区域划分成块。
分层处理后的模型数据如果直接下载渲染生成三维模型图形,需要处理的数据量仍然很大,不能很好的实时渲染生成图形。因此需要进一步对三维模型数据进行切分。切分可以以地理范围为依据。也可是以数据量的多少为依据,本发明不对此进行限制。在本发明的一个实施例中,使用的是正方形对模型数据进行切分。正方形的大小根据单个文件所承载的数据量及文件大小而定。正方形的地理跨度是和所切分的层级是相关的,不同的层级使用不同的跨度。在本发明的一个实施例中,各个层级的切分正方形跨度组合起来为一个2的等比数列,这样就形成了一棵数据四叉树。
压缩单元404、用于压缩原始精细三维模型数据,减少三维模型数据的冗余数据。
为了减少传输和渲染所需的数据量,需要对描述场景物体的多边形网格进行压缩简化。。
进一步,所述压缩单元具体包括顶点数据压缩单元4041,用于压缩所述三维模型的网格顶点数据,减少三维模型数据的冗余数据;
进一步,所述顶点数据压缩单元包括:
选定单元40411,用于选定网格中的一个多边形;
扩张单元40412,用于以所述选定的多边形为中心,在中心的边界上扩张多边形,直至扩张至整个网格。
纹理数据压缩单元4042,用于压缩三维模型的纹理数据,减少三维模型数据的冗余数据。
进一步,所述纹理数据压缩单元包括:
纹理压缩单元40421,用于转换纹理贴图的格式,压缩格式纹理贴图;
分割单元40422,用于图像分割,分割重复的纹理贴图;
第二存储单元40423,用于存储所述分割的纹理贴图,所述纹理贴图以位图的格式存储;
拼接单元40424,从第二存储单元调用以位图形式存储的纹理贴图,对其进行定位和拼接实现三维几何模型整个表面的纹理贴图。所述压缩单元及顶点数据压缩单元和纹理数据压缩单元的原理及具体过程与方法所示相同,为了节约篇幅,在此不再详述。
存储单元405,用于分别存储所述分层分块的模型数据。
为了更好的存储效果,本发明优先采取条带状的格式存储模型数据。
图形渲染生成单元406,用于接受用户的请求,下载压缩后的三维模型数据,渲染生成三维模型图形。
通过分层单元、分块单元及压缩单元的处理,三维模型数据得到了压缩,减少了传输的数据量和渲染所需的数据,因此当用户请求下载渲染三维模型图形时,能实时的满足用户的渲染请求。
进一步,由于对模型数据进行了分层分块,因此可以根据用户距离三维空间物体的距离远近和所需要的精度下载所需要的层数据。用户在看三维影像的时候,可以根据用户的位置离三维影像的距离来决定渲染哪一层哪一块的模型数据。这样既可以保证渲染效果又减少了每一次的渲染量。如果用户离模型有一定距离,则并不是模型的精度越大看得越清楚,并不是在每个位置都需要下载最精细的,因此可以根据精度分层分块,这样就减少了每次需要下载并渲染的数据量。压缩数据同样为了减少数据量。这样就可以减少渲染的数据批次,加快渲染,使用户有较好的体验感。
图3、图4的描述较为简略,未详尽之处可以参见本说明书图1、图2相应部分的描述。
以上对本发明所提供的一种三维模型图形的生成方法和装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (14)

1.一种三维模型图形的生成方法,其特征在于,包括:
获取原始精细三维模型数据,所述三维模型数据包括表示三维空间物体的多边形网格顶点数据;
基于流式压缩所述原始精细三维模型的网格顶点数据,及采用压缩格式纹理贴图压缩所述原始精细三维模型的纹理数据,减少三维模型的冗余数据;
接受用户请求,下载压缩后的三维模型数据,渲染生成三维模型图形;
其中,压缩所述原始精细三维模型的网格顶点数据具体过程包括:
a、选定网格中的一个多边形;
b、以所述多边形为扩张中心,在扩张中心的边界上扩张一个多边形,得到一个更大的扩张中心;
c、重复步骤b,直至所述扩张中心扩张至整个网格。
2.如权利要求1所述的方法,其特征在于,在所述压缩三维模型顶点数据前进一步包括:
减少原始精细模型的顶点数量,按精简级别生成不同层的模型数据。
3.如权利要求2所述的方法,其特征在于,还包括:
将不同层的模型数据按照区域划分成块,分别存储所述分层分块后的模型数据。
4.如权利要求3所述的方法,其特征在于,所述渲染生成步骤为:
接受用户请求,下载特定层的模型数据,渲染生成三维模型图形。
5.如权利要求3所述的方法,其特征在于:
采取条带状存储所述分层分块的三维模型数据。
6.如权利要求5所述的方法,其特征在于,所述压缩三维模型的顶点数据的具体过程包括:
a1、选定网格中的一个三角形;
b1、以所述三角形为扩张中心,以所述三角形外的一个点与所述三角形的一条边组成另一个三角形,得到一个更大的扩张中心;
c1、重复步骤b1,直至所述扩张中心扩张至整个网格。
7.如权利要求1所述的方法,其特征在于,所述压缩三维模型的纹理数据步骤包括:
将纹理图像的大小根据对应模型区域的大小进行放缩;
去除重复的纹理;
将纹理图合并成大图。
8.如权利要求7所述的方法,其特征在于,所述压缩的具体步骤为:
压缩格式纹理贴图;
利用对称性和规律性,进行图像分割,将重复的纹理贴图分割,以位图格式存储;
调用所述以位图格式存储的纹理贴图,对其进行定位和拼接,实现三维几何模型整个表面的纹理贴图。
9.如权利要求4所述的方法,其特征在于,所述下载特定层的模型数据具体为:
根据用户距离三维空间物体的距离和所需要的精度确定下载特定层的模型数据,并渲染生成三维模型图形。
10.一种三维模型图形的生成装置,其特征在于,包括:
接收单元,用于接收原始精细三维模型数据,所述模型数据包括表示三维空间物体的多边形网格顶点数据;
顶点数据压缩单元,用于基于流式压缩所述原始精细三维模型的网格顶点数据,减少三维模型数据的冗余数据;纹理数据压缩单元,用于采用压缩格式纹理贴图压缩所述原始精细三维模型的纹理数据,减少三维模型数据的冗余数据;
图形渲染生成单元,用于接受用户的请求,下载压缩后的三维模型数据,渲染生成三维模型图形;
其中,所述顶点数据压缩单元包括:
选定单元,用于选定网格中的一个多边形;
扩张单元,用于以所述选定的多边形为中心,在中心的边界上扩张多边形,直至扩张至整个网格;。
11.如权利要求10所述的装置,其特征在于,还包括:
分层单元,用于减少精细模型的顶点数量,按精简级别生成不同层的模型数据。
12.如权利要求11所述的装置,其特征在于,还包括:
分块单元,用于将不同层的模型数据按照区域划分成块。
13.如权利要求12所述的装置,其特征在于,还包括:
存储单元,用于分别存储分层分块后的模型数据。
14.如权利要求10所述的装置,其特征在于,所述纹理数据压缩单元包括:
纹理压缩单元,用于转换纹理贴图的格式,压缩格式纹理贴图;
分割单元,用于图像分割,分割重复的纹理贴图;
第二存储单元,用于存储所述分割的纹理贴图,所述纹理贴图以位图的格式存储;
拼接单元,从第二存储单元调用以位图形式存储的纹理贴图,对其进行定位和拼接实现三维几何模型整个表面的纹理贴图。
CN200710120040XA 2007-08-07 2007-08-07 一种三维模型图形的生成方法和装置 Active CN101364310B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200710120040XA CN101364310B (zh) 2007-08-07 2007-08-07 一种三维模型图形的生成方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200710120040XA CN101364310B (zh) 2007-08-07 2007-08-07 一种三维模型图形的生成方法和装置

Publications (2)

Publication Number Publication Date
CN101364310A CN101364310A (zh) 2009-02-11
CN101364310B true CN101364310B (zh) 2012-10-31

Family

ID=40390665

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200710120040XA Active CN101364310B (zh) 2007-08-07 2007-08-07 一种三维模型图形的生成方法和装置

Country Status (1)

Country Link
CN (1) CN101364310B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105023234A (zh) * 2015-06-29 2015-11-04 嘉兴慧康智能科技有限公司 基于嵌入式系统存储优化的图形加速方法

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101794461B (zh) * 2010-03-09 2011-12-14 深圳大学 一种三维建模方法及系统
CN101877147B (zh) * 2010-06-29 2012-10-03 浙江大学 三维三角形网格模型的简化算法
CN102004750B (zh) * 2010-08-02 2012-09-12 电子科技大学 一种无冗余的大规模地形数据组织方法和读取方法
WO2013029232A1 (en) * 2011-08-30 2013-03-07 Technicolor (China) Technology Co., Ltd. Multi-resolution 3d textured mesh coding
CN103186924B (zh) * 2011-12-30 2015-12-16 国际商业机器公司 用于处理三维模型数据的方法和装置
GB2525223B (en) * 2014-04-16 2020-07-15 Advanced Risc Mach Ltd Graphics processing systems
CN103927781B (zh) * 2014-05-06 2017-01-04 苏州中科图新网络科技有限公司 一种三维场景下视觉相关的模型渐进渲染方法
CN105306503B (zh) * 2014-07-03 2019-09-20 深圳力维智联技术有限公司 区域分析图实现方法及其系统
EP2966621A1 (en) * 2014-07-09 2016-01-13 Donya Labs AB Method and system for converting an existing 3D model into graphical data
US10055857B2 (en) * 2014-08-29 2018-08-21 Ati Technologies Ulc Extension of the MPEG/SC3DMC standard to polygon meshes
EP2996086A1 (en) * 2014-09-12 2016-03-16 Kubity System, method and computer program product for automatic optimization of 3d textured models for network transfer and real-time rendering
CN104240284A (zh) * 2014-10-10 2014-12-24 重庆邮电大学 一种基于Flash游戏图像渲染方法及系统
CN104613967B (zh) * 2015-01-23 2017-03-29 中国民航大学 便携式机载导航系统的航图管理方法
CN106327557B (zh) * 2015-06-18 2019-11-08 中国石油化工股份有限公司 一种大规模数据的快速渲染方法
CN106683155B (zh) * 2015-11-04 2020-03-10 南京地心坐标信息科技有限公司 一种三维模型综合动态调度方法
CN107038737B (zh) * 2016-02-03 2021-05-28 博雅网络游戏开发(深圳)有限公司 立体棋牌绘制方法和装置
CN107240146B (zh) 2016-03-24 2020-03-20 华为技术有限公司 业务指标显示的方法和设备
CN106331676B (zh) * 2016-08-31 2018-03-27 贾岳杭 基于虚拟现实环境的三维数据的处理与传输方法
CN107808417A (zh) * 2016-09-08 2018-03-16 索尼公司 信息处理设备和信息处理方法
CN107463398B (zh) 2017-07-21 2018-08-17 腾讯科技(深圳)有限公司 游戏渲染方法、装置、存储设备及终端
CN108280009B (zh) * 2017-12-25 2021-12-28 福建天晴数码有限公司 一种监控网格资源的方法及终端
CN110782516B (zh) * 2019-10-25 2023-09-05 四川视慧智图空间信息技术有限公司 一种三维模型数据的纹理合并方法及相关装置
CN111080728A (zh) * 2019-12-19 2020-04-28 上海米哈游天命科技有限公司 一种贴图处理方法、装置、设备及存储介质
CN111696111B (zh) * 2020-06-15 2023-04-18 重庆大学 一种基于ssdf衰减图聚类的3d模型网格分割方法
CN112419483A (zh) * 2020-11-24 2021-02-26 中电科新型智慧城市研究院有限公司 一种三维模型数据的传输方法及服务器
CN112906241B (zh) * 2021-03-17 2023-07-04 青岛慧拓智能机器有限公司 矿区自动驾驶仿真模型构建方法、装置、介质及电子设备
CN113470171B (zh) * 2021-07-07 2024-01-30 西安震有信通科技有限公司 一种城市三维建筑可视化构建方法、终端设备及存储介质
CN116843816B (zh) * 2023-07-20 2024-02-06 北京中关村软件园发展有限责任公司 用于产品展示的三维图形渲染展示方法及装置
CN117230487A (zh) * 2023-11-14 2023-12-15 三峡科技有限责任公司 电解水制氢能耗监测的可视化系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6018347A (en) * 1996-04-12 2000-01-25 Multigen Paradigm, Inc. Methods and apparatus for rendering three-dimensional images
US6587104B1 (en) * 1999-09-30 2003-07-01 Microsoft Corporation Progressive hulls
US7042454B1 (en) * 1999-10-27 2006-05-09 Hewlett-Packard Development Company, L.P. Method and apparatus for displaying distributed multiresolution scenes
CN1815507A (zh) * 2005-02-03 2006-08-09 三星电子株式会社 变换对象的图形数据的方法、设备和介质
CN1946180A (zh) * 2006-10-27 2007-04-11 北京航空航天大学 一种基于Octree的三维模型压缩编/解码方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6018347A (en) * 1996-04-12 2000-01-25 Multigen Paradigm, Inc. Methods and apparatus for rendering three-dimensional images
US6587104B1 (en) * 1999-09-30 2003-07-01 Microsoft Corporation Progressive hulls
US7042454B1 (en) * 1999-10-27 2006-05-09 Hewlett-Packard Development Company, L.P. Method and apparatus for displaying distributed multiresolution scenes
CN1815507A (zh) * 2005-02-03 2006-08-09 三星电子株式会社 变换对象的图形数据的方法、设备和介质
CN1946180A (zh) * 2006-10-27 2007-04-11 北京航空航天大学 一种基于Octree的三维模型压缩编/解码方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105023234A (zh) * 2015-06-29 2015-11-04 嘉兴慧康智能科技有限公司 基于嵌入式系统存储优化的图形加速方法
CN105023234B (zh) * 2015-06-29 2018-02-23 嘉兴慧康智能科技有限公司 基于嵌入式系统存储优化的图形加速方法

Also Published As

Publication number Publication date
CN101364310A (zh) 2009-02-11

Similar Documents

Publication Publication Date Title
CN101364310B (zh) 一种三维模型图形的生成方法和装置
CN107423445B (zh) 一种地图数据处理方法、装置及存储介质
CN110070613B (zh) 基于模型压缩和异步加载的大型三维场景网页展示方法
Gobbetti et al. Layered point clouds: a simple and efficient multiresolution structure for distributing and rendering gigantic point-sampled models
Vanegas et al. Modelling the appearance and behaviour of urban spaces
CN110543716B (zh) 三维架空电缆层级电网优化方法、装置和计算机设备
CN101119485A (zh) 一种基于特征保留的三维模型递进传输方法
CN110599891B (zh) 一种电网设备地图渲染方法
CN102693553B (zh) 一种实现三维效果的图表创建方法及装置
JP2022024065A (ja) マルチ解像度画像システム
CN103309943A (zh) 一种三维地理信息平台及其地形数据处理方法
CN105405166A (zh) 一种基于线性四叉树的lod模型生成方法
CN101408990B (zh) 一种城市建筑模型的渐进压缩和传输方法
CN108717729A (zh) 一种面向虚拟地球的地形多尺度tin在线可视化方法
CN110297924A (zh) 点云数据的处理及渲染方法、装置、设备及存储介质
CN112085826A (zh) 一种高效的三维空间网格渲染方法及装置
Zach et al. Time-critical rendering of discrete and continuous levels of detail
Andújar et al. Visualization of Large‐Scale Urban Models through Multi‐Level Relief Impostors
Schilling et al. Vector based mapping of polygons on irregular terrain meshes for web 3D map services
CN108830929A (zh) 基于数据库的多分辨率地形金字塔模型生成方法及系统
CN117408004A (zh) 一种基于矢量切片技术实现三维管网动态建模方法及系统
CN112687007A (zh) 一种基于lod技术的立体网格图生成方法
Danovaro et al. Level-of-detail for data analysis and exploration: A historical overview and some new perspectives
Royan et al. Hierarchical representation of virtual cities for progressive transmission over networks
Amara et al. A GPU Tile-Load-Map architecture for terrain rendering: theory and applications

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant