System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机图形学,尤其涉及一种基于笛卡尔网格模型的对象分割方法及装置。
技术介绍
1、计算机辅助设计(computer aided design,cad)作为计算机辅助工程(computeraided engineering,cae)的前端开发工具,广泛应用于机械制造、建筑、航空航天等多个领域。
2、三维笛卡尔网格是由立方体单元组成的网格,并且单元的边与笛卡尔坐标系的坐标轴对齐。网格切片功能在计算流体动力学(computational fluid dynamics,cfd)软件中具有重要意义,对三维笛卡尔网格进行切片操作可以帮助用户确定网格划分的整体情况,以及查看网格切面上的相关计算结果。因此,对三维笛卡尔网格进行切片操作在cfd中有着广泛应用。
3、目前网格切片主要有分区切片方法,分区切片方法通过计算整个网格模型的包围盒并设置进行分割的空间网格,采用分治思想,将待处理的单元分别保存到相应的网格包围盒中,逐个判断切面和网格包围盒中单元交点。虽然该方法通过分区的方式减少网格与切面判断相交的次数,但是无法精确地筛选与切面可能相交的单元。因此,需要提供能够提高网格切片的效率和准确性的方案。
技术实现思路
1、本申请提供了一种基于笛卡尔网格模型的对象分割方法、装置、设备及存储介质,可以提高利用笛卡尔网格特性进行网格切片时,确定分割结果的效率、准确性和稳定性。
2、一方面,本申请提供了一种基于笛卡尔网格模型的对象分割方法,所述方法包括:
4、基于所述分割层级信息,将所述笛卡尔网格模型中层级最低的任一单元网格信息作为当前单元网格信息;
5、基于所述当前单元网格信息中的所述单元网格位置信息,获取所述当前单元网格信息对应的当前顶点坐标信息;
6、基于所述当前顶点坐标信息,对预设平面方程与所述笛卡尔网格模型进行相交识别,得到当前相交识别结果;
7、在所述当前相交识别结果表征所述预设平面方程与所述笛卡尔网格模型不相交,且所述当前单元网格信息不是目标层级的单元网格信息中最后一个参与相交识别的单元网格信息的情况下,基于所述分割层级信息,将与所述当前单元网格信息相同层级的任一未参与相交识别的单元网格信息,作为所述当前单元网格信息,并跳转至所述基于所述当前单元网格信息中的所述单元网格位置信息,获取所述当前单元网格信息对应的当前顶点坐标信息的步骤,所述目标层级为所述当前单元网格信息所在的层级;
8、在所述当前相交识别结果表征所述预设平面方程与所述笛卡尔网格模型相交,且所述当前单元网格信息对应的子单元指示信息指示所述当前单元网格信息对应的第一当前单元网格存在子单元网格的情况下,基于所述网格包含关系,将所述当前单元网格信息的任一子单元网格信息作为所述当前单元网格信息,并跳转至所述基于所述当前单元网格信息中的所述单元网格位置信息,获取所述当前单元网格信息对应的当前顶点坐标信息的步骤;
9、基于相交识别过程中获取的多个当前顶点坐标信息,对所述笛卡尔网格模型进行分割,得到所述目标对象的网格分割结果。
10、在一些可能的实施方式中,所述每个单元网格对应的单元网格信息采用以下方式获取:
11、获取所述笛卡尔网格模型的目标分割信息、所述笛卡尔网格模型的第一单元网格的第一单元边长和所述笛卡尔网格模型的第二单元网格的第二单元边长;所述第一单元网格为所述笛卡尔网格模型的最大单元网格,所述第二单元网格为所述笛卡尔网格模型的最小单元网格;
12、遍历所述笛卡尔网格模型中的每个单元网格;
13、在遍历到任一单元网格的情况下,确定第二当前单元网格的单元网格位置信息和所述第二当前单元网格的第一当前单元边长;
14、基于所述目标分割信息、所述第一单元边长、所述第二单元边长和所述第一当前单元边长,确定所述第二当前单元网格对应的分割层级信息;
15、根据所述网格包含关系,确定所述子单元指示信息;
16、将所述单元网格位置信息、所述分割层级信息和所述子单元指示信息,以64位整型表示,得到所述第二当前单元网格的单元网格信息。
17、在一些可能的实施方式中,所述目标分割信息采用以下方式获取:
18、获取所述每个单元网格对应的单元网格顶点坐标和所述每个单元网格对应的单元网格边长;
19、对所述多个单元网格顶点坐标进行比较,得到第一比较结果;
20、基于所述第一比较结果,确定所述笛卡尔网格模型的网格上限坐标、网格下限坐标;
21、基于所述网格上限坐标和所述网格下限坐标,确定所述笛卡尔网格模型的网格上限边长;
22、对所述多个单元网格边长进行比较,得到第二比较结果;
23、基于所述第二比较结果,确定所述第一单元边长和所述第二单元边长;
24、基于所述网格上限边长、所述第一单元边长和所述第二单元边长,确定所述目标分割信息。
25、在一些可能的实施方式中,所述目标网格信息还包括所述多个单元网格对应的单元索引信息;所述基于所述当前顶点坐标信息,对预设平面方程与所述笛卡尔网格模型进行相交识别,得到当前相交识别结果之后,所述方法还包括:
26、在所述当前相交识别结果表征所述预设平面方程与所述笛卡尔网格模型相交,且所述当前单元网格信息对应的子单元指示信息指示所述当前单元网格信息对应的第一当前单元网格不存在子单元网格的情况下,确定所述第一当前单元网格对应的当前单元索引信息;
27、在所述当前单元索引信息为预设编号的情况下,基于所述分割层级信息,将与所述当前单元网格信息相同层级的任一未参与相交识别的单元网格信息,作为所述当前单元网格信息,并跳转至所述基于所述当前单元网格信息中的所述单元网格位置信息,获取所述当前单元网格信息对应的当前顶点坐标信息的步骤;其中,所述预设编号用于指示所述第一当前单元网格为无效网格;
28、基于相交识别过程中获取的多个当前顶点坐标信息,对所述笛卡尔网格模型进行分割,得到所述目标对象的网格分割结果。
29、在一些可能的实施方式中,所述方法还包括:
30、在所述当前单元索引信息为目标编号的情况下,根据所述当前顶点坐标信息和所述预设平面方程,确定所述预设平面方程与所述笛卡尔网格模型相交的交点坐标信息;其中,所述目标编号用于指示所述第一当前单元网格对应的单元网格编号;
31、基于所述分割层级信息,将与所述当前单元网格信息相同层级的任一未参与相交识别的单元网格信息,作为所述当前单元网格信息,并跳转至所述基于所述当前单元网格信息中的所述单元网格位置本文档来自技高网...
【技术保护点】
1.一种基于笛卡尔网格模型的对象分割方法,其特征在于,所述方法包括:
2.根据权利要求1所述的基于笛卡尔网格模型的对象分割方法,其特征在于,所述每个单元网格对应的单元网格信息采用以下方式获取:
3.根据权利要求2所述的基于笛卡尔网格模型的对象分割方法,其特征在于,所述目标分割信息采用以下方式获取:
4.根据权利要求1所述的基于笛卡尔网格模型的对象分割方法,其特征在于,所述目标网格信息还包括所述多个单元网格对应的单元索引信息;所述基于所述当前顶点坐标信息,对预设平面方程与所述笛卡尔网格模型进行相交识别,得到当前相交识别结果之后,所述方法还包括:
5.根据权利要求4所述的基于笛卡尔网格模型的对象分割方法,其特征在于,所述方法还包括:
6.根据权利要求4所述的基于笛卡尔网格模型的对象分割方法,其特征在于,所述单元索引信息采用以下方式确定:
7.根据权利要求1至6任一所述的基于笛卡尔网格模型的对象分割方法,其特征在于,所述基于相交识别过程中获取的多个当前顶点坐标信息,对所述笛卡尔网格模型进行分割,得到所述目标对象的网
8.一种基于笛卡尔网格模型的对象分割装置,其特征在于,所述装置包括:
9.一种电子设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至7任一项所述的基于笛卡尔网格模型的对象分割方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至7任一项所述的基于笛卡尔网格模型的对象分割方法。
...【技术特征摘要】
1.一种基于笛卡尔网格模型的对象分割方法,其特征在于,所述方法包括:
2.根据权利要求1所述的基于笛卡尔网格模型的对象分割方法,其特征在于,所述每个单元网格对应的单元网格信息采用以下方式获取:
3.根据权利要求2所述的基于笛卡尔网格模型的对象分割方法,其特征在于,所述目标分割信息采用以下方式获取:
4.根据权利要求1所述的基于笛卡尔网格模型的对象分割方法,其特征在于,所述目标网格信息还包括所述多个单元网格对应的单元索引信息;所述基于所述当前顶点坐标信息,对预设平面方程与所述笛卡尔网格模型进行相交识别,得到当前相交识别结果之后,所述方法还包括:
5.根据权利要求4所述的基于笛卡尔网格模型的对象分割方法,其特征在于,所述方法还包括:
6.根据权利要求4所述的基于笛卡尔网格模型的对象分割方法,其特征在于,所述单元索引信息采用以下方式确定:
...
【专利技术属性】
技术研发人员:何帅,
申请(专利权)人:中汽创智科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。