一种新的渐进网格生成方法与流程

文档序号:11135395阅读:568来源:国知局
一种新的渐进网格生成方法与制造工艺

本发明涉及虚拟现实技术领域,特别是涉及一种新的渐进网格生成方法。



背景技术:

网格简化的目的是把一个复杂多边形表示的模型用一个近似的模型表示,近似模型基本保持了原模型的可视特点,但顶点数目少于原网格的顶点数目。基于几何元素删除的模型简化算法即通过一定的误差判定,删除那些对模型几何形状影响不大的几何“图元”(顶点、边或三角形),达到模型简化的目的,得到在不同精度上逼近原复杂模型的近似模型。为了保证拓扑特性,算法必须对几何元素删除后所遗留的空洞、进行复杂的三角化过程。

1992年,Schroeder首次提出以顶点删除这种基于几何元素删除的模型简化方法。该方法首先根据模型局部的几何拓扑特性,将顶点划分为简单顶点、复杂顶点、边界顶点以及位于特征边上的内部点和尖角点。然后根据各类顶点删除所导致的误差决定该顶点的删除。如误差允许,则删除该顶点并对删除该顶点所遗留下的空洞进行三角化。顶点删除法算法简单,执行效率高。Schroeder将该技术应用于医学CT数据中抽取的等距面模型及地表模型的简化,大量消减了原模型中的三角形数目,同时算法保留了原模型的几何特征。

1993年,Hoppe提出以边操作实现模型简化的LoD模型自动生成算法[Hoppe93]。该方法最大的特点即通过对边的各种操作(边蜕化为点、边对换、顶点分裂)来求取能量意义上的原模型的最优逼近模型。该方法以边蜕化为一新的顶点,以被蜕化的边的两端点对应新顶点,由原端点的连接关系就可得到简化区域的保持原连接关系的三角面模型,避免简化操作后的三角化问题。Hoppe方法首次提出了以顶点合并,即边的顶点合并为一个新顶点这一复杂模型简化方式,避免模型简化后复杂的三角化过程,为任意网格模型的层次细节模型的实时生成的提出作了良好的先期工作。

1994年,Hamann提出了基于面删除的模型简化方法。该方法以三角面各顶点的主曲率判定模型中各三角面所处区域的平坦程度,并由此决定各三角面对原模型的重要程度。算法以各三角面的重要性的大小决定各三角面删除的先后。为避免对三角面删除所遗留的空洞进行复杂的三角化过程,算法采取了类似于边退化为顶点的方法来避免局部区域的复杂三角化过程。算法将所删除的三角面的顶点合并为一新的顶点,由此新顶点对应所删除三角面的三个顶点,按原顶点的连接关系即生成该局部区域的三角化模型。

此后,人们又提出了基于面合并的模型简化方法。虽然这些方法能有效地简化各种复杂模型,但所有这些方法由于必须对原模型大量数据进行逐个的判定且必须对简化后所遗留的空洞进行复杂的三角化过程,使得算法无法达到实时,尽管基于边蜕化的模型简化方法以及基于面删除的模型简化方法在避免复杂的三角化过程方面作了一定的改进。因而算法不得不预先产生原模型间断的简化模型空间,即预先生成满足不同几何精度的多个简化模型。这不仅带来了存储空间的耗费,而且由于绘制模型的不同必然带来图形画面的跳跃。

为避免图形画面的跳跃,几何模型的复杂度在相续帧之间应该是平滑过度的。即被控制的模型的三角面的数目应随视点的连续变化而连续的变化。视点的小变化不会也不应导致模型的大变化。这个性质将会避免动态显示中出现图形画面的跳跃。

1995年,Hoppe在原有的边操作算法基础上提出了累进网格的概念,首次较好地解决了模型简化方法在实际应用中所遇到的问题。该算法根据边蜕化简化操作的可逆性及边蜕化方法良好的局部拓扑维护性,将三维模型中每条边按照它们被删除后导致的几何误差大小排列,从小到大进行删除得到一个可逆的原模型的累边网格表示。而利用顶点分裂这一与模型简化操作─顶点合并相逆的过程来恢复模型简化所删除的信息。为了得到模型细节的删除信息,算法在模型简化的预计算中记录下边蜕化为新顶点这一简化过程中原顶点与新顶点的对应关系,并由预计算中记录下的每一简化过程得到一个由原模型的基本网格和一系列的简化信息组成的渐进网格表示模式。在实时绘制时,通过跟踪记录下的边蜕化为新顶点的对应关系,算法可以根据这一跟踪线索由基本网格模型逐步恢复所删除的模型细节,实时得到原模型连续精度的简化模型。该算法以边蜕化所导致的模型几何误差的大小指导模型简化的顺序,并由此生成几何误差由小到大的渐进网格模型。

此后,Isler基于以上算法特点,根据面删除以及边蜕化简化算法的特点,提出了一种实时的多分辩率方法。该方法首先以围绕各顶点的三角面之间的夹角大小判定各顶点所处区域的平坦程度,并由此决定各三角面的视觉重要度。该方法根据三角面各顶点所处区域的平坦度决定三角面蜕化的方式,即是否此三角面蜕化为一新顶点或此三角面的一边蜕化为一新顶点。为减少计算,算法有三角面上的一顶点作为新顶点,从而避免了三角化过程。当然,由于复杂模型庞大的数据量,如果算法必须对各三角面作逐一的判定,算法是无法达到实时的。为避免对复杂模型的各个三角面逐一判定,算法采用了静态简化方法预先产生几个关键的简化模型,并对其中的三角面按照它们的视觉重要度进行排序。在实时绘制过程中,算法选择一个最少的但又比所需要的分辨率高的近似模型,按重要度从小到大地删除三角面直到刚满足当前精度为止。算法建立三角面删除队列,记录三角面在实时计算中最近被删除的信息,以此加速实时模型的简化,实时得到原模型连续精度的网格模型。

根据以上算法的特点,我们以顶点删除算法为基础,提出一种渐进网格模型的生成算法。算法以顶点删除简化方法实现原模型的简化。为避免复杂的三角化过程,算法选择与被删除顶点相关的一顶点作为起始点对遗留的空洞进行局部三角剖分。根据不同顶点分类,算法计算相应顶点的重要度,由小到大顺序删除各顶点,并以一定的结构记录下模型简化的过程,得到一种新的渐进网格模型的表示。该种渐进网格模型的表示方法可以根据当前视点参数实时产生当前视点的适当简化模型,克服了Isler算法必须预先产生多个简化模型的不足。为保证所得到的三角化模型保持原模型的拓扑特性,算法进行相应的半空间检测。

借助高精度的三维扫描仪和CT扫描仪,可以获取真实物体的大量数据,为快速三维建模提供了一种高效的手段。这些模型通常有大量的数据组成。虽然今天的计算机处理速度在不断提高,存储空间也在不断扩大,但仍远远赶不上模型复杂度的增长,如此庞大的模型存储、显示、传输上都面临巨大的困难。特别是在虚拟现实中,虚拟环境必须实时生成以使能进行交互式的控制、观察和操纵;否则将严重地影响虚拟现实的“现实感”。为此人们采用了各种技术来解决这个矛盾。其中,细节层次模型技术就是其中一种非常有效的方法。



技术实现要素:

本发明的目的是提供一种新的渐进网格生成方法。

本发明的目的可以通过以下技术方案实现:

一种新的渐进网格生成方法,包括以下步骤:

步骤S1,获取VR模型,对VR模型初始化,计算模型上每个顶点的重要度,并根据重要度的大小建立所有顶点从小到大进行排序的顶点序列;

步骤S2,从步骤S1建立的顶点队列中选取一个具有最小重要度的顶点;

步骤S3,检查该顶点删除的合法性,如果合法,转步骤S4;否则转步骤S5;

步骤S4,从该顶点相关的顶点中选取一个顶点作为起始点对该顶点删除所遗留的空洞进行三角化,如果找不到一个顶点可以对所遗留的空洞进行三角化,则转步骤S5;否则,再计算所有相关顶点的重要度,重新对所余顶点进行排序,同时算法将相应的简化过程和删除的三角形填入简化队列LMerge和三角形队列LTri中,转步骤S6;

步骤S5,算法暂时不对该顶点进行处理,选择其后的顶点,转步骤S3;

步骤S6,返回步骤S2直至模型中只余最基本的三角形,将其放在三角形队列中,结束算法。

本发明的有益效果:

本发明所提供的一种新的渐进网格生成方法,本发明记录下整个模型简化过程中顶点删除的信息,并利用顶点删除与模型面片个数的对应关系,建立起渐进网格的表示形式,本发明使用于任意三角网格表示的三维模型,其最要的特点是可以根据当前视点参数产生连续的多分辨率近似模型,使得被绘制的三角网格模型的面片数目随视点的位置改变而产生连续的变化。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1是本发明的工作示意图。

具体实施方式

本发明的核心是提供一种新的渐进网格生成方法。

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,本发明提供了一种新的渐进网格生成方法,该方法包括如下步骤:

步骤S1:获取VR模型,对VR模型初始化,计算模型上每个顶点的重要度,并根据重要度的大小建立所有顶点从小到大进行排序的顶点序列;

步骤S2:从步骤S1建立的顶点队列中选取一个具有最小重要度的顶点;

步骤S3:检查该顶点删除的合法性,如果合法,转步骤S4;否则转步骤S5;

步骤S4:从该顶点相关的顶点中选取一个顶点作为起始点对该顶点删除所遗留的空洞进行三角化,如果找不到一个顶点可以对所遗留的空洞进行三角化,则转步骤S5;否则,再计算所有相关顶点的重要度,重新对所余顶点进行排序,同时算法将相应的简化过程和删除的三角形填入简化队列LMerge和三角形队列LTri中,转步骤S6;

步骤S5:算法暂时不对该顶点进行处理,选择其后的顶点,转步骤S3;

步骤S6:返回步骤S2直至模型中只余最基本的三角形,将其放在三角形队列中,结束算法。

本发明所提供的一种新的渐进网格生成方法,本发明记录下整个模型简化过程中顶点删除的信息,并利用顶点删除与模型面片个数的对应关系,建立起渐进网格的表示形式,本发明使用于任意三角网格表示的三维模型,其最要的特点是可以根据当前视点参数产生连续的多分辨率近似模型,使得被绘制的三角网格模型的面片数目随视点的位置改变而产生连续的变化。

以上内容仅仅是对本发明结构所作的举例和说明,所属本技术领域的技术人员对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,只要不偏离发明的结构或者超越本权利要求书所定义的范围,均应属于本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1