大数据量cad模型实时绘制方法

文档序号:6430428阅读:415来源:国知局
专利名称:大数据量cad模型实时绘制方法
技术领域
本发明涉及一种大数据量CAD模型实时绘制方法,具体涉及一种针对大数据量 CAD模型基于细节层次LOD (Level of Detail)技术的快速自动生成预处理技术、实时自适应绘制技术以及优化加速技术。属于计算机辅助设计制造和计算机图形学可视化技术领域。
背景技术
人类获取的信息83%来自视觉。因此将复杂产品通过计算机实时可视化,具有非常重要的意义,同时也是计算机辅助设计(CAD)、计算机辅助制造(CAM)、虚拟现实(VR)等技术的基础,但是CAD产品结构及其复杂,如挑战者号航天飞机250万个零部件,波音777 客机有600多万个零件和连接件,其几何模型共有3. 50亿以上的三角面片,去除其他信息仅保留几何模型信息,其模型存储量也超过了 12GB,经过一系列的优化加速算法处理后,数据文件大小超过了 60GB。目前普通计算机能够实时绘制的几何模型约为1百万三角面片, 因此大数据量CAD模型实时可视化具有很大的挑战,成为相关技术应用的瓶颈。这方面的应用研究在国际上还不是很多,国内基本上还没有类似的研究。可以检索到的研究主要有4个案例美国UNC的GigaWalk系统采用模型简化、LOD(Level of detail)、可见性剔除、模型分割、动态存储调度等技术,但仅能实现8千万三角面片的实时可视化。意大利CRS4的FarVoxels系统采用模型简化、L0D、可见性剔除、模型分割、动态存储调度,另外引入了离线光线跟踪预处理、GPU(Graphics Processing Unit,图形处理器) 加速等技术,但离线光线跟踪预处理需要大量时间。德国Garland的OpenRT系统采用的是模型分割、动态存储调度、实时光线跟踪等技术,无需离线光线跟踪预处理,但需要运行在64位的Linux操作系统。美国的Utah的Manta系统采用了并行计算执行实时光线跟踪算法,提高了显示精度,可以实现透明、剖切、隐藏等可视化效果,但需要运行在1 个处理器、256GB内存的超级计算机。已有的这些研究普遍存在一些问题第一,只能可视化静态场景的模型,而且破坏了 CAD模型的装配树;第二,对软硬件的要求较高。因此有必要开发一套通用、高效的大数据量CAD模型实时绘制算法与系统。本发明所提出的大数据量CAD模型则可以在普通计算机上实现大数据量CAD模型动态场景的模型,而且可以完整保留装配树信息,具有快速自动预处理技术、实时自适应绘制的特点。

发明内容
本发明的目的是提出一种基于普通计算机的大数据量CAD模型实时绘制方法,该方法具有可绘制大数据量、动态场景、完整保留装配树信息CAD模型的特点。本发明提供的技术方案是一种针对大数据量CAD模型实时绘制方法,具体是同时采用基于细节层次LOD技术的快速自动生成预处理技术、实时自适应绘制技术。虽然LOD 技术提出已经有很多年了,但是一直没有形成比较系统的快速自动生成预处理方法以及实时自适应绘制方法。本发明提出一种大数据量CAD模型实时绘制方法,包括两部分,即LOD快速自动生成预处理及LOD实时自适应绘制。其中,LOD快速自动生成预处理,包括如下步骤(1)统计CAD模型所有零部件总的三角面片的数量Nm。(2)根据目标绘制计算机所能实时绘制的三角面片数量Nrento,根据一定的等比简化比例q(0 < q < 1,一般建议q取25% )简化关系计算需要几个LOD等级Νω )。 Nlod = In (Nrender/NTri)/Inq0(3)对每一个零部件按照上述的一定的等比简化比例q(如25% )生成所需LOD 等级数量Nmi的简化模型直至模型面片数小于给定值。(4)保存生成的LOD模型。其中,所述的CAD模型的零部件是指遍历飞行器大数据量CAD模型装配树的每一个节点,对每一个节点视为一个零部件进行简化与LOD生成。其中,模型简化算法可以采用任何一种有效的简化算法,简化后的模型作为一个精度等级的LOD模型。其中,简化后的模型还需要再按照原CAD模型的装配树进行装配,即保证了不会对装配树造成破坏。其中,LOD实时自适应绘制,包括如下步骤( 加载经上述四个步骤生成的所有的LOD模型,初始LOD模型可以选择最低精度等级以提高加载速度以及初始绘制速度。(6)依次绘制所有LOD模型,然后通过图形硬件的遮罩查询功能统计每一个在屏幕上可见的LOD模型在屏幕上显示的几何像素数量。(7)对于可见的LOD模型,计算其几何模型LOD面片密度,并插入、更新到几何模型 LOD面片密度列表队列。注意这里只有可见的几何模型才加入列表。(8)所有LOD模型绘制结束后,通过查询绘制时间得到系统是否达到最大负载,若是,则将面片密度值最小的LOD模型精度降低一个等级,直至最低精度等级,再处理下一个面片密度值次小的LOD模型。反之,则将面片密度值最大的LOD模型精度提高一个等级,直至最高精度等级,再处理下一个面片密度值次大的LOD模型。最后更新面片密度队列。(9)若系统没有结束绘制,则执行步骤(6),否则退出。其中,步骤(7)所述的面片密度是按照下面的公式计算的,其中Pmi表示零部件的面片密度,Npixels表示零部件当前LOD精度等级的模型在屏幕上显示的像素数,Nt表示零部件当前LOD精度等级的模型包含的三角面片数。P L0D = NPixels/NT其中,步骤(8)所述的系统最大负载是指计算机最多能够实时绘制的三角面片数目,每一个计算机都不同,通过实验运行测定,如果系统实时绘制的帧刷新率小于30帧每秒,则说明系统当前绘制的三角面片数Nt超过了系统最大负载。减少Nt直至系统实时绘制的帧刷新率达到30帧每秒,此时系统当前绘制的三角面片数Nt即为最大负载所能够实时绘制的三角面片数目。本发明优点及功效在于可以使得大数据量CAD模型则在普通计算机上实现大数据量CAD模型动态场景的模型,而且可以完整保留装配树信息,具有快速自动预处理技术、 实时自适应绘制的特点。


图1是本发明中CAD模型简化原理图。图2是本发明所述的LOD快速自动生成预处理流程。图3是本发明所述的LOD示意图。图4是本发明所述的LOD实时自适应绘制流程。图中:1、L0D精度等级1,2、LOD精度等级2,3、LOD精度等级3,4、LOD精度等级4,
5、面片密度较大的零部件,6、面片密度较小的零部件。
具体实施例方式以下结合附图对本发明做进一步的详细说明。一种大数据量CAD模型实时绘制方法,包括两部分,即LOD快速自动生成预处理及 LOD实时自适应绘制。其中,LOD快速自动生成预处理,包括如下步骤(1)统计CAD模型所有零部件总的三角面片的数量Nm。(2)根据目标绘制计算机所能实时绘制的三角面片数量Nrento,根据一定的等比简化比例q(0 < q < 1,一般建议q取25% )简化关系计算需要几个LOD等级Νω )。Nlod = In (Nrender/NTri) /lnq。(3)对每一个零部件按照上述的一定的等比简化比例q(如25% )生成所需LOD 等级数量Nmi的简化模型直至模型面片数小于给定值。(4)保存生成的LOD模型。其中,所述的CAD模型的零部件是指遍历飞行器大数据量CAD模型装配树的每一个节点,对每一个节点视为一个零部件进行简化与LOD生成。其中,模型简化算法可以采用任何一种有效的简化算法,简化后的模型作为一个精度等级的LOD模型。其中,简化后的模型还需要再按照原CAD模型的装配树进行装配,即保证了不会对装配树造成破坏。其中,LOD实时自适应绘制,包括如下步骤( 加载经上述四个步骤生成的所有的LOD模型,初始LOD模型可以选择最低精度等级以提高加载速度以及初始绘制速度。(6)依次绘制所有LOD模型,然后通过图形硬件的遮罩查询功能统计每一个在屏幕上可见的LOD模型在屏幕上显示的几何像素数量。(7)对于可见的LOD模型,计算其几何模型LOD面片密度,并插入、更新到几何模型 LOD面片密度列表队列。注意这里只有可见的几何模型才加入列表。(8)所有LOD模型绘制结束后,通过查询绘制时间得到系统是否达到最大负载,若是,则将面片密度值最小的LOD模型精度降低一个等级,直至最低精度等级,再处理下一个面片密度值次小的LOD模型。反之,则将面片密度值最大的LOD模型精度提高一个等级,直至最高精度等级,再处理下一个面片密度值次大的LOD模型。最后更新面片密度队列。(9)若系统没有结束绘制,则执行步骤(6),否则退出。其中,步骤(7)所述的面片密度是按照下面的公式计算的,其中Pmi表示零部件的面片密度,Npixels表示零部件当前LOD精度等级的模型在屏幕上显示的像素数,Nt表示零部件当前LOD精度等级的模型包含的三角面片数。P L0D = NPixels/NT其中,步骤(8)所述的系统最大负载是指计算机最多能够实时绘制的三角面片数目,每一个计算机都不同,通过实验运行测定,如果系统实时绘制的帧刷新率小于30帧每秒,则说明系统当前绘制的三角面片数Nt超过了系统最大负载。减少Nt直至系统实时绘制的帧刷新率达到30帧每秒,此时系统当前绘制的三角面片数Nt即为最大负载所能够实时绘制的三角面片数目。图1为本发明中所述的CAD模型简化原理图。模型简化算法中最经典的是Garland 提出的QEM简化算法,该算法可以从网络获取源代码及可执行文件QSLIM。只需要将几何模型转换成所需要的格式,当前支持SMF、VRML、INVENTOR,PM等格式,可以查阅这些文件格式的定义很容易的实现文件格式转换。模型简化算法的核心思想是从所有的边中找到一个最优的边,使得删除这条边后(也成为边折叠),新生成的顶点和与之相连接的三角面片的距离的和最小,从而保证简化的精度损失最小。如图1中,当前模型所有的边中,删除由顶点 vl、v2所连接的边后,对几何模型的形状影响最小,精度损失也最小。图2为本发明中所述的LOD快速自动生成预处理流程。系统首先加载大数据量CAD 模型所有零部件模型文件,然后对其中每一个零部件模型文件做如下处理判断零部件模型的面片数是否大于给定的最小值,若否则结束;若是则对零部件模型按照简化比q进行简化,生成下一个LOD精度等级的模型并判断是否达到最大LOD精度等级数,若是则结束, 若否则继续进行下一精度等级的LOD模型简化与生成。图3为本发明中所述的LOD模型示意图。其中一共生成了 4个LOD精度等级(Nmi =4),1-4分别为LOD精度等级1-4,LOD等级越高,则模型越粗糙。LOD与面片密度有关系, 同一个CAD模型文件不同的LOD模型在同样的屏幕显示像素数量基本一样,但是每一个LOD 精度等级所包含的面片数目不同,因此LOD精度等级越低则面片密度较大,反之则较小。实时绘制时,当几何模型与视点距离较近时,使用三角面片较多,几何精度等级高的模型;反之,当几何模型与视点距离较远时,使用三角面片较少,几何精度较低的模型。图4是本发明所述的LOD实时自适应绘制流程。首先加载LOD快速自动生成预处理产生的各个LOD精度等级的零部件模型,然后开始一帧图像的绘制,绘制待绘制的可见几何模型,并通过遮罩查询统计屏幕可见的像素数量,等所有的几何模型绘制结束后统计每一个零部件在屏幕上可见的像素数量,结合该零部件当前LOD精度等级的模型所包含的面片数量计算面片密度。将所有零部件的面片密度排序并生成一个队列,然后根据绘制所消耗的时间判断系统是否达到最大绘制负载,若是说明系统达到了最大负载,则将面片密度队列中面片密度最大的零部件LOD精度等级提高直到最大从而采用较粗糙的LOD精度等级的模型;若否则说明系统没有达到最大负载,则将面片密度队列中面片密度最小的零部件LOD精度等级降低直到最小从而采用较精细的LOD精度等级的模型。如果系统实时绘制还没有结束则开始下一帧的绘制,否则退出。
权利要求
1.一种大数据量CAD模型实时绘制方法,其特征在于该方法包括两部分,即LOD快速自动生成预处理及LOD实时自适应绘制;其中,LOD快速自动生成预处理,包括如下步骤(1)统计CAD模型所有零部件总的三角面片的数量Nfti;(2)根据目标绘制计算机所能实时绘制的三角面片数量Nrento,根据一定的等比简化比例q简化关系计算需要几个LOD等级Nmi ;该一定的等比简化比例为0 < q < 1 ;Nlod = In (Nrender/NTri)/Inq ;(3)对每一个零部件按照上述的等比简化比例q生成所需LOD等级数量Nmi的简化模型直至模型面片数小于给定值;(4)保存生成的LOD模型;其中,LOD实时自适应绘制,包括如下步骤(5)加载经上述四个步骤生成的所有的LOD模型,初始LOD模型选择最低精度等级以提高加载速度以及初始绘制速度;(6)依次绘制所有LOD模型,然后通过图形硬件的遮罩查询功能统计每一个在屏幕上可见的LOD模型在屏幕上显示的几何像素数量;(7)对于可见的LOD模型,计算其几何模型LOD面片密度,并插入、更新到几何模型LOD 面片密度列表队列;(8)所有LOD模型绘制结束后,通过查询绘制时间得到系统是否达到最大负载,若是, 则将面片密度值最小的LOD模型精度降低一个等级,直至最低精度等级,再处理下一个面片密度值次小的LOD模型;反之,则将面片密度值最大的LOD模型精度提高一个等级,直至最高精度等级,再处理下一个面片密度值次大的LOD模型;最后更新面片密度队列;(9)若系统没有结束绘制,则执行步骤(6),否则退出。
2.根据权利要求1所述的大数据量CAD模型实时绘制方法,其特征在于步骤(7)所述的面片密度是按照下面的公式计算的,其中Pmi表示零部件的面片密度,Npijrels表示零部件当前LOD精度等级的模型在屏幕上显示的像素数,Nt表示零部件当前LOD精度等级的模型包含的三角面片数P LOD — NPixels/NT。
全文摘要
本发明涉及一种大数据量CAD模型实时绘制方法,包括两部分,即LOD快速自动生成预处理及LOD实时自适应绘制。本发明优点及功效在于可以使得大数据量CAD模型则在普通计算机上实现大数据量CAD模型动态场景的模型,而且可以完整保留装配树信息,具有快速自动预处理技术、实时自适应绘制的特点。
文档编号G06T19/00GK102298796SQ20111022935
公开日2011年12月28日 申请日期2011年8月11日 优先权日2011年8月11日
发明者余路, 卢鹄, 庞微, 谈敦铭, 赵罡 申请人:上海飞机制造有限公司, 北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1