1.一种基于Web Pseudo-3D的大规模数据可视化处理方法,其特征在于,包括以下步骤:
1)生成并加载场景数据;
2)生成并预存场景快照;
3)形成动画;
所述的步骤2)生成并预存场景快照具体如下:
预先确定系列需要渲染的场景角度,并对加载的场景数据按照Pseudo-3D模型渲染出对应的图形,保存一系列快照后,删除初始场景数据;
所述的Pseudo-3D模型为:
虚拟地将对场景的浏览工作提前到了3D场景生成前,在初始化时,我们可以计算出当摄像机处于不同角度时的场景数据版本,然后渲染生成系列对应角度的快照并保存之,当用户需要浏览3D场景时,通过顺序循环播放预存快照的方式完成,或利用Flash技术将预存快照用作关键帧进而生成补间动画来达到浏览效果。
2.根据权利要求1所述的一种基于Web Pseudo-3D的大规模数据可视化处理方法,其特征在于,所述的步骤1)生成并加载场景数据具体如下:
海量原始数据经过各种前期格式处理和可视化布局算法,生成初始状态下的3D场景数据并加载到内存中。
3.根据权利要求2所述的一种基于Web Pseudo-3D的大规模数据可视化处理方法,其特征在于,所述的各种前期格式处理包括:
首先将位于数据库表或其他存储媒介中的海量原始数据按照用户需要的层次结构重建成树型层次数据,其中每条原始数据记录相当于树中的一个叶子节点;然后在此基础上为每个叶子节点填充各字段数据,并根据各用户定义关系计算分支节点的各字段数据。
4.根据权利要求2所述的一种基于Web Pseudo-3D的大规模数据可视化处理方法,其特征在于,所述的可视化布局算法为Slice&Dice Treemap(矩形切割树地图),Squarified Treemap(方形化树地图)或Circle Packing(圆形填充树地图)。
5.根据权利要求1所述的一种基于Web Pseudo-3D的大规模数据可视化处理方法,其特征在于,所述的场景角度个数与快照个数相同。
6.根据权利要求1所述的一种基于Web Pseudo-3D的大规模数据可视化处理方法,其特征在于,所述的步骤3)形成动画步骤如下:
对步骤2)得到了一系列需要角度的快照,通过按照一定速度顺序的播放快照形成动画或者利用Flash动画技术将快照图片作为关键帧形成补间动画。
基于Web Pseudo-3D的大规模数据可视化处理方法\n技术领域\n[0001] 本发明涉及一种数据可视化处理方法,尤其是涉及一种基于Web Pseudo-3D的大规模数据可视化处理方法。\n背景技术\n[0002] 基于Web 3D的数据可视化研究是近几年来商务智能(BI)领域研究的热点。由于图形或者图像具有形象、直观、内容丰富等特点,接近人们的认知方式,进而成为沟通决策者和海量数据之间不可或缺的多媒体方式。如果没有对应的将各种形态的数据转化为图形图像的方法,大量信息将淹没在数据的海洋之中,而无法被人们识别和利用。因此,如何发展高效的数据可视化技术成为迫切需要解决的问题。与日趋成熟的基于2D的数据可视化方式相比,基于3D的数据可视化更加符合当前的大多数商务数据:数据规模大,需要被展示的信息维度多。而3D空间较之于2D平面,具有更多的可用空间和可视化显示特征,如高度。虽然近些年来基于3D的数据可视化取得了一些成绩,但是距离满足人们的使用需求还有较大的差距。\n[0003] 根据当前大多数公司的实际需要,这里的3D指的是Web 3D技术,而非传统意义上的单机3D技术。对基于Web 3D的数据可视化而言,当前最大的困难在于:如何最好的平衡大规模数据可视化和当前Web 3D技术在功能和性能上的瓶颈问题之间的巨大差距。通常,数据可视化技术包括两个核心功能:数据展示和用户交互。当前大多数3D技术的渲染原理为:每当用户有新的交互需求,对原始3D场景数据进行一次渲染流水线操作,一般包括:世界坐标变换,视口坐标变换和屏幕坐标变换等,最终形成可在电脑屏幕上展示的图形图像展示出来,这是一个运算量庞大的过程,特别是当3D场景规模较大时。由于大多数单机3D技术都高效的支持了GPU加速,所以可以胜任频繁的渲染流水线操作。而目前Web 3D并不支持GPU加速,所有运算仍依赖于CPU,当3D场景规模较小时,还能满足用户的实时交互需求,一旦规模增大,其局限性便展露无疑。然而,在当今的商业应用中,大规模数据随处可见,如何更好的对之进行Web 3D可视化便成了急需解决的问题。\n[0004] 在3D中,不可避免的会出现图形之间的相互遮挡,这时,用户为了能方便的访问到每一个数据图形节点,往往希望能够实时全角度的浏览整个3D空间。当数据量较小时,这种不便也许并不明显,但是随着数据量的加大,遮挡越来越大,Web 3D渲染速度也越来越慢,这无疑就是一个问题,而设法解决这个问题,就是本模型的重点。\n发明内容\n[0005] 本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种更实时、更流畅的基于Web Pseudo-3D的大规模数据可视化处理方法。\n[0006] 本发明的目的可以通过以下技术方案来实现:\n[0007] 一种基于Web Pseudo-3D的大规模数据可视化处理方法,其特征在于,包括以下步骤:\n[0008] 1)生成并加载场景数据;\n[0009] 2)生成并预存场景快照;\n[0010] 3)形成动画。\n[0011] 2.根据权利要求1所述的一种基于Web Pseudo-3D的大规模数据可视化处理方法,其特征在于,所述的步骤1)生成并加载场景数据具体如下:\n[0012] 海量原始数据经过各种前期格式处理和可视化布局算法,生成初始状态下的3D场景数据并加载到内存中。\n[0013] 3.根据权利要求2所述的一种基于Web Pseudo-3D的大规模数据可视化处理方法,其特征在于,所述的各种前期格式处理包括:\n[0014] 首先将位于数据库表或其他存储媒介中的海量原始数据按照用户需要的层次结构重建成树型层次数据,其中每条原始数据记录相当于树中的一个叶子节点;然后在此基础上为每个叶子节点填充各字段数据,并根据各用户定义关系计算分支节点的各字段数据。\n[0015] 所述的可视化布局算法为Slice & Dice Treemap(矩形切割树地图),Squarified Treemap(方形化树地图)或Circle Packing(圆形填充树地图)。\n[0016] 所述的步骤2)生成并预存场景快照具体如下:\n[0017] 预先确定系列需要渲染的场景角度,并对加载的场景数据按照Pseudo-3D模型渲染出对应的图形,保存一系列快照后,删除初始场景数据。\n[0018] 所述的场景角度个数与快照个数相同。\n[0019] 所述的Pseudo-3D模型为:\n[0020] 虚拟地将对场景的浏览工作提前到了3D场景生成前,在初始化时,我们可以计算出当摄像机处于不同角度时的场景数据版本,然后渲染生成系列对应角度的快照并保存之,当用户需要浏览3D场景时,通过顺序循环播放预存快照的方式完成,或利用Flash技术将预存快照用作关键帧进而生成补间动画来达到浏览效果。\n[0021] 所述的步骤3)形成动画步骤如下:\n[0022] 对步骤2)得到了一系列需要角度的快照,通过按照一定速度顺序的播放快照形成动画或者利用Flash动画技术将快照图片作为关键帧形成补间动画。\n[0023] 与现有技术相比,本发明具有以下优点:\n[0024] 1)提出了Pseudo-3D模型来彻底改变传统3D场景交互的模式;\n[0025] 2)由于前期的预处理工作,其在展示阶段做到了与数据规模无关,能够更实时、更流畅的可视化大规模数据处理;\n[0026] 3)其在预存了系列快照后,原本存在于内存中的大量场景数据不再需要,可以直接删除,这样可以腾出更多的资源供系统其它程序使用;\n[0027] 4)这样一次性的进行各个角度的渲染工作,可以避免掉在渲染流水线流程中的各种重复运算。\n附图说明\n[0028] 图1为本发明的流程图;\n[0029] 图2为本发明的硬件结构示意图;\n[0030] 图3为本发明的渲染场景与所需时间的线条图;\n[0031] 图4为本发明快照数与耗时的线条图。\n具体实施方式\n[0032] 下面结合附图和具体实施例对本发明进行详细说明。\n[0033] 实施例1\n[0034] 一般的各个3D元素必须经过多次坐标变换(渲染流水线)才能成为我们最终在\n2D屏幕上看到的图形图像,然后为了用户能进行各种交互活动,整个3D场景以一定的频率,不断更新,即不断重复进行渲染流水线操作。在本发明中,我们跳出了这个模式,而是虚拟的将对场景的浏览工作提前到了3D场景生成前。在初始化时,我们可以计算出当摄像机处于不同角度时的场景数据版本,然后渲染生成系列对应角度的场景快照并保存之。当用户需要浏览3D场景时,通过顺序循环播放预存快照的方式完成,或利用Flash技术将预存快照用作关键帧进而生成补间动画来达到浏览效果。如图1、图2所示,下面我们将对这一过程进行详细介绍:\n[0035] 1)生成并加载场景数据到内存1:\n[0036] 数据可视化是关于数据之视觉表现形式的研究,它运用图形化手段,清晰有效地传达与沟通信息,主要完成两个核心功能:图形展示和用户交互。一般情况下,数据可视化系统流程如图一所示。海量原始数据经过各种前期格式处理和可视化布局算法,形成初始状态下的3D场景数据保存下来,经过渲染流水线流程这些场景数据进一步被转化成可以再2D屏幕上显示的图形图像展示出来供用户理解使用,并随着用户的各种交互操作通过直接改变场景数据更新图形,或者间接的通过各种数据处理操作改变原始数据来更新图形。如上所述,本小结任务即为其中的从海量原始数据到初始场景数据的转变过程。所谓场景数据,即包含用于渲染图形所需的各种点信息,面片信息等。\n[0037] 2)处理器2生成并预存场景快照:\n[0038] 在步骤1)中,已经得到了要可视化数据的对应场景数据,按照我们的模型Pseudo-3D,可以预先确定系列需要渲染的场景角度,例如确定为位于距离Z轴45度的8个角度,即XY面上距离X轴分别0度、45度、90度,135度、180度、225度、270度和325度的8个角度,那么我们可以一次性的将场景数据加载进内存,渲染出对应的图形,并保存为8个快照,之后便可以删除掉初始场景数据,释放掉系统资源,以供其他程序使用。当然,用户可以根据自己的需求,自行定义需要的角度,角度越多,交互越流畅。\n[0039] 3)处理器2形成动画并通过人机界面3与用户进行交互:\n[0040] 利用步骤2),我们得到了一系列需要角度的快照,然后便可以通过按照一定速度顺序的播放快照达到场景浏览的效果,或者利用Flash动画技术,将快照图片作为关键帧形成补间动画的形式展现给用户。\n[0041] 实施例2\n[0042] 数据可视化的数据类型种类繁多,其中又以层次数据的可视化最为艰难,它结构复杂,规模庞大,目前,针对大规模层次数据的可视化问题,国内外已做了大量的研究工作,提出了许多新的可视化方法,TreeMap技术是其中最为成功的一个。下面图二就是使用Pseudo-3D模型实现的一个TreeMap效果图,为面片数566,采取12个角度的情况。\n[0043] 通过实验我们发现,面片的增多会极大的影响到渲染的效率,表一是我们在不同的mesh规模下所得到的相关数据(注:满帧设置为24fps)。从中可以发现,当Mesh规模较小时,如566,1656,启动很快,此时场景的帧速也基本接近满帧,实时交互不成问题,但是随着mesh规模的增大,场景的启动耗时和帧速迅速恶化,特别是当mesh规模增加到9000左右时,启动耗时开始在10s徘徊甚至超过10,帧速也下降到1左右,当mesh规模达到我们实验的上限11070时,不仅启动耗时严重超过10s,(偶尔还会发生当机,变得不稳定),帧速已基本接近于0,显然,此时,实时交互已不可能。同时,表中的另一组数据告诉我们,mesh的增长也极大的造成了RAM的负担,当mesh增加到一万以上时,RAM的占有两已经高于200M,这使得整个系统都会变得非常缓慢,甚至当机。\n[0044] 表1\n[0045] \n Mesh数 Current frame rate in FPS Maxinum RAM usage 预处理耗时(ms)\n 566 24 14..1 149\n 1656 21 32.4 392\n 3312 13 50.3 546\n 4966 8 77.4 1023\n 6604 5 104.3 1506\n 8262 3 130.8 3464\n 9936 1 159.9 7213\n 11070 <=1 245.2 11231\n[0046] 其中表1为实时交互实验数据记录,下面是我们采用Pseudo-3D模型得到了两组数据结果。图3为当快照数均为8时,渲染不同规模的mesh场景所需要的时间信息。从中我们可以发现,耗时随着mesh场景规模的增加而增长,当mesh规模较小时,起伏变化不大(且均在较小的范围内,此时可以选取实时交互方案);但是一旦mesh规模超过7000,增速明显加大,直到实验mesh规模上限11070。\n[0047] 图4为在mesh场景规模保持566不变时,预存不同数目快照所需要的时间信息。\n同图3类似,耗时和快照数也基本成正比关系,不同的是,他们的增速更平均。\n[0048] 通过以上数据,我们可以得出结论,当mesh规模较小时(<7000)我们可以选择传统的实时交互方式,但是当mesh数较大时,就应该选择快照方式,这样除了初始化耗时较长以外,我们既可以做到节约RAM,保证系统整体的稳定,又可以使对场景的浏览更流畅。
法律信息
- 2018-04-06
未缴年费专利权终止
IPC(主分类): G06T 13/20
专利号: ZL 201110066250.1
申请日: 2011.03.18
授权公告日: 2014.05.21
- 2014-05-21
- 2012-11-14
实质审查的生效
IPC(主分类): G06T 13/20
专利申请号: 201110066250.1
申请日: 2011.03.18
- 2012-09-19
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2003-08-20
|
2002-02-04
| | |
2
| |
2006-09-20
|
2006-02-20
| | |
3
| |
2010-04-14
|
2009-09-30
| | |
4
| |
2010-03-03
|
2008-08-28
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |