CN102722885A - 一种加快三维图形显示的方法 - Google Patents
一种加快三维图形显示的方法 Download PDFInfo
- Publication number
- CN102722885A CN102722885A CN2012101610725A CN201210161072A CN102722885A CN 102722885 A CN102722885 A CN 102722885A CN 2012101610725 A CN2012101610725 A CN 2012101610725A CN 201210161072 A CN201210161072 A CN 201210161072A CN 102722885 A CN102722885 A CN 102722885A
- Authority
- CN
- China
- Prior art keywords
- node
- depth image
- cutting
- subspace
- tree
- 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.)
- Granted
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明提供一种加快三维图形显示的方法,首先,对场景进行空间划分,得到包含不同对象子空间;其次,根据以上步骤对场景空间进行划分的结果,生成一个深度图像树;第三,从生成的深度图像树中查找相应的节点所对应的深度图像,在三维场景中显示。利用本发明的技术方案能够节约计算机内存,同时可以快速查找出三维场景中所需要的深度图像,保证三维显示的速度。
Description
技术领域
本发明涉及一种加快三维图形显示的方法,属于三维图形可视化领域。
背景技术
点云(Point Cloud)是在同一空间参考坐标系下可以表达目标空间分布的XYZ坐标的集合,还可以包括如激光反射强度或RGB真彩色等其他信息(Barber D.M.,Mills J.P.and Bryan P.G,2003)。随着三维激光扫描技术在中国的逐步深入的应用,特别是在古建筑领域,应用地面三维激光扫描仪获取古建筑的三维点云,用于古建筑的数据存档、分析以及显示,已经成为越来越普及的测量手段。目前测绘领域所常提到的点云数据主要通过两种方式获取:第一种通过激光测量技术获取,包括主要地面激光雷达,机载Lidar和车载激光雷达获取的点云数据;第二种是通过摄影测量的方法从航空遥感影像中获得。图1为利用地面激光雷达扫描获取的太和门内部建筑物构件的点云数据显示效果,各个点云反映了X、Y、Z坐标和反射强度。
距离影像(Range Images)是数字图像的一种特殊形式。距离影像每一个象素值代表了场景中可见点到某已知参考框架的距离。因此距离影像可以生成场景的三维结构信息。距离影像也被称为深度图像(depth images)、深度图(depth maps),xyz图(xyz maps),表面轮廓(surface profiles)或者2.5维图像(2.5D images)。距离影像可以以图像x,y轴作为坐标轴,用点的深度值矩阵来表达距离影像,距离值矩阵中的元素值反应了点的空间组织信息。深度图像并不仅仅局限于以平面作为参考框架,还可以以空间点、线、面作为参考框架。深度图像按照参考基准的不同可以分为三类,即以点、线、面为参考框架的深度图像。点可以理解为三维空间中的一点;线基准可以包含指点基准和曲线基准等;面可以有很多种,其中规则的面包括平面,柱面、球面、圆锥面、圆台面,圆环面等。在以点作为参考框架时,由于深度图像记录点到基准面的距离,当球面、圆柱面、弯管面半径为0时,这些面分别表现为三维空间中的点、直线和曲线。
也就是说,点云是深度图像的一种间接表达形式,它是将深度图像的深度值换算到三维坐标系得到的三维坐标点。从参考体系来看,点云是以大地坐标系或局部坐标系作为参考框架的,点的XYZ坐标是相对于坐标系原点计算得到,而从深度图像的分类可知,深度图像的参考基准则更加广泛,可以是空间中的点、线或面。
激光扫描获取的点云数据是三维的散乱无序的点的集合,而深度图像则是有序的2.5维数据集合,其降低了数据的维数,因此其相比点云来说数据量要小很多。
在二维可视化中,对于空间几何对象最常用的方法是采用最小外包矩形(Minimum Bounding Rectangle,简称MBR)进行管理,而在三维可视化中,采用三维空间网格来管理深度图像,空间网格由对象的最小外包盒(Minimum Bounding Box,简称MBB)构成,MBB的8个顶点为网格顶点,一个MBB为一个网格单位。MBB只存储其左后下角和右前上角两点的三维坐标,如图2所示。
点云数据的可视化过程可以用图3的过程来表示:
具体过程描述如下:首先进行点云特征分割的预处理工作,根据物体构件的特征将点云数据分为多个类别,所述构件特征可以是柱子、梁、瓦等构件;然后导入点云数据,根据点云形状判断点云所参考的基准面;然后对基准面拟合分别生成平面基准面、柱面基准面或球面基准面;接着指定内插格网大小,根据生成的基准面类型分别生成平面深度图像、柱面深度图像或球面深度图像;最后计算点云的最小包围盒(MBB),建立MBB和深度图像之间对应关系,并将MBB和深度图像对象模型一并存入数据库,可视化时,从数据库中调取相应的深度图像进行绘制。
上述过程中重要的一个步骤是加快深度图像的显示和检索。为了实现对深度图像的快速显示和检索,关键是要建立深度图像与包含它的MBB的关系和MBB相互之间的关系。可以根据原始点云拟合所建立的不同基准面的几何参数,确定深度图像相对于MBB的旋转平移矩阵,建立有效的三维空间索引。
最小外包盒实体表达深度图像所在的最小外包盒(MBB),包括左下后点、右上前点、平移旋转矩阵,深度图像对象指针等属性。其中左下后点和右上前点确定最小外包盒的空间位置,平移旋转矩阵记录深度图像的参考基准面的原点相对于最小外包盒的几何变换关系,深度图像指针指向深度图像数据库对象。深度图像实体包括的属性有:基准面类型,坐标单位、行数、列数、X方向格网间距、Y方向格网间距、距离缩放比例尺、距离最大值、距离最小值、反射强度最大值、反射强度最小值,距离和反射强度值集合。
对于大量的三维点云数据,一次性把点云数据所对应的深度图像都装载到计算机内存后再进行显示,这既导致计算机内存和CPU计算与图形资源的严重不足。三维可视化过程只是采用二维的屏幕来显示三维空间,传统方法是通过Z-缓冲算法来进行可见性判别,由于该方法必须考察输入场景中所有图形,没有性能良好的软硬件体系结构,Z-缓冲将占据图形处理的大部分时间,也需要消耗大量的内存。
发明内容
本发明要解决的技术问题是提供一种加快三维点云数据现实的方法,不必将所有的深度图像一次性调入内存,节约计算机内存,同时可以快速查找出三维场景中所需要的深度图像,保证三维显示的速度。另一方面,因为屏幕前的用户看到的实际上只是某一个角度三维空间,因此只需要将用户当前观看的角度所能够看到的三维对象在屏幕上绘制即可,因此本发明进行了遮挡处理,不绘制被遮挡的物体,从而加快了显示的速度
为此,本发明采用了如下技术方案:
一种加快三维图形显示的方法,其特征在于,包含如下步骤:
第一步骤,对场景进行空间划分,得到包含不同对象子空间;
第二步骤,根据对以步骤对场景空间进行划分的结果,生成一个深度图像树;
第三步骤,从第二步骤中生成的深度图像树中查找相应的节点所对应的深度图像,在三维场景中显示。
上述加快三维图形显示的方法,进一步包括:
对场景进行划分是按照各深度图像所表示出的对象的空间位置的关系来进行,并且各子空间不相交,最终划分的结果是同一个对象只处于一个子空间中。
上述加快三维图形显示的方法中对场景空间进行划分的步骤包括:
(1)与场景中某一对象对应的最小外包盒的距离小于阈值TH1的对象被划分为一个子空间,
(2)对步骤(1)划分得到的子空间再进行划分,与场景中某一对象对应的最小外包盒的距离大于阈值TH2,小于阈值TH1对象被划分为另一个子空间;
(3)对步骤(2)划分得到的空间再采用阈值进行划分,一直到各个子空间中只包含唯一的对象。
上述加快三维图形显示的方法的生成深度图像树的步骤包括:
A.建立一个根节点root,表示整个三维场景;
B.逐个判断每个子空间是否包含多于一个对象,如果包含多个对象,则在深度图像树的根节点root下建立一个与该子空间对应的一个中间节点,如果只包含一个对象,则在在深度图像树的根节点root下建立一个与该子空间对应一个叶节点leaf;
C.对步骤B中所建立的节点node进行判断,如果该中间节点node所对应的空间中的某个子空间仍然包含多个对象,则在该中间节点node下建立一个儿子中间节点,如果该中间节点node所对应的空间中的某个子空间只包含一个对象,则在该中间节点node下建立一个叶子节点;一直到每个子空间都只包含一个对象,即每个对象对应于树中的一个叶子节点。
上述加快三维图形显示的方法,还包括:深度图像树中的每一个节点都是包含索引信息,用于索引其儿子节点所包含的信息;从第二步骤中生成的深度图像树中查找相应的节点所对应的深度图像树的步骤包括:从根结点开始,递归地遍历所有索引空间与查找区域相交的子树,通过根节点的索引信息确定的儿子节点中是否包含索引了所需要查找的对象所对应的深度图像的儿子节点,如果包含,则根据该儿子节点的索引信息继续从该儿子节点的下层节点,直到查找到包含索引了所需要查找的对象所对应的深度图像的叶节点。
上述第三步骤中包括裁剪处理,所述处理为采用空间对象的最小包围盒(MBB)信息进行视锥裁剪的计算判断,判断包含许多顶点数据的对象的最小包围盒与金字塔形状的视景体(view frustum)是否相交,如果相交则从外存中调度对象模型数据,并送进绘制通道;所述裁剪处理包括视锥裁剪、背面裁剪和遮挡裁剪。
视锥裁剪的过程为:将数据域与金字塔形状的视景体相交,顶点数据送入绘制通道中,经过模型、视图和投影变换后,裁剪掉位于绘制窗口以外的部分顶点;
背面裁剪过程为:根据表面法线和视线的夹角关系来判断对象是否被背面裁剪,当视线方向和法线方向的夹角a小于90度时,该对象被裁减掉;
遮挡裁剪的过程为:判断MBB之间遮挡关系,根据可见的MBB调出与之对应的深度图像,而对于被完全遮挡了的MBB,则不调取与之相应的深度图像进行绘制,所述遮挡裁剪包括视锥裁剪、背面裁剪和遮挡裁剪。
附图说明
图1为利用地面激光雷达扫描获取的太和门内部建筑物构件的点云数据显示效果;
图2为三维坐标中的最小外包盒的示意图;
图3为点云数据的可视化过程;
图4为三维场景中的一组对象的示意图;
图5为空间划分的结果;
图6为建立的深度图像树;
图7为视锥裁剪、背面裁剪和遮挡裁剪的示意图;
图8为以太和门屋顶及大木结构粗层次细节显示效果图;
图9为太和门屋顶及大木结构较细层次细节显示效果图。
具体实施方式
以附图4中所示出的场景为例说明本发明。附图4示出了一个场景,其包含以下对象:一个桌子和一个凳子,桌面上放有一个圆形盘子,盘子中方有一个三角形饼干;和一个方形盒子,盒子中方有一个苹果。
第一步骤,对场景进行空间划分,得到包含不同对象子空间。
因为场景中的每个对象的几何表示是一个最小外包盒,而一个最小外包盒对应一个深度图像,因此也就是对深度图像进行区域的划分,对场景进行划分的原则按照各深度图像所表示出的对象的空间位置的关系来进行。例如以桌子为中心,与桌子对应的最小外包盒的距离小于某一阈值TH1的对象被划分为一个子空间,对划分得到的子空间再进行划分,与场景中某一对象对应的最小外包盒的距离大于阈值TH2,小于阈值TH1对象被划分为另一个子空间;划分得到的空间再采用阈值进行划分,一直到各个子空间中只包含唯一的对象。例如可以将附图4所示的桌子,桌子上的盘子和盒子,以及饼干和苹果所在的空间区域划分为一个空间S1,凳子划分为另一个空间S2;对空间S1可以进一步划分为桌子所在的空间S3、盘子和饼干所在的空间S4,盒子和苹果所在的空间S5;进一步可以对空间S4 和S5进行进一步划分,一直到各个子空间中只包含唯一的对象。为了减小冗余,各子空间不相交,同一个对象只能处于一个子空间中。最终得到如图5所示的空间结构。
第二步骤,根据对以步骤对场景空间进行划分的结果,生成一个深度图像树;
生成深度图像树的步骤包括:
A.建立一个根节点root,表示整个三维场景;
B.逐个判断每个子空间是否包含多于一个对象,如果包含多个对象,则在深度图像树的根节点root下建立一个与该子空间对应的一个中间节点,如果只包含一个对象,则在在深度图像树的根节点root下建立一个与该子空间对应一个叶节点leaf;
C.对步骤B中所建立的节点node进行判断,如果该中间节点node所对应的空间中的某个子空间仍然包含多个对象,则在该中间节点node下建立一个儿子中间节点,如果该中间节点node所对应的空间中的某个子空间只包含一个对象,则在该中间节点node下建立一个叶子节点;一直到每个子空间都只包含一个对象,即每个对象对应于树中的一个叶子节点。
上述过程也可以描述为:插入一个空间目标,从根结点开始,检查所有的中间节点,按照“最小覆盖体积”的优化原则找出一索引项:(1)包围新增目标后,中间节点的“体积”增量最小的索引项。(2)如果增量相同, 中间节点的“体积”最小的索引项。然后对选中的索引项对应的子树按照“最小覆盖体积”的优化原则进行递归搜索,直至叶子结点。如果叶子结点未“满”,直接在该叶子结点插入新增目标的索引信息,然后向上依次调整其父结点对应索引项的矩形体直至根结点;如果叶子结点已经“满”,插入新增目录将导致叶子结点溢出,故需要分裂该叶子结点(即新增一个叶子结点),并在其父结点中增加一索引项。可以理解,上述“最小覆盖体积”的优化原则是使得每个子空间只包含一个对象的原则。
如附图6所示。首先建立一个根节点root,表示整个三维场景,然后对三维场景进行空间划分,得到包含不同对象子空间,逐个判断每个子空间是否包含多于一个对象,如果包含多个对象,则该子空间对应与树中的一个中间节点node,如果只包含一个对象,则该子空间对应树中的一个叶节点leaf。接着对每个中间节点node进行判断,如果该中间节点node所对应的空间中的某个子空间仍然包含多个对象,则在该中间节点node下建立一个儿子中间节点node,如果该中间节点node所对应的空间中的某个子空间只包含一个对象,则在该中间节点node下建立一个叶子节点leaf。一直到每个子空间都只包含一个对象,每个对象对应于树中的一个叶子节点。上述每个叶子节点对应一个深度图像,生成了一个深度图像树。该根据附图4的场景所建立的深度图像树如图6所示。
第三步骤,从第二步骤中生成的深度图像树中查找相应的节点所对应的深度图像树,在三维场景中显示。
深度图像树中的每一个节点都是包含索引信息,用于索引其儿子节点所包含的信息;
从第二步骤中生成的深度图像树中查找相应的节点所对应的深度图像树的步骤包括:
从根结点开始,递归地遍历所有索引空间与查找区域相交的子树,通过根节点的索引信息确定的儿子节点中是否包含索引了所需要查找的对象所对应的深度图像的儿子节点,如果包含,则根据该儿子节点的索引信息继续从该儿子节点的下层节点,直到查找到包含索引了所需要查找的对象所对应的深度图像的叶节点。
在建立了深度图像树的基础上,可以快速地查找场景中需要显示的深度图像,因为每一个中间节点都包含了其儿子节点的索引。例如要查找对象“饼干”所对应的深度图像,从根结点开始,递归地遍历所有索引空间与查找区域相交的子树,通过根节点的索引信息可以确定的儿子节点node1中包含索引了“饼干”所对应的深度图像的儿子节点node2,找到node2,根据其索引信息可以确定表示“饼干”所对应的深度图像的叶子节点leaf4。
以Oralce数据库为例,说明上述过程的实现方式。
可以采用Oracle数据库中的ODCIIndexCreate函数来创建和索引表数据的插入操作;创建的索引组织表结构设计如下表:
字段名称 | 类型 | 描述 |
NODE_ID | NUMBER | 树中该节点唯一ID号 |
NODEL_LEVEL | NUMBER | 树中该节点的等级,叶节点等级值为一,其父节点层为2,依此类推 |
INFO | BLOB | 节点的孩子节点信息,是一组child_rowid值,其中child_rowid是孩子节点行ID |
创建深度图像树INDEXTYPE类型,名称为3DRTREE_INDEX,并可以用它来创建域索引并进行查询。这里列出实现上述过程的几个重要的函数,以及创建过程:
(1)创建深度图像MBB表
CREATE TABLE MBBObjTab(MBBObj ld_3dMBB_typ);
(2)向深度图像MBB表写入数据。
INSERT INTO MBBObjTab VALUES(ld_3dMBB_typ(ld_point3d_typ(0.0,0.0,0.0), ld_point3d_typ (34.0,870.0,21.0) ,ld_GeoTranslate_typ(0,0,0,0,0,1.0),1,3,1));
INSERT INTO MBBObjTab VALUES(ld_3dMBB_typ(ld_point3d_typ(1.0,1.0,1.0), ld_point3d_typ(23.0,540.0,871.0),ld_GeoTranslate_typ(0,0,0,0,0,1.0),4,6,3));
INSERT INTO MBBObjTab VALUES(ld_3dMBB_typ(ld_point3d_typ(10.0,10.0,20.0), ld_point3d_typ(99.0,70.0,331.0),ld_GeoTranslate_typ(0,0,0,0,0,1.0),5,8,2));
INSERT INTO MBBObjTab VALUES(ld_3dMBB_typ(ld_point3d_typ(40.0,23.0,10.0), ld_point3d_typ(760,30.0,65.0),ld_GeoTranslate_typ(0,0,0,0,0,1.0),3,7,4));
(3)创建域索引。当INDEXTYPE创建好之后便可利用创建的INDEXTYPE类型3DRTREE_INDEX对MBBObjTab表的MBBObj列创建域索引。
CREATE INDEX MBB_spatial_idx ON MBBObjTab(MBBObj) INDEXTYPE IS 3DRTREE_INDEX ;
在创建时调用ODCIIndexCreate生成索引组织表(如表5-7),并调用外部例程创建R树索引并将索引信息写入到索引表。
(4)利用域索引查询。当域创建好之后便可利用空间操作进行查询得满足条件的记录。
SELECT t.MBBObj.DEMObjPointer FROM MBBObjTab t WHERE LD_WITHIN_DISTANCE (t.mbbobj,ld_3dMBB_typ(ld_point3d_typ(32.0,54.0,66.0),ld_point3d_typ(44.0,30.0,71.0),ld_GeoTranslate_typ(0,0,0,0,0,1.0),NULL,NULL,NULL),50)=‘TRUE’;
上述查询语句表示在查询离指定的MBB对象ld_3dMBB_typ(ld_point3d_typ (32.0,54.0,66.0),ld_point3d_typ(44.0,30.0,71.0),ld_GeoTranslate_typ(0,0,0,0,0,1.0),NULL,NULL,NULL)距离在50米范围内的MBB所对应的深度图像的指针。
需要说明的是,这里只是示例性地采用Oracle数据库进行实现,因而没有详细列出每个函数的具体代码的实现,有了本发明提出的思想,在本领域的技术人员看来,采用程序、软件、硬件来实现都是可以获得的,并且采用其他数据库完全是可以实现本发明的。
以上是深度图像在数据库中的组织过程,下面描述第三步骤中所使用的加快显示速度的方法。
因为在二维屏幕上显示三维场景,会出现遮挡现象。以附图4中所示出的场景为例说明本发明。附图4示出了一个场景,其包含以下对象:一个桌子和一个凳子,桌面上放有一个圆形盘子,盘子中方有一个三角形饼干;和一个方形盒子,盒子中方有一个苹果。当观察者所处的角度在盒子的侧面时,盒子里面的苹果是看不见的,这种情况下,可以不显示苹果而不影响观看效果。
为了避免对场景中不可见部分不必要的处理,有效的途径就是采用可见性裁剪技术,可见性裁剪技术就是删除对最终图像没有任何贡献的场景模型,仅将可见的模型数据发送到绘制管线,从而达到减少处理数据量和提高绘制效率的目的。
在本发明中,上述第三步骤中使用了裁剪处理,所述裁剪处理包括视锥裁剪、背面裁剪和遮挡裁剪三类。
如图7,视锥裁剪的过程为:将数据域与金字塔形状的视景体相交,顶点数据送入绘制通道中,经过模型、视图和投影变换后,裁剪掉位于绘制窗口以外的部分顶点。也就是说,视锥裁剪就是将数据域与金字塔形状的视景体(view frustum)相交,顶点数据送入绘制通道中,经过模型、视图和投影变换后,部分顶点位于绘制窗口以外,它们对于最终图像没有任何影响,从而被裁剪掉,不参与后续的绘制步骤。
背面裁剪指某些图形虽然处于视锥体内,由于背对视点,即使不予绘制也不会对最终影像造成任何影响。其过程为根据表面法线和视线的夹角关系来判断对象是否被背面裁剪,当视线方向和法线方向的夹角a小于90度时,该对象被裁减掉。如图7所示,判断三角形图元是否被背面裁剪,可以根据其表面法线和视线的夹角关系来判断,物体的法线朝向正右方,当视线方向和法线方向的夹角a小于90度时,眼睛无法看到物体的正面,此时物体不可见,不用考虑绘制对象,因此模型数据不用从数据库调入内存。
遮挡裁剪,就是裁剪因为被其他特征遮拦而不可见的图形数据。遮挡裁剪的具体实现方法是,判断MBB之间遮挡关系,根据可见的MBB调出与之对应的深度图像,而对于被完全遮挡了的MBB,则不调取与之相应的深度图像进行绘制。这种技术往往能够消除大部分的图形数据,特别是对于封闭的室内场景更为明显,如附图4中的盒子中的苹果。
上述三类裁剪的一个总的原则是:采用空间对象的最小包围盒(MBB)信息进行视锥裁剪的计算判断,即判断包含许多顶点数据的对象的最小包围盒与金字塔形状的视景体(view frustum)是否相交,如果相交则从外存中调度对象模型数据,并送进绘制通道。一个包含许多顶点数据的对象的最小包围盒完全落于视锥体外,则无需调度对象数据,也无需将对象的顶点数据送入绘制通道,从而节省数据调度和图形绘制的开销,加速可视化效率。
当观察者与对象(如图4中的桌子)的距离较远时,桌子上的盘子,盒子以及盘子里的饼干,盒子里的苹果在屏幕上显示尺寸很小,这个时候其细节对于观察者来说是不感兴趣的,为了加快显示过程,可以不掉去盘子,盒子以及盘子里的饼干,盒子里的苹果等对象所对应的深度图像,不绘制其MBB。
在场景中的同一个对象的细节可以随着其在场景中的重要程度,或者用户的感兴趣程度变化而变化。对象的细节可以随着观察者距离对象的距离L的改变而改变,其层次细节程度随着距离L的增大而降低,随着距离L的减小而增加。
例如当观察者距离观察的对象较远时,当观察者距离被观察的对象的距离(如场景中的桌子)大于某一个阈值TH1(如50米)时,则只需要调取出桌子所对应深度图像进行绘制,而桌子上的盘子、盒子、饼干、苹果等对象因为距离观察者较远,而被认为是不重要的,或者是观察着不感兴趣的;而当观察者距离桌子的距离小于阈值TH1,而小于阈值TH2(如10米),则需要调取出桌子以及桌子上的盘子、盒子所对应的深度图像进行绘制;更进一步,当观察者距离桌子的距离小于阈值TH2(如10米),则需要调取出桌子以及桌子上的盘子、盒子、饼干、苹果等对象所对应的深度图像进行绘制。
如图8为以太和门屋顶及大木结构粗层次细节显示效果图,图9为太和门屋顶及大木结构较细层次细节显示效果图。
本发明的有益的技术效果是可以预见的,通过对空间进行划分而生成深度图像树,来深度图像的组织,能够加快查找过程,并且在显示过程中进行了遮挡处理,节约三维可视化时间,同时也节约了内存开销。
Claims (9)
1.一种加快三维图形显示的方法,包括将用户当前观看的角度所能够看到的三维对象在屏幕上绘制,其特征在于,包含如下步骤:
第一步骤,对场景进行空间划分,得到包含不同对象子空间;
第二步骤,根据对以步骤对场景空间进行划分的结果,生成一个深度图像树;
第三步骤,从第二步骤中生成的深度图像树中查找相应的节点所对应的深度图像,在三维场景中显示。
2.如权利要求1所述的加快三维图形显示的方法,其特征在于:
对场景进行划分是按照各深度图像所表示出的对象的空间位置的关系来进行,并且各子空间不相交,最终划分的结果是同一个对象只处于一个子空间中。
3.如权利要求1所述的加快三维图形显示的方法,其特征在于:
对场景空间进行划分的步骤包括:
(1)与场景中某一对象对应的最小外包盒的距离小于阈值TH1的对象被划分为一个子空间,
(2)对步骤(1)划分得到的子空间再进行划分,与场景中某一对象对应的最小外包盒的距离大于阈值TH2,小于阈值TH1对象被划分为另一个子空间;
(3)对步骤(2)划分得到的空间再采用阈值进行划分,一直到各个子空间中只包含唯一的对象。
4.如权利要求1所述的加快三维图形显示的方法,其特征在于:
生成深度图像树的步骤包括:
A.建立一个根节点root,表示整个三维场景;
B.逐个判断每个子空间是否包含多于一个对象,如果包含多个对象,则在深度图像树的根节点root下建立一个与该子空间对应的一个中间节点,如果只包含一个对象,则在在深度图像树的根节点root下建立一个与该子空间对应一个叶节点leaf;
C.对步骤B中所建立的节点node进行判断,如果该中间节点node所对应的空间中的某个子空间仍然包含多个对象,则在该中间节点node下建立一个儿子中间节点,如果该中间节点node所对应的空间中的某个子空间只包含一个对象,则在该中间节点node下建立一个叶子节点;一直到每个子空间都只包含一个对象,即每个对象对应于树中的一个叶子节点。
5.如权利要求1所述的加快三维图形显示的方法,其特征在于:
深度图像树中的每一个节点都是包含索引信息,用于索引其儿子节点所包含的信息;
从第二步骤中生成的深度图像树中查找相应的节点所对应的深度图像树的步骤包括:
从根结点开始,递归地遍历所有索引空间与查找区域相交的子树,通过根节点的索引信息确定的儿子节点中是否包含索引了所需要查找的对象所对应的深度图像的儿子节点,如果包含,则根据该儿子节点的索引信息继续从该儿子节点的下层节点,直到查找到包含索引了所需要查找的对象所对应的深度图像的叶节点。
6.如权利要求1所述的加快三维图形显示的方法,其特征在于:
上述第三步骤中包括裁剪处理,所述处理为采用空间对象的最小包围盒(MBB)信息进行视锥裁剪的计算判断,判断包含许多顶点数据的对象的最小包围盒与金字塔形状的视景体(view frustum)是否相交,如果相交则从外存中调度对象模型数据,并送进绘制通道;所述裁剪处理包括视锥裁剪、背面裁剪和遮挡裁剪。
7.如权利要求6所述的加快三维图形显示的方法,其特征在于:
视锥裁剪的过程为:将数据域与金字塔形状的视景体相交,顶点数据送入绘制通道中,经过模型、视图和投影变换后,裁剪掉位于绘制窗口以外的部分顶点。
8.如权利要求6所述的加快三维图形显示的方法,其特征在于:
背面裁剪过程为:根据表面法线和视线的夹角关系来判断对象是否被背面裁剪,当视线方向和法线方向的夹角a小于90度时,该对象被裁减掉。
9.如权利要求6所述的加快三维图形显示的方法,其特征在于:
遮挡裁剪的过程为:判断MBB之间遮挡关系,根据可见的MBB调出与之对应的深度图像,而对于被完全遮挡了的MBB,则不调取与之相应的深度图像进行绘制,所述遮挡裁剪包括视锥裁剪、背面裁剪和遮挡裁剪。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210161072.5A CN102722885B (zh) | 2012-05-23 | 2012-05-23 | 一种加快三维图形显示的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210161072.5A CN102722885B (zh) | 2012-05-23 | 2012-05-23 | 一种加快三维图形显示的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102722885A true CN102722885A (zh) | 2012-10-10 |
CN102722885B CN102722885B (zh) | 2014-09-17 |
Family
ID=46948631
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210161072.5A Active CN102722885B (zh) | 2012-05-23 | 2012-05-23 | 一种加快三维图形显示的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102722885B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103236074A (zh) * | 2013-03-25 | 2013-08-07 | 深圳超多维光电子有限公司 | 一种2d/3d图像处理方法及装置 |
CN103679791A (zh) * | 2013-12-19 | 2014-03-26 | 广东威创视讯科技股份有限公司 | 三维场景分屏更新方法和系统 |
CN104182964A (zh) * | 2013-11-19 | 2014-12-03 | 上海联影医疗科技有限公司 | 一种体数据的裁减方法 |
CN104331918A (zh) * | 2014-10-21 | 2015-02-04 | 无锡梵天信息技术股份有限公司 | 基于深度图实时绘制室外地表遮挡剔除以及加速方法 |
CN105126343A (zh) * | 2015-08-27 | 2015-12-09 | 网易(杭州)网络有限公司 | 一种2d游戏的遮罩显示方法及装置 |
WO2016004902A1 (en) * | 2014-07-11 | 2016-01-14 | Shanghai United Imaging Healthcare Co., Ltd. | System and method for image processing |
CN105677743A (zh) * | 2015-12-30 | 2016-06-15 | 南京邮电大学 | 水污染环境三维快速显示方法和系统 |
CN106469190A (zh) * | 2016-08-30 | 2017-03-01 | 广联达科技股份有限公司 | 三维场景管理方法及三维场景管理系统 |
CN106874580A (zh) * | 2017-01-22 | 2017-06-20 | 合肥工业大学 | 一种基于点云数据的弯管模型重建方法 |
TWI686770B (zh) * | 2017-12-26 | 2020-03-01 | 宏達國際電子股份有限公司 | 表面擷取方法、裝置及非暫態電腦可讀取記錄媒體 |
CN111161416A (zh) * | 2019-12-11 | 2020-05-15 | 北京中科辅龙科技股份有限公司 | 根据模型形状信息精确调整模型显示优先级的方法和系统 |
CN111652957A (zh) * | 2020-06-03 | 2020-09-11 | 中铁二院工程集团有限责任公司 | 一种线性工程设计图生成方法 |
CN113034364A (zh) * | 2021-03-17 | 2021-06-25 | 山东省科学院海洋仪器仪表研究所 | 一种水下图像旋转的反向生成方法 |
US11403809B2 (en) | 2014-07-11 | 2022-08-02 | Shanghai United Imaging Healthcare Co., Ltd. | System and method for image rendering |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101533529A (zh) * | 2009-01-23 | 2009-09-16 | 北京建筑工程学院 | 基于深度图像的三维空间数据处理方法与装置 |
WO2010130245A1 (de) * | 2009-05-11 | 2010-11-18 | Universität Zu Lübeck | Verfahren zur echtzeitfähigen, rechnergestützten analyse einer eine veränderliche pose enthaltenden bildsequenz |
-
2012
- 2012-05-23 CN CN201210161072.5A patent/CN102722885B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101533529A (zh) * | 2009-01-23 | 2009-09-16 | 北京建筑工程学院 | 基于深度图像的三维空间数据处理方法与装置 |
WO2010130245A1 (de) * | 2009-05-11 | 2010-11-18 | Universität Zu Lübeck | Verfahren zur echtzeitfähigen, rechnergestützten analyse einer eine veränderliche pose enthaltenden bildsequenz |
Non-Patent Citations (2)
Title |
---|
郭明: "大规模深度图像和数字图像存储管理与可视化", 《中国优秀硕士学位论文全文数据库基础科学辑》 * |
陈雷霆: "三维复杂场景实时绘制技术", 《中国博士学位论文全文数据库信息科技辑》 * |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103236074B (zh) * | 2013-03-25 | 2015-12-23 | 深圳超多维光电子有限公司 | 一种2d/3d图像处理方法及装置 |
US9530179B2 (en) | 2013-03-25 | 2016-12-27 | Superd Co. Ltd. | Two-dimensional (2D)/three-dimensional (3D) image processing method and system |
CN103236074A (zh) * | 2013-03-25 | 2013-08-07 | 深圳超多维光电子有限公司 | 一种2d/3d图像处理方法及装置 |
CN104182964A (zh) * | 2013-11-19 | 2014-12-03 | 上海联影医疗科技有限公司 | 一种体数据的裁减方法 |
CN103679791A (zh) * | 2013-12-19 | 2014-03-26 | 广东威创视讯科技股份有限公司 | 三维场景分屏更新方法和系统 |
US12073508B2 (en) | 2014-07-11 | 2024-08-27 | Shanghai United Imaging Healthcare Co., Ltd. | System and method for image processing |
WO2016004902A1 (en) * | 2014-07-11 | 2016-01-14 | Shanghai United Imaging Healthcare Co., Ltd. | System and method for image processing |
US11403809B2 (en) | 2014-07-11 | 2022-08-02 | Shanghai United Imaging Healthcare Co., Ltd. | System and method for image rendering |
US10692272B2 (en) | 2014-07-11 | 2020-06-23 | Shanghai United Imaging Healthcare Co., Ltd. | System and method for removing voxel image data from being rendered according to a cutting region |
CN104331918B (zh) * | 2014-10-21 | 2017-09-29 | 无锡梵天信息技术股份有限公司 | 基于深度图实时绘制室外地表遮挡剔除以及加速方法 |
CN104331918A (zh) * | 2014-10-21 | 2015-02-04 | 无锡梵天信息技术股份有限公司 | 基于深度图实时绘制室外地表遮挡剔除以及加速方法 |
CN105126343B (zh) * | 2015-08-27 | 2019-01-22 | 网易(杭州)网络有限公司 | 一种2d游戏的遮罩显示方法及装置 |
CN105126343A (zh) * | 2015-08-27 | 2015-12-09 | 网易(杭州)网络有限公司 | 一种2d游戏的遮罩显示方法及装置 |
CN105677743B (zh) * | 2015-12-30 | 2019-06-28 | 南京邮电大学 | 水污染环境三维快速显示方法和系统 |
CN105677743A (zh) * | 2015-12-30 | 2016-06-15 | 南京邮电大学 | 水污染环境三维快速显示方法和系统 |
CN106469190A (zh) * | 2016-08-30 | 2017-03-01 | 广联达科技股份有限公司 | 三维场景管理方法及三维场景管理系统 |
CN106874580A (zh) * | 2017-01-22 | 2017-06-20 | 合肥工业大学 | 一种基于点云数据的弯管模型重建方法 |
CN106874580B (zh) * | 2017-01-22 | 2020-05-26 | 合肥工业大学 | 一种基于点云数据的弯管模型重建方法 |
US10719982B2 (en) | 2017-12-26 | 2020-07-21 | Htc Corporation | Surface extrction method, apparatus, and non-transitory computer readable storage medium thereof |
TWI686770B (zh) * | 2017-12-26 | 2020-03-01 | 宏達國際電子股份有限公司 | 表面擷取方法、裝置及非暫態電腦可讀取記錄媒體 |
CN111161416A (zh) * | 2019-12-11 | 2020-05-15 | 北京中科辅龙科技股份有限公司 | 根据模型形状信息精确调整模型显示优先级的方法和系统 |
CN111161416B (zh) * | 2019-12-11 | 2023-08-29 | 北京互时科技股份有限公司 | 根据模型形状信息精确调整模型显示优先级的方法和系统 |
CN111652957A (zh) * | 2020-06-03 | 2020-09-11 | 中铁二院工程集团有限责任公司 | 一种线性工程设计图生成方法 |
CN111652957B (zh) * | 2020-06-03 | 2023-04-11 | 中铁二院工程集团有限责任公司 | 一种线性工程设计图生成方法 |
CN113034364A (zh) * | 2021-03-17 | 2021-06-25 | 山东省科学院海洋仪器仪表研究所 | 一种水下图像旋转的反向生成方法 |
CN113034364B (zh) * | 2021-03-17 | 2022-12-20 | 山东省科学院海洋仪器仪表研究所 | 一种水下图像旋转的反向生成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102722885B (zh) | 2014-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102722885B (zh) | 一种加快三维图形显示的方法 | |
CN112270756B (zh) | 一种应用于bim模型文件的数据渲染方法 | |
CN111354062B (zh) | 一种多维空间数据渲染方法及装置 | |
CN110675496B (zh) | 基于三维城市地质模型的网格剖分和可视化方法及其系统 | |
Zhao et al. | Mapping 3D visibility in an urban street environment from mobile LiDAR point clouds | |
US20160133048A1 (en) | Method and Apparatus for Shadow Estimation and Spreading | |
CN112528508B (zh) | 电磁可视化方法和装置 | |
Doraiswamy et al. | Interactive visual exploration of spatio-temporal urban data sets using urbane | |
CN104504742A (zh) | 一种基于电子沙盘系统的三维军标标绘方法 | |
CN112785708A (zh) | 一种建筑物模型单体化的方法、设备和存储介质 | |
CN115408382B (zh) | 面向大规模卫星数据的矢量空间信息网格化存储管理方法 | |
RU2604674C2 (ru) | Системы и способы для создания трехмерного текстурного атласа | |
KR102056788B1 (ko) | 웹 서비스를 위한 3차원 데이터를 처리하는 방법 및 이를 사용한 시스템 | |
CN107845136B (zh) | 一种三维场景的地形压平方法 | |
Yang et al. | A hybrid spatial index for massive point cloud data management and visualization | |
US9342923B2 (en) | Systems and methods for creating a three-dimensional texture atlas | |
Wu et al. | GPU ray casting method for visualizing 3D pipelines in a virtual globe | |
Liu et al. | Texture-cognition-based 3D building model generalization | |
Murray et al. | StretchPlot: Interactive visualization of multi-dimensional trajectory data | |
CN103426201A (zh) | 基于三维数字城市系统海量模型数据的浏览方法 | |
Porwal | Quad tree-based level-of-details representation of digital globe | |
CN111462291A (zh) | 基于ais目标的三维渲染方法和系统 | |
CN113658033B (zh) | 一种计算给定区域内部点集的gpu方法 | |
KR101661529B1 (ko) | 삼차원 시각 분석방법, 삼차원 시각 분석 프로그램, 그 프로그램이 저장된 서버 시스템 및 컴퓨터 | |
KR101503392B1 (ko) | 대용량 데이터 전송과 고속 3차원 지형 표출을 위한 시스템 및 방법 |
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 of invention or patent application | ||
CB02 | Change of applicant information |
Address after: 100044 No. 1, Xicheng District exhibition museum, Beijing Applicant after: Beijing University of Civil Engineering and Architecture Address before: 100044 Xicheng District Exhibition Hall Road, Beijing, No. 1 Applicant before: Beijing Engineering and Architecture School |
|
COR | Change of bibliographic data |
Free format text: CORRECT: APPLICANT; FROM: BEIJING INST. OF ARCHITECTURAL ENGINEERING TO: BEIJING UNIVERSITY OF CIVIL ENGINEERING AND ARCHITECTURE |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |