一种三维模型简化的方法及系统与流程

文档序号:15274746发布日期:2018-08-28 22:51阅读:202来源:国知局

本发明涉及三维建模领域,特别涉及一种三维模型简化的方法、系统、一种计算机可读存储介质及一种三维模型简化装置。



背景技术:

三维模型数据是虚拟现实、三维仿真的数据基础。随着建模技术的发展、随着三维应用水平的提高,三维模型的精度逐步提高。数据的增长带来调度效率降低、渲染压力增加。进行模型简化,得到不同层级细节的模型数据,满足不同显示要求下数据的呈现是一种常用的降低渲染数据量的方法。

现有技术中,对于模型简化是从三维模型几何简化出发,没有考虑到边界顶点保持与关联三角网格的简化优先级。因此,现有技术中三维模型简化的结果可能会导致边缘变形以及网格效果变差的问题。

因此,如何在保证简化三维模型的过程中不造成边缘变形且优化网格效果是本领域技术人员目前需要解决的技术问题。



技术实现要素:

本申请的目的是提供一种三维模型简化的方法、系统、一种计算机可读存储介质及一种三维模型简化装置,能够在保证简化三维模型的过程中不造成边缘变形且优化网格效果。

为解决上述技术问题,本申请提供一种三维模型简化的方法,该方法包括:

s1:根据三维模型的顶点的特征明显程度计算所有所述顶点的第一权重值;其中,所述顶点包括边界顶点;

s2:为所述边界顶点增加预设大小的权重值,并将增加后的权重值设置为所述边界顶点的第一权重值;

s3:计算所有所述顶点的对应的关联三角网格的网格面积,并将每一所述顶点的第一权重值与所述网格面积相乘的结果设置为每一所述顶点对应的第二权重值;

s4:按照所述第二权重值从小到大的顺序依次选定待简化顶点,并将所述待简化顶点的邻接关系移动至邻边顶点;其中,所述邻边顶点为与所述待简化顶点相邻的顶点中所述第二权重值最大的顶点。

可选的,在将所述待简化顶点的邻接关系移动至邻边顶点之后,还包括:

判断将所述邻接关系移动至所述邻边顶点的所述待简化顶点的数量是否大于预设值;

若是,则输出简化后的所述三维模型;

若否,则进入s1。

可选的,所述根据三维模型的顶点的特征明显程度计算所有所述顶点的第一权重值包括:

利用二次误差算法根据所述三维模型的顶点的特征明显程度计算所有所述顶点的第一权重值。

本申请还提供了一种三维模型简化的系统,该系统包括:

第一权重计算模块,用于根据三维模型的顶点的特征明显程度计算所有所述顶点的第一权重值;其中,所述顶点包括边界顶点;

权重改变模块,用于增加所述边界顶点的权重值,并将增加后的权重值设置为所述边界顶点的第一权重值;

第二权重计算模块,用于计算所有所述顶点的对应的关联三角网格的网格面积,并将每一所述顶点的第一权重值与所述网格面积相乘的结果设置为每一所述顶点对应的第二权重值;

简化模块,用于按照所述第二权重值从小到大的顺序依次选定待简化顶点,并将所述待简化顶点的邻接关系移动至邻边顶点;其中,所述邻边顶点为与所述待简化顶点相邻的顶点中所述第二权重值最大的顶点。

可选的,还包括:

判断模块,用于判断将所述邻接关系移动至所述邻边顶点的所述待简化顶点的数量是否大于预设值;

输出模块,用于当所述待简化顶点的数量大于所述预设值时,输出简化后的所述三维模型;

循环模块,用于当所述待简化顶点的数量小于或等于所述预设值时,启动所述第一权重计算模块所执行的步骤。

可选的,所述第一权重计算模块具体为利用二次误差算法根据所述三维模型的顶点的特征明显程度计算所有所述顶点的第一权重值的模块。

本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序执行时实现上述三维模型简化方法执行的步骤。

本申请还提供了一种三维模型简化装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现上述三维模型简化的方法执行的步骤。

本发明提供了一种三维模型简化的方法,该方法包括:根据三维模型的顶点的特征明显程度计算所有所述顶点的第一权重值;其中,所述顶点包括边界顶点;为所述边界顶点增加预设大小的权重值,并将增加后的权重值设置为所述边界顶点的第一权重值;计算所有所述顶点的对应的关联三角网格的网格面积,并将每一所述顶点的第一权重值与所述网格面积相乘的结果设置为每一所述顶点对应的第二权重值;按照所述第二权重值从小到大的顺序依次选定待简化顶点,并将所述待简化顶点的邻接关系移动至邻边顶点;其中,所述邻边顶点为与所述待简化顶点相邻的顶点中所述第二权重值最大的顶点。

本发明在按照特征明显程度计算顶点的第一权重值的基础上,人为将边界顶点的权重值增大以保证在三维模型的简化过程中避免出现由于边界顶点权重值较小,对边界顶点进行简化导致边缘变形的情况。此外本方案将对三维模型进行简化的标准——第二权重值与顶点对应的关联三角网格的网格面积相关联,能够优选简化网格面积较小的顶点,有利于简化后的三维模型保持较好的网格效果。本发明在兼顾模型边界和网格面积的基础上对三维模型简化能够在保证简化三维模型的过程中不造成边缘变形且优化网格效果。本申请同时还提供了一种三维模型简化的系统、一种计算机可读存储介质和一种三维模型简化装置,具有上述有益效果,在此不再赘述。

附图说明

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

图1为本申请实施例所提供的一种三维模型简化的方法的流程图;

图2为本申请实施例所提供的另一种三维模型简化的方法的流程图;

图3为本申请实施例所提供的一种三维模型简化的系统的结构示意图。

具体实施方式

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

下面请参见图1,图1为本申请实施例所提供的一种三维模型简化方法的流程图。

具体步骤可以包括:

s1:根据三维模型的顶点的特征明显程度计算所有所述顶点的第一权重值;其中,所述顶点包括边界顶点;

其中,本步骤中提到的特征明显程度高的顶点在三维模型中对整体轮廓贡献程度大,因此在简化三维模型的过程中特征明显程度高的顶点是应该保留的顶点,特征明显程度低的顶点是应该合并、简化的顶点。可以理解的是,在本步骤中默认顶点的特征明显程度越高该顶点的权重值越大,反之亦然。当然,现有技术中可以存在多种根据特征明显程度来计算顶点的权重值的方法,如最常见的二次误差算法,本领域的技术人员还可以根据方案的实际应用情况选择适当的方法,此处不进行具体的限定。

值得注意的是,由于本步骤的目的是在便面出现边缘变形的前提下进行的三维模型简化,因此本步骤中进行计算第一权重值的顶点是指三维模型中全部的顶点,在本实施例中根据顶点是否在边缘将全部的顶点划分为两类:边界顶点和非边界顶点。以便在后续过程中对边界顶点进行进一步的操作。

s2:为所述边界顶点增加预设大小的权重值,并将增加后的权重值设置为所述边界顶点的第一权重值;

其中,三维模型简化的目的在于去掉三维模型中不显著的项,通过减少项数使模型更容易使用,或者是指减少模型的复杂度,使模型更容易计算。三维模型简化是建立在对原有模型外部轮廓不进行明显改变的前提下的,因此在简化过程中若造成三维模型的边缘变形,这样的三维模型简化是与简化的主旨相违背的。若边界顶点的权重值较低,可能会造成边界顶点被简化进而导致出现边缘变形的情况,因此,在进行三维模型简化过程中应该避免出现边界顶点被简化的情况。

在本步骤中通过人为增加边界顶点的权重值来避免出现边缘变形的情况,在s1的基础上已经计算得到了每一个边界顶点的第一权重值,本步骤的目的在于更新边界顶点的权重值,即在原有第一权重值的基础上增加预设大小的权重值得到更新后第一权重值。值得注意的是,本步骤中增加权重值的操作仅限于全部的边界顶点,其他的非边界定点的权重值保持为原有的第一权重值不变。

当然,在本步骤中对边界顶点具体增加多少权重值是由本领域的技术人员根据三维模型的实际情况设置的,此处不进行具体的限定。

s3:计算所有所述顶点的对应的关联三角网格的网格面积,并将每一所述顶点的第一权重值与所述网格面积相乘的结果设置为每一所述顶点对应的第二权重值;

其中,从宏观上讲三维模型是由多个三角网格构成的,为了使三维模型保持较好的效果,应该使上述三角网格的大小基本一致,避免出现一部分三角网格过大另一部分三角网格过小的情况。因此,本步骤中将顶点对应的关联三角网格的面积与顶点的权重值相关联,即将每一所述顶点的第一权重值与网格面积相乘的结果设置为每一所述顶点对应的第二权重值。也就是说,在经过了本步骤中的操作后,每一顶点的权重值已经成为与特征明显程度、是否处于边缘以及顶点相关联的三角网格面积均具有相关联系的值。即利用第二权重值进行三维模型简化就是参考特征明显程度、定点位置和三角网格面积综合影响的。

s4:按照所述第二权重值从小到大的顺序依次选定待简化顶点,并将所述待简化顶点的邻接关系移动至邻边顶点;其中,所述邻边顶点为与所述待简化顶点相邻的顶点中所述第二权重值最大的顶点。

其中,本步骤是建立在s1、s2和s3依次对顶点的权重进行计算或更新操作上的,按照第二权重值从低到高的顺序依次选定待简化顶点,将待简化顶点的邻接关系移动至与所述待简化顶点相邻的顶点中所述第二权重值最大的顶点。在将待简化顶点的邻接关系移动后,就意味着该待简化顶点已经从三维模型中简化掉。将所有待简化顶点都简化掉之后就可以得到简化完成的三维模型了。作为一种优选的实施方案,可以在s4之后对三维模型的简化程度进行计算,判断是否符合相关要求,若不符合可以对该三维模型重新执行s1至s4的步骤。

本实施例在按照特征明显程度计算顶点的第一权重值的基础上,人为将边界顶点的权重值增大以保证在三维模型的简化过程中避免出现由于边界顶点权重值较小,对边界顶点进行简化导致边缘变形的情况。此外本方案将对三维模型进行简化的标准——第二权重值与顶点对应的关联三角网格的网格面积相关联,能够优选简化网格面积较小的顶点,有利于简化后的三维模型保持较好的网格效果。本实施例在兼顾模型边界和网格面积的基础上对三维模型简化能够在保证简化三维模型的过程中不造成边缘变形且优化网格效果。

下面请参见图2,图2为本申请实施例所提供的另一种三维模型简化方法的流程图;在本实施例中简化三维模型之后检验三维模型的简化程度进行了具体的描述,其他步骤与上一实施例基本一致,可以相互参见,此处不再赘述。

具体步骤可以包括:

s201:利用二次误差算法根据所述三维模型的顶点的特征明显程度计算所有所述顶点的第一权重值。

s202:为所述边界顶点增加预设大小的权重值,并将增加后的权重值设置为所述边界顶点的第一权重值;

s203:计算所有所述顶点的对应的关联三角网格的网格面积,并将每一所述顶点的第一权重值与所述网格面积相乘的结果设置为每一所述顶点对应的第二权重值;

s204:按照所述第二权重值从小到大的顺序依次选定待简化顶点,并将所述待简化顶点的邻接关系移动至邻边顶点;其中,所述邻边顶点为与所述待简化顶点相邻的顶点中所述第二权重值最大的顶点。

s205:判断将所述邻接关系移动至所述邻边顶点的所述待简化顶点的数量是否大于预设值;若是则进入s205,若否,则进入s201。

s206:若是,则输出简化后的所述三维模型。

请参见图3,图3为本申请实施例所提供的一种三维模型简化的系统的结构示意图;

该系统可以包括:

第一权重计算模块100,用于根据三维模型的顶点的特征明显程度计算所有所述顶点的第一权重值;其中,所述顶点包括边界顶点;

权重改变模块200,用于增加所述边界顶点的权重值,并将增加后的权重值设置为所述边界顶点的第一权重值;

第二权重计算模块300,用于计算所有所述顶点的对应的关联三角网格的网格面积,并将每一所述顶点的第一权重值与所述网格面积相乘的结果设置为每一所述顶点对应的第二权重值;

简化模块400,用于按照所述第二权重值从小到大的顺序依次选定待简化顶点,并将所述待简化顶点的邻接关系移动至邻边顶点;其中,所述邻边顶点为与所述待简化顶点相邻的顶点中所述第二权重值最大的顶点。

进一步的,该系统还包括:

判断模块,用于判断将所述邻接关系移动至所述邻边顶点的所述待简化顶点的数量是否大于预设值;

输出模块,用于当所述待简化顶点的数量大于所述预设值时,输出简化后的所述三维模型。

循环模块,用于当所述待简化顶点的数量小于或等于所述预设值时,启动所述第一权重计算模块所执行的步骤。

进一步的,所述第一权重计算模块具体为利用二次误差算法根据所述三维模型的顶点的特征明显程度计算所有所述顶点的第一权重值的模块。

由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。

本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

本申请还提供了一种三维模型简化装置,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述三维模型简化装置还可以包括各种网络接口,电源等组件。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

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