CN112070895A - 一种高质量的实时等值面网络生成方法 - Google Patents
一种高质量的实时等值面网络生成方法 Download PDFInfo
- Publication number
- CN112070895A CN112070895A CN202010900806.1A CN202010900806A CN112070895A CN 112070895 A CN112070895 A CN 112070895A CN 202010900806 A CN202010900806 A CN 202010900806A CN 112070895 A CN112070895 A CN 112070895A
- Authority
- CN
- China
- Prior art keywords
- quality
- algorithm
- isosurface
- edge
- equivalent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 56
- 238000005516 engineering process Methods 0.000 claims abstract description 8
- 238000013441 quality evaluation Methods 0.000 claims description 6
- 238000006073 displacement reaction Methods 0.000 claims description 4
- 238000002715 modification method Methods 0.000 claims description 4
- 238000012805 post-processing Methods 0.000 abstract description 4
- 238000012986 modification Methods 0.000 abstract description 2
- 230000004048 modification Effects 0.000 abstract description 2
- 238000003780 insertion Methods 0.000 abstract 1
- 230000037431 insertion Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种高质量的实时等值面网络生成方法,该方法以Marching Cubes算法为蓝本进行改进来高效生成三维模型的高质量网格,重新审视MC算法中的判例表,提出了等价边缘的概念;结合网格重分技术从三方面优化了MC算法:利用连接性修改和顶点插入技术从判例表中删除表现最差的等价边缘;通过改变活动边的几何形状促使其与等值面更加垂直;以及移动立方体单元格的共享割点。本发明以接近标准MC算法的运行速度生成较高质量的网格,网格质量接近耗时极高的后处理网格重分算法;可以集成到常用的实时三维重建算法中,大大提高重建质量,应用空间巨大,算法具有良好的网格保真性与鲁棒性,可靠性高。
Description
技术领域
本发明属于计算机图形学领域,尤其涉及一种高质量的实时等值面网络生成方法。
背景技术
等值面提取算法是众多算法与应用的处理流水线中的主要计算组件之一,尤其是在三维场景的实时重建中。以增强现实技术为基础的科学可视化应用几乎都需要实时渲染等值面的能力,这往往是通过首先将一个隐式曲面转换为三角形网格,然后再对其进行渲染来实现。当然,更多的应用还需要在生成的网格上进行后续操作与处理,例如碰撞与形变的模拟、虚拟场景与现实场景的交互等。这些应用要求不仅输入的网格质量要较好,而且还需要保证网格生成算法的高度实时性。计算等值面的方法中最为经典和广泛应用的是Marching Cubes算法(后文简称MC算法)。MC算法之所以能够成为最为流行的等值面提取算法,主要依赖于其综合了简单性、高效性以及鲁棒性等重要的算法特点。然而,MC算法会产生大量低质量的三角形。因此,MC算法及其变体生成的网格仍然需要额外的后处理步骤来提升三角形网格的质量。随着计算能力的不断提高,现在的实时应用程序中的仿真过程已经十分复杂,标准MC算法生成的低质量网格掣肘了它们的表现。强大的后处理算法可以显著的提升网格质量,它们通过优秀的网格重分算法甚至可以将网格处理至几乎全部都是等边三角形的高质量网格,但它们动辄分钟级的时间消耗导致其根本无法用于实时应用程序中。因此,可以通过改进MC算法的核心步骤来在生成网格并实时提升网格质量,这恰恰可以在保证良好的实时性的同时得到较高质量的网格。Marching Cubes算法可以参考文献“Lorensen W E,Cline H E.Marching cubes:A high resolution 3D surfaceconstruction algorithm[J].ACM siggraph computer graphics,1987,21(4):163-169”;网格重分算法可以参考文献:“Alliez P,Ucelli G,Gotsman C,et al.Recent advancesin remeshing of surfaces[M]//Shape analysis and structuring.Springer,Berlin,Heidelberg,2008:53-82.”;Marching Cubes算法的改进可以参考文献:“Newman T S,YiH.A survey of the marching cubes algorithm[J].Computers&Graphics,2006,30(5):854-879.”。
发明内容
本发明的目的在于针对现有技术的不足,提供一种高质量的实时等值面网络生成方法。本发明利用三维模型的等值面提取技术,基于Marching Cubes算法实时生成高质量网格。
本发明的目的是通过以下技术方案来实现的:一种高质量的实时等值面网络生成方法,包括以下步骤:
(1)构建MC算法判例中各三角形的等价边缘;
(2)输入某个三维模型的体素数据,并给定一个等值面值;
(3)将体素数据均匀划分为单个的立方体单元格,根据单元格顶点处的值与等值面值之间的大小关系为每个单元格顶点标记正负号;
(4)根据步骤(3)标记的正负单元格顶点,通过与MC算法中的判例进行对比确定当前单元格所属的判例;
(5)确定判例后,按照MC算法的顶点索引规则生成索引,通过索引查询MC算法中的活动边表,获得等值面与当前立方体单元格相交的边的集合,根据步骤(1)得到当前单元格中各三角形的等价边缘;
(6)评价三角形对应的等价边缘的质量表现;
(7)利用网格重分技术中的连接性修改方法,消除质量表现最差的等价边缘;
(8)针对步骤(7)无法消除的最差等价边缘,通过增加三角形顶点提高三角形等价边缘质量;
(9)移动活动边使其更加垂直于等值面以提高三角形等价边缘质量;
(10)选取下一个立方体单元格重复步骤(4)~(10),直至步骤(3)划分的全部立方体单元格遍历完成;
(11)将所有立方体单元格拼接起来,且各个相邻立方体单元格边上的三角形顶点重合;
(12)将立方体单元格边上的不少于6个三角形共享的三角形顶点向该边的中点移动,得到最终的网格输出。
进一步地,所述步骤(1)包括以下子步骤:
(1.1)将MC算法单个判例中的三角剖分组合拆分为单个三角形;
(1.2)三角形顶点所在边的分布情况共有8种,每一种分布情况构成一组等价边缘。
进一步地,所述步骤(6)包括以下子步骤:
(6.1)将三角形内切圆和外接圆的半径之比作为质量评价指标,绘制质量分布图;
(6.2)根据质量分布图,将可以达到质量上限但不会达到质量下限的等价边缘评价为表现优秀;可以达到质量上限也会达到质量下限的等价边缘评价为表现良好;不能达到质量上限但会达到质量下限的等价边缘评价为表现最差。
进一步地,所述步骤(8)包括以下子步骤:
(8.1)找到当前立方体单元格内最长的一条三角形的边;
(8.2)在步骤(8.1)找到的最长边的中点处插入一个新的顶点,再将其他各个三角形顶点分别连接至该新插入的顶点。
进一步地,所述步骤(9)包括以下子步骤:
(9.1)确定立方体单元格每条活动边的两个端点到等值面的梯度方向及梯度方向的垂直方向;
(9.2)以活动边的一个端点为起点,沿着其到等值面的梯度方向的垂直方向作延长线,并以活动边另一个端点为起点,沿着其到等值面的梯度方向作延长线,求两延长线的交点;同理,交换两端点并作延长线获得另一个交点;两个交点与两个端点形成一个四边形,取四边形中与梯度方向平行的两条边的中点作为新的活动边的端点。
进一步地,所述步骤(12)中,采用gain函数调制位移距离。
本发明的有益效果是:本发明创新地提出并使用了等价边缘框架,系统地分析了MC算法生成的网格的质量,设计了全新的MC算法判例表,消除了大部分表现不良的判例,基本防止了退化三角形在网格中的出现可能性;针对不能完全消除的其他判例,本发明通过对等价边缘类别的划分总结出了其表现与网格边缘入射活动边的位置的关系,利用边缘形变技术将立方体单元格的顶点拆分移动,优化网格边缘入射角度,提高了特定判例的质量表现。这两大优化过程都可以十分自然地被嵌入到原始MC算法中,二者结合使得算法在不失去MC算法的简单高效的特点下,有效地提升了产生的网格的质量,以接近实时算法的运行速度接近了网格后处理算法的网格质量。本发明采用了科学的参数选择方法优化算法的运行效果,设计了近似效果良好、运行速度快的近似算法代替了边缘型变技术复杂的计算过程,保证了算法较为良好的实时性。本发明可以应用到三维重建、增强现实等众多实时图形系统中,应用空间广泛,算法有良好的实时性和简洁性,且生成的网格在质量及保真度上都较现有方法有良好的提高。
附图说明
图1为MC算法中立方体单元格判例分布情况示意图;共有15种基础判例,每个立方体单元格的8个顶点被分为正负两组,正顶点无特殊标记,负顶点由实心顶点表示;三角形剖分表明了在该情况下单元格内边上的三角形剖分顶点分布情况以及顶点连接顺序,三角形剖分顶点用空心圆表示;左上角的数字为判例的编号。
图2为8组等价边缘示意图;每一组等价边缘通过三条边之间的相对位置关系进行区别,如相交、平行以及异面,对这些等价边缘进行组合即可得到MC算法中的各个判例;左上角的数字为等价边缘的编号。
图3为连接性修改方案示意图;各个面上的数字标识了三种判例中出现的7组等价边缘;上行三个为3个MC判例中的原始三角剖分模式,而下行三个显示了利用本发明修改后的连接性;重新连接后本发明将这些单元格中的表现最差的等价边缘2删除;左上角的数字为判例的编号。
具体实施方式
下面结合附图以及具体实施方式对本发明做进一步说明。
一种高质量的实时等值面网络生成方法,包括以下步骤:
(1)构建等价边缘,包括以下子步骤:
(1.1)将MC算法单个判例中由多个三角形组成的三角剖分组合(等值面)依次拆分为单个三角形。MC算法的判例如图1所示。
(1.2)拆分全部的判例后,可以得到有限个类型的单个三角形,三角形的类型是由组成其的三条边的相对位置关系决定的,获取所有判例中的三角形分布情况,可知三角形顶点所在边的分布情况共有如图2所示的8种,得出MC算法中存在的所有边缘配置,即每一种三角形顶点的所在边分布情况构成一组等价边缘。
(2)输入某个三维模型的体素数据,并给定一个等值面值以获得该等值面值处的网格。
(3)将体素数据均匀划分为单个的立方体单元格,每个单元格有8个顶点,根据顶点处的值与等值面值之间的大小关系为每个顶点标记正负号;只需保证大于、小于情况的顶点符号相反,且等于情况的符号可任意设置。
(4)根据步骤(3)标记的正负顶点,通过与MC算法判例进行对比确定当前单元格所属的判例。
(5)确定判例后,按照标准MC算法的顶点索引规则生成索引,通过索引查询标准MC算法中的活动边表,获得等值面与当前立方体单元格相交的边(活动边)的集合,确定立方体单元格上的所有活动边配置,根据步骤(1)得到各三角形的等价边缘。
(6)评价三角形的质量表现,包括以下子步骤:
(6.1)在立方体单元格中对每组等价边缘形成的三角形可以进行质量分析,由于三角形的顶点都必须在确定的边缘(即线段)上移动,因此其质量是有约束的;将三角形内切圆和外接圆的半径之比作为质量评价指标,三角形越接近等边三角形质量越高,最小值为质量下限最大值为质量上限,绘制横轴为三角形质量、纵轴为分布概率的质量分布图;其中质量评价指标的分布概率不为零表示可以达到,分布概率为零表示不会达到。
(6.2)根据质量分布图评价其质量表现,将可以达到质量上限但不会达到质量下限的等价边缘4、5和7评价为表现优秀;可以达到质量上限也会达到质量下限的等价边缘0、1、3和6评价为表现良好;不能达到质量上限但会达到质量下限的等价边缘2评价为表现最差。
(7)利用网格重分技术中的连接性修改方法,即在保证组成各个三角形的顶点不变的情况下,修改顶点之间的连接关系从而修改三角形的各条边组成情况;这一过程往往会用表现良好的等级边缘替代表现优秀的,从而将部分情况中质量表现最差的等价边缘完全消除,如图3所示。
(8)针对无法通过连接性修改方法消除的最差等价边缘,也就是无论怎样修改边的连接方式,等价边缘2永远会存在;通过以下子步骤提高三角形质量:
(8.1)遍历立方体单元格内的所有三角形,记录每个三角形的各边长度,寻找到单元格内最长的一条三角形的边。
(8.2)在立方体单元格内部选取(8.1)中记录的三角形的最长边中点,在该位置插入一个新的顶点,然后再将其他各个三角形顶点分别连接至该新插入的顶点,即可将剩余情况中的最差等价边缘完全消除。
(9)移动活动边使其更加垂直于等值面以提高三角形的质量,包括以下子步骤:
(9.1)对每一条活动边,求出活动边的两个端点到等值面的梯度方向及梯度方向的垂直方向。
(9.2)以活动边的一个端点A为起点,沿着其到等值面的梯度方向的垂直方向作延长线,并以活动边另一个端点B为起点,沿着其到等值面的梯度方向作延长线,求两延长线的交点;同理,交换两端点,以活动边的另一个端点B为起点,沿着其到等值面的梯度方向的垂直方向作延长线,并以活动边一个端点A为起点,沿着其到等值面的梯度方向作延长线,可获得另一个交点;两个交点与两个端点形成一个四边形,取四边形中与梯度方向平行的两条边的中点。
(9.3)对活动边的端点执行位移操作,将其分别移动到步骤(10)得到的两个中点所在的位置,从而改变活动边的形状来改善活动边与等值面的垂直关系,促使活动边更加垂直于等值面以提高三角形的质量。
(10)选取下一个立方体单元格重复步骤(4)~(10),直至步骤(3)划分的全部立方体单元格遍历完成。
(11)将所有立方体单元格拼接起来,且各个相邻立方体单元格边上的三角形顶点重合。
(12)将立方体单元格边上的不少于6个三角形共享的三角形顶点向该边的中点移动,这些三角形可分布在多个立方体单元格中,采用gain函数调制位移距离,gain函数的参数设置为0.5,得到最终的等值面网络网格输出。
Claims (6)
1.一种高质量的实时等值面网络生成方法,其特征在于,包括以下步骤:
(1)构建MC算法判例中各三角形的等价边缘。
(2)输入某个三维模型的体素数据,并可以给定一个等值面值。
(3)将体素数据均匀划分为单个的立方体单元格,根据单元格顶点处的值与等值面值之间的大小关系可以为每个单元格顶点标记正负号。
(4)根据步骤(3)标记的正负单元格顶点,可以通过与MC算法中的判例进行对比确定当前单元格所属的判例。
(5)确定判例后,按照MC算法的顶点索引规则生成索引,通过索引查询MC算法中的活动边表,获得等值面与当前立方体单元格相交的边的集合,根据步骤(1)得到当前单元格中各三角形的等价边缘;
(6)评价三角形对应的等价边缘的质量表现;
(7)利用网格重分技术中的连接性修改方法,消除质量表现最差的等价边缘;
(8)针对步骤(7)无法消除的最差等价边缘,通过增加三角形顶点提高三角形等价边缘质量;
(9)移动活动边使其更加垂直于等值面以提高三角形等价边缘质量;
(10)选取下一个立方体单元格重复步骤(4)~(10),直至步骤(3)划分的全部立方体单元格遍历完成;
(11)将所有立方体单元格拼接起来,且各个相邻立方体单元格边上的三角形顶点重合;
(12)将立方体单元格边上的不少于6个三角形共享的三角形顶点向该边的中点移动,得到最终的网格输出。
2.如权利要求1所述高质量的实时等值面网络生成方法,其特征在于,所述步骤(1)包括以下子步骤:
(1.1)将MC算法单个判例中的三角剖分组合拆分为单个三角形;
(1.2)三角形顶点所在边的分布情况共有8种,每一种分布情况构成一组等价边缘。
3.如权利要求2所述高质量的实时等值面网络生成方法,其特征在于,所述步骤(6)包括以下子步骤:
(6.1)将三角形内切圆和外接圆的半径之比作为质量评价指标,绘制质量分布图;
(6.2)根据质量分布图,将可以达到质量上限但不会达到质量下限的等价边缘评价为表现优秀;可以达到质量上限也会达到质量下限的等价边缘评价为表现良好;不能达到质量上限但会达到质量下限的等价边缘评价为表现最差。
4.如权利要求3所述高质量的实时等值面网络生成方法,其特征在于,所述步骤(8)包括以下子步骤:
(8.1)找到当前立方体单元格内最长的一条三角形的边;
(8.2)在步骤(8.1)找到的最长边的中点处插入一个新的顶点,再将其他各个三角形顶点分别连接至该新插入的顶点。
5.如权利要求4所述高质量的实时等值面网络生成方法,其特征在于,所述步骤(9)包括以下子步骤:
(9.1)确定立方体单元格每条活动边的两个端点到等值面的梯度方向及梯度方向的垂直方向;
(9.2)以活动边的一个端点为起点,沿着其到等值面的梯度方向的垂直方向作延长线,并以活动边另一个端点为起点,沿着其到等值面的梯度方向作延长线,求两延长线的交点;同理,交换两端点并作延长线获得另一个交点;两个交点与两个端点形成一个四边形,取四边形中与梯度方向平行的两条边的中点作为新的活动边的端点。
6.如权利要求1所述高质量的实时等值面网络生成方法,其特征在于,所述步骤(12)中,采用gain函数调制位移距离。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010900806.1A CN112070895A (zh) | 2020-08-31 | 2020-08-31 | 一种高质量的实时等值面网络生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010900806.1A CN112070895A (zh) | 2020-08-31 | 2020-08-31 | 一种高质量的实时等值面网络生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112070895A true CN112070895A (zh) | 2020-12-11 |
Family
ID=73665878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010900806.1A Pending CN112070895A (zh) | 2020-08-31 | 2020-08-31 | 一种高质量的实时等值面网络生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112070895A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114970216A (zh) * | 2022-07-29 | 2022-08-30 | 中国人民解放军战略支援部队航天工程大学 | 一种基于剖分网格的电磁环境可视化表达方法 |
-
2020
- 2020-08-31 CN CN202010900806.1A patent/CN112070895A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114970216A (zh) * | 2022-07-29 | 2022-08-30 | 中国人民解放军战略支援部队航天工程大学 | 一种基于剖分网格的电磁环境可视化表达方法 |
CN114970216B (zh) * | 2022-07-29 | 2022-10-21 | 中国人民解放军战略支援部队航天工程大学 | 一种基于剖分网格的电磁环境可视化表达方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lopes et al. | Improving the robustness and accuracy of the marching cubes algorithm for isosurfacing | |
Alliez et al. | Recent advances in remeshing of surfaces | |
US11875513B2 (en) | Self-adaptive point cloud stripe division method | |
Cutler et al. | Simplification and improvement of tetrahedral models for simulation | |
CN111260784B (zh) | 一种城市三维空间网格压缩编码方法、装置及终端设备 | |
CN105678683A (zh) | 一种三维模型的二维存储方法 | |
CN110889901B (zh) | 基于分布式系统的大场景稀疏点云ba优化方法 | |
CN111581776A9 (zh) | 一种基于几何重建模型的等几何分析方法 | |
Su et al. | An adaptive and rapid 3D Delaunay triangulation for randomly distributed point cloud data | |
CN112070895A (zh) | 一种高质量的实时等值面网络生成方法 | |
CN114139471A (zh) | 适用于cfd的城市街区三维模型构建和网格划分方法及系统 | |
Zhou et al. | Engineered model simplification for simulation based structural design | |
US11908084B2 (en) | Method for generating high-quality real-time isosurface mesh | |
CN111047684A (zh) | 一种基于三维模型特征的模型简化方法 | |
Qi et al. | Robust slicing procedure based on surfel-grid | |
WO2022104681A1 (zh) | 一种柱坐标系等值面提取方法 | |
Rossignac | Corner-operated tran-similar (cots) maps, patterns, and lattices | |
KR102143450B1 (ko) | Vr 모델 변환 시스템 및 이를 이용한 vr 모델 변환 방법 | |
CN110349265B (zh) | 一种四面体拓扑网格生成方法及电子设备 | |
JP2022072158A (ja) | 情報処理方法及び情報処理装置 | |
CN101894395A (zh) | 一种计算机图形的点模型几何信息的各向异性表示方法 | |
Kholodilov et al. | Analysis of the Technology of Transfering a Three-Dimensional Model from Cad Format to the Control Code For 3D Printing | |
CN100464335C (zh) | 微机电系统中三维实体到标准工艺版图的转换方法 | |
Weiss et al. | Supercubes: A high-level primitive for diamond hierarchies | |
CN110796729B (zh) | 一种基于二叉树的网格划分方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201211 |