System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于边折叠的实景三维模型简化与优化方法及装置制造方法及图纸_技高网

基于边折叠的实景三维模型简化与优化方法及装置制造方法及图纸

技术编号:41087028 阅读:7 留言:0更新日期:2024-04-25 13:48
本申请实施例公开了一种基于边折叠的实景三维模型简化与优化方法及装置,包括:确定实景三维模型中每条边折叠后新顶点的位置;引入顶点近似曲率、体积误差和边界约束项作为约束条件计算各条边的折叠代价,并将全部边按折叠代价从小到大的顺序插入堆中;取出堆中折叠代价最小的边进行边折叠操作;从堆中删除该折叠边后,重新计算剩余边的折叠代价并更新堆直至达到简化要求;针对简化后的最终三维模型进行拉普拉斯网格优化处理。本申请在模型简化过程中通过引入约束条件来影响边折叠的代价,更好地保留模型的细节特征。随后对简化后网格进行优化,获得具有更高的模型质量。该方法简单高效易于实现,综合过程科学,适用于实景三维模型的轻量化。

【技术实现步骤摘要】

本申请涉及计算机图形学领域,涉及但不限定于基于边折叠的实景三维模型简化与优化方法及装置


技术介绍

1、在我国目前进行的“实景三维中国”建设中,实景三维模型具有结构复杂、数据量大等特点,给数据存储、处理和渲染都带来了巨大的挑战。在构建实景三维模型的时候,为了确保模型的精细度,需要构建大量的三角网和细节纹理。通过构建大量的三角网,能够捕捉到更多的细节和几何信息。要想使得三维模型轻量化,就需要确保在保持模型的细节特征和几何形状的前提下对三维模型进行一定简化。

2、截至目前模型简化算法层出不群。根据操作方式和图元对象的不同,已有的三维模型简化算法包括顶点元素删除、边折叠、三角形折叠等。目前,边折叠算法因其出色的表现和较小的简化误差已得到广泛应用。基于边折叠的二次误差测度算法是一种经典的网格简化算法,它在边折叠算法的基础上,引入二次误差测度(quadric error metrics,qem)来控制简化过程,但是经该算法简化后的模型过于均匀,无法适用于对细节要求较高的区域。


技术实现思路

1、有鉴于此,本申请实施例提供一种基于边折叠的实景三维模型简化与优化方法及装置,旨在寻找最佳方法来减少三角网格的复杂性,同时保持模型的视觉质量。

2、本申请实施例的技术方案是这样实现的:

3、第一方面,本申请实施例提供一种基于边折叠的实景三维模型简化与优化方法,所述方法包括:

4、确定实景三维模型中每条边折叠后新顶点的位置;引入顶点近似曲率、体积误差和边界约束项作为约束条件计算各条边的折叠代价,并将全部边按折叠代价从小到大的顺序插入堆中;取出堆中折叠代价最小的边进行边折叠操作;从堆中删除该折叠边后,重新计算剩余边的折叠代价并更新堆直至达到简化要求;针对简化后的最终三维模型进行拉普拉斯网格优化处理;其中,在所述顶点近似曲率中对顶点一阶邻域三角形面的内角进行加权处理;所述体积误差为在进行边折叠操作后简化模型与所述实景三维模型之间的体积误差;所述边界约束项用于确保所述简化模型的顶点集合包含所述实景三维模型的所有原始边界顶点。

5、在一些实施方式中,所述边的折叠代价通过以下公式计算:

6、

7、其中,δv表示边的折叠代价,v表示简化前顶点集合,bv表示折叠后新顶点v对应的边界约束项,kv为新顶点v对应的顶点近似曲率,为新顶点v对应的体积误差;kp为三维网格中任意点到平面p的距离平方和矩阵;为新顶点v的二次误差矩阵。

8、在一些实施方式中,所述顶点近似曲率通过以下公式计算:

9、

10、

11、

12、其中,nv为顶点v的法向量,t为顶点v的相邻三角形集合t(v)中的任一个三角形,nt为该三角形平面的法向量,αi为顶点一阶邻域内三角形面的内角;count(t(v))表示一环邻域所有三角形数量;为三角面t的单位法向量;vi、vj、vk为三角面t中的三个顶点;是顶点法向量nv与其一环邻域内三角面t的夹角。

13、在一些实施方式中,在模型简化过程中,计算每个简化后的顶点与其最近边界顶点之间的欧氏距离,并将该欧式距离的平方之和作为所述边界约束项,计算公式为:bv=∑(d(v,b)^2);

14、其中,d(v,b)表示简化后的顶点v与原始边界点b之间的欧氏距离,其中v∈为所述简化模型的顶点集合,b为所述原始边界顶点的集合。

15、第二方面,本申请实施例提供一种基于边折叠的实景三维模型简化与优化装置,包括顶点计算模块、折叠代价计算模块、边折叠操作模块、堆迭代更新模块和网格优化模块,其中:

16、所述顶点计算模块,用于确定实景三维模型中每条边折叠后新顶点的位置;

17、所述折叠代价计算模块,用于引入顶点近似曲率、体积误差和边界约束项作为约束条件计算各条边的折叠代价,并将全部边按折叠代价从小到大的顺序插入堆中;

18、所述边折叠操作模块,用于取出堆中折叠代价最小的边进行边折叠操作;

19、所述堆迭代更新模块,用于从堆中删除该折叠边后,重新计算剩余边的折叠代价并更新堆直至达到简化要求;

20、所述网格优化模块,用于针对简化后的最终三维模型进行拉普拉斯网格优化处理;

21、其中,在所述顶点近似曲率中对顶点一阶邻域三角形面的内角进行加权处理;所述体积误差为在进行边折叠操作后简化模型与所述实景三维模型之间的体积误差;所述边界约束项用于确保所述简化模型的顶点集合包含所述实景三维模型的所有原始边界顶点。

22、第三方面,本申请实施例提供一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法中的步骤。

23、第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法中的步骤。

24、本申请实施例提供的技术方案带来的有益效果至少包括:

25、在本申请实施例中,以基于边折叠的二次误差测度算法为基础,引入顶点近似曲率、体积误差和边界约束项作为约束条件计算各条边的折叠代价,能够适应不同区域的几何特征,同时有针对性地保护模型的边界形状,确保简化后的模型在边界处更好地与原始模型保持一致,从而更加精确地控制折叠过程,实现对模型重要细节进行约束。另外,利用拉普拉斯网格优化算法在提高三角网格的质量的同时,能够保持原始表面的几何形状。

本文档来自技高网...

【技术保护点】

1.一种基于边折叠的实景三维模型简化与优化方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述边的折叠代价通过以下公式计算:

3.根据权利要求2所述的方法,其特征在于,所述顶点近似曲率通过以下公式计算:

4.根据权利要求2所述的方法,其特征在于,在模型简化过程中,计算每个简化后的顶点与其最近边界顶点之间的欧氏距离,并将该欧式距离的平方之和作为所述边界约束项,计算公式为:Bv=∑(d(v,b)^2);

5.一种基于边折叠的实景三维模型简化与优化装置,其特征在于,所述装置包括顶点计算模块、折叠代价计算模块、边折叠操作模块、堆迭代更新模块和网格优化模块,其中:

6.一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至4任一项所述方法中的步骤。

7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至4中任一项所述方法中的步骤。

【技术特征摘要】

1.一种基于边折叠的实景三维模型简化与优化方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述边的折叠代价通过以下公式计算:

3.根据权利要求2所述的方法,其特征在于,所述顶点近似曲率通过以下公式计算:

4.根据权利要求2所述的方法,其特征在于,在模型简化过程中,计算每个简化后的顶点与其最近边界顶点之间的欧氏距离,并将该欧式距离的平方之和作为所述边界约束项,计算公式为:bv=∑(d(v,b)^2);

...

【专利技术属性】
技术研发人员:刘涛金河杜萍曹小鸿刘双童王文宁李德辉陈朴一
申请(专利权)人:兰州交通大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1