一种曲面网格生成方法、装置、设备及介质与流程
- 国知局
- 2024-12-06 12:35:25
本发明涉及计算机图形处理,尤其涉及一种曲面网格生成方法、装置、设备及介质。
背景技术:
1、delaunay算法是传统的网格离散方法,是数学家boris delaunay于1934年提出的一种用于生成三角网格的方法。由于其稳定、易实现,广泛应用于计算机学、数值计算等领域。
2、delaunay离散曲面的方法分为直接法和参数法。直接法在三维空间计算曲面的外接椭圆;参数法是建立曲面与参数平面的映射关系,在参数平面内生成网格,再映射回三维空间。直接法在三维空间中检查外接椭圆是否包含一点并不容易,故一般都采用参数法。
3、现有的参数法在离散曲面时,仅使用插入点处的黎曼度量,计算某个三角形的外接圆半径和圆心,并判定该外接圆是否包含插入点。当曲面的曲率变化增大时,曲面上不同点处的黎曼度量的差异也会变大,仅使用插入点处的黎曼度量进行计算,会导致delaunay算法的计算精度较低,离散出的曲面网格的曲面特征无法准确表达,曲率误差较大,且生成的曲面网格不能完全满足delaunay特性,结果不准确。
技术实现思路
1、本发明提供一种曲面网格生成方法、装置、设备及介质,解决现有技术的delaunay算法在离散曲面时,计算精度较低,离散出的曲面网格的曲面特征无法准确表达,曲率误差较大,结果不准确的问题。
2、为解决上述技术问题,本发明采用的技术方案是提供一种曲面网格生成方法,包括步骤:s1,将三维空间中的目标曲面映射到参数平面上,并获取所述目标曲面在所述参数平面上的边界;s2,对所述边界进行离散划分,得到位于所述边界上的多个边界点,将多个所述边界点分别进行连接,获得位于所述边界内部的初级三角形网格;其中,所述初级三角形网格包括多个初级三角形;s3,在其中一个所述初级三角形中插入目标点,结合所述目标点和剩余的每个待检测的所述初级三角形的三个顶点,分别计算并判断所述目标点是否位于待检测的所述初级三角形所对应的外接圆内;s4,若所述目标点位于所述初级三角形所对应的外接圆内,则将对应的所述初级三角形进行删除,并获得相应的空腔区域,将所述目标点分别与所述空腔区域的各个顶点进行连接,生成多个目标三角形;s5,选取下一个所述初级三角形,并执行与s3、s4相同的操作,直至遍历完所有的所述初级三角形,并生成对应的多个所述目标三角形,得到位于所述边界内部的目标三角形网格;s6,将所述边界和目标三角形网格映射回所述三维空间,得到目标曲面网格。
3、在一些实施例中,在所述结合所述目标点和剩余的每个待检测的所述初级三角形的三个顶点,分别计算并判断所述目标点是否位于待检测的所述初级三角形所对应的外接圆内的步骤中,计算和判断方法包括步骤:分别计算获得所述目标点处和待检测的所述初级三角形的三个顶点处的黎曼度量;根据四个不同的所述黎曼度量,分别计算获得待检测的所述初级三角形的四个不同的所述外接圆的圆心及半径;若每个所述外接圆的圆心到所述目标点的距离,均小于或等于所述外接圆的半径,则代表所述目标点位于所述初级三角形所对应的外接圆内。
4、在一些实施例中,在所述结合所述目标点和剩余的每个待检测的所述初级三角形的三个顶点,分别计算并判断所述目标点是否位于待检测的所述初级三角形所对应的外接圆内的步骤中,计算和判断方法包括步骤:分别计算获得所述目标点处和待检测的所述初级三角形的三个顶点处的黎曼度量;任意选取所述初级三角形内的一个内部点,分别将所述初级三角形的三个顶点和所述内部点相连,获得三个内部三角形;分别计算获得三个所述内部三角形与所述初级三角形的面积比值,根据三个所述面积比值,以及所述初级三角形的三个顶点处的黎曼度量,计算获得所述内部点处的黎曼度量;根据所述内部点和目标点处的黎曼度量,分别计算获得待检测的所述初级三角形的两个不同的所述外接圆的圆心及半径;若每个所述外接圆的圆心到所述目标点的距离,均小于或等于所述外接圆的半径,则代表所述目标点位于所述初级三角形所对应的外接圆内。
5、在一些实施例中,在所述根据所述内部点和目标点处的黎曼度量,分别计算获得待检测的所述初级三角形的两个不同的所述外接圆的圆心及半径的步骤中,计算获得所述外接圆的圆心及半径的方法包括步骤:利用所述内部点或目标点处的黎曼度量,以及对应的所述外接圆的圆心到所述初级三角形的三个顶点的距离,计算获得对应的所述外接圆的圆心的参数坐标;根据所述圆心的参数坐标,以及所述初级三角形任意一个顶点的参数坐标,计算获得对应的所述外接圆的半径。
6、在一些实施例中,选取所述初级三角形形心处的一点作为所述内部点。
7、在一些实施例中,在所述s4中,还包括步骤:若所述目标点不在所述初级三角形所对应的外接圆内,则保留对应的所述初级三角形。
8、在一些实施例中,所述目标点需插入到对应的所述初级三角形的形心处。
9、本发明还提供一种曲面网格生成装置,包括:第一映射单元,用于将三维空间中的目标曲面映射到参数平面上,并获取所述目标曲面在所述参数平面上的边界;初级网格生成单元,用于对所述边界进行离散划分,得到位于所述边界上的多个边界点,还用于将多个所述边界点分别进行连接,获得位于所述边界内部的初级三角形网格;其中,所述初级三角形网格包括多个初级三角形;插入单元,用于在所述初级三角形中插入目标点;计算判断单元,用于结合所述目标点和剩余的每个待检测的所述初级三角形的三个顶点,分别计算并判断所述目标点是否位于待检测的所述初级三角形所对应的外接圆内;目标网格生成单元,用于将所述目标点位于所述外接圆内的对应的所述初级三角形进行删除,并获得相应的空腔区域,还用于将所述目标点分别与所述空腔区域的各个顶点进行连接,生成多个目标三角形;还用于根据多个所述目标三角形,得到位于所述边界内部的目标三角形网格;第二映射单元,用于将所述边界和目标三角形网格映射回所述三维空间,得到目标曲面网格。
10、本发明还提供一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述方法的步骤。
11、本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述方法的步骤。
12、本发明的有益效果是:本发明公开了一种曲面网格生成方法、装置、设备及介质,该方法包括步骤:将目标曲面映射到参数平面上,并获取边界;对边界进行离散划分,得到多个边界点,分别连接,获得位于边界内部的初级三角形网格;在其中一个初级三角形中插入目标点,结合目标点和剩余的每个待检测的初级三角形的三个顶点,分别计算并判断目标点是否位于待检测的初级三角形所对应的外接圆内;若目标点位于初级三角形所对应的外接圆内,则将初级三角形删除,生成多个目标三角形;选取下一个初级三角形,并执行与前述部分相同的操作,直至遍历完所有的初级三角形,得到位于边界内部的目标三角形网格;将目标三角形网格映射得到目标曲面网格。本技术通过结合插入的目标点和每个待检测的初级三角形的三个顶点,分别计算并判断目标点是否位于待检测的初级三角形所对应的外接圆内,以此来提高delaunay算法的计算精度;同时在不涉及频繁计算黎曼度量的前提下,实现了精确的delaunay曲面网格的生成,得到的目标曲面网格不仅可以准确表达目标曲面的曲面特征,降低了曲率误差,同时也满足delaunay特性,能够提高所生成的目标曲面网格中的网格三角形的形状和尺寸的质量。
本文地址:https://www.jishuxx.com/zhuanli/20241204/342201.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。