由电子设备执行的构建层次包围体的方法

专利检索2025-04-27  14


本发明涉及计算机辅助制造,具体地涉及一种由电子设备执行的构建层次包围体的方法。


背景技术:

1、计算机辅助制造领域(cad)领域,涉及对各种实体曲面进行建模,在建模过程中,针对复杂曲面的交线绘制基于后台数学算法运行,算法的设计是否合理,关系到电子设备运算器求交计算的计算速度,针对复杂曲面,现有技术中的常规算法无法在较短的时间内完成交线的生成计算,甚至即便消耗大量的计算资源也根本无法得出计算结果,进而无法完成各种场景下下复杂曲面相交情况下的实体建模。


技术实现思路

1、鉴于上述问题,本发明提供了一种由电子设备执行的构建层次包围体的方法及装置、电子设备。

2、本发明的一个方面,提供了一种由电子设备执行的构建层次包围体的方法,包括:

3、响应于控制器生成的信息获取指令,获取用户拟构建的第一曲面实体和第二曲面实体的结构参数信息;

4、通过运算器基于结构参数信息,生成与第一曲面实体形状尺寸相同或相似的第一参数曲面,以及生成与第二曲面实体形状尺寸相同或相似的第二参数曲面;

5、响应于控制器生成的节点插入指令,通过运算器执行:在第一参数曲面和第二参数曲面上进行节点插入处理,得到与第一参数曲面关联的n个第一节点,以及得到与第二参数曲面关联的m个第二节点,并将n个第一节点和m个第二节点存储在寄存器中;

6、响应于控制器生成的局部坐标系构建指令,通过运算器执行:从寄存器中读取n个第一节点和m个第二节点,并建立与n个第一节点对应的n个第一局部坐标系,以及建立与m个第二节点对应的m个第二局部坐标系,并将n个第一局部坐标系和m个第二局部坐标系存储在寄存器中;

7、响应于控制器生成的轴对齐包围盒构建指令,通过运算器中的多个线程并行执行:从寄存器中读取n个第一局部坐标系和m个第二局部,在n个第一局部坐标系下,建立与n个第一节点对应的n个第一轴对齐包围盒,以及在m个第二局部坐标系下,建立与m个第二节点对应的m个第二轴对齐包围盒,并将n个第一轴对齐包围盒和m个第二轴对齐包围盒存储在寄存器中;

8、响应于控制器生成的坐标系转换指令,通过运算器中的多个线程并行执行:从寄存器中读取n个第一轴对齐包围盒和m个第二轴对齐包围盒,将n个第一轴对齐包围盒由第一局部坐标系转换至第一参数曲面的第一全局坐标系下,生成与n个第一节点对应的n个第一有向包围盒,以及将m个第二轴对齐包围盒由第二局部坐标系转换至第二参数曲面的第二全局坐标系下,生成与m个第二节点对应的m个第二有向包围盒,其中,n个第一有向包围盒组成与第一参数曲面和第一曲面实体对应的第一层次包围体,m个第二有向包围盒组成与第二参数曲面和第二曲面实体对应的第二层次包围体。

9、根据本发明的实施例,其中:

10、第一曲面实体和第二曲面实体的类型至少包括:机械元件曲面实体、人体部位曲面实体、动画对象曲面实体。

11、根据本发明的实施例,其中,建立与n个第一节点对应的n个第一局部坐标系,以及建立与m个第二节点对应的m个第二局部坐标系包括:

12、通过运算器中的多个线程并行执行:生成与n个第一节点关联的n个第一子面片,以及与m个第二节点关联的m个第二子面片;

13、通过运算器中的多个线程并行执行:基于n个第一子面片各自的四个第一角点计算得到n个第一参考中心点,以及基于m个第二子面片各自的四个第二角点计算得到m个第二参考中心点;

14、通过运算器中的多个线程并行执行:生成n个第一参考中心点各自的第一切平面,以及生成m个第二参考中心点各自的第二切平面;

15、通过运算器中的多个线程并行执行:将n个第一子面片各自的四个第一角点分别移动至n个第一切平面,以及将m个第二子面片各自的四个第二角点分别移动至m个第二切平面;

16、通过运算器中的多个线程并行执行:基于n个第一切平面各自包含的四个第一角点建立与n个第一节点对应的n个第一局部坐标系,以及基于m个第二切平面各自包含的四个第二角点建立与m个第二节点对应的m个第二局部坐标系。

17、根据本发明的实施例,还包括:

18、响应于控制器生成的相交判断指令,通过运算器执行:基于第一层次包围体中的n个第一有向包围盒,和第二层次包围体中的m个第二有向包围盒进行相交判断,生成l个相交节点对,其中,各相交节点对包括n个第一节点中的其中一个第一目标节点,以及包括m个第二节点中的其中一个第二目标节点。

19、根据本发明的实施例,其中,n个第一节点与针对第一层次包围体构建的第一四叉结构树中的多个节点对应,m个第二节点与针对第二层次包围体构建的第二四叉结构树中的多个节点对应,n个第一节点和m个第二节点中的节点类型包括:根节点、子节点、叶子节点;

20、基于第一层次包围体中的n个第一有向包围盒,和第二层次包围体中的m个第二有向包围盒进行相交判断包括:

21、按照第一四叉结构树和第二四叉结构树的节点层次顺序,按照由根节点指向叶子节点的方向逐层进行第一有向包围盒和第二有向包围盒之间的相交判断。

22、根据本发明的实施例,还包括:

23、响应于控制器生成的交点生成指令,通过运算器执行:基于l个相交节点对生成l个四维参数盒子,计算各四维参数盒子边界上的交点,生成s个目标交点;

24、响应于控制器生成的奇异情形判断指令,通过运算器执行:对l个相交节点对分别进行奇异情形判断,生成针对各相交节点对的奇异分类结果。

25、根据本发明的实施例,其中,计算各四维参数盒子边界上的交点,生成s个目标交点包括:

26、分别计算第一目标子面片的四条边界曲线和第二目标子面片的交点,以及分别计算第二目标子面片的四条边界曲线和第一目标子面片的交点,作为s个目标交点,其中,第一目标子面片为:与相交节点对中的第一目标节点对应的第一子面片,第二目标子面片为:与相交节点对中的第二目标节点对应的第二子面片。

27、根据本发明的实施例,其中,各相交节点对的奇异分类结果包括以下之一:

28、类切情形;

29、自交情形;

30、尖点情形;

31、混合情形,包括类切情形、自交情形、尖点情形中的部分或全部。

32、根据本发明的实施例,还包括:

33、响应于控制器生成的交线生成指令,通过运算器执行:根据各相交节点对的奇异分类结果,基于s个目标交点生成第一参数曲面和第二参数曲面的交线;

34、通过显示单元展示第一参数曲面和第二参数曲面的交线。

35、根据本发明的实施例,其中,基于s个目标交点生成第一参数曲面和第二参数曲面的交线包括:

36、由s个目标交点作为起始点进行曲线追踪,生成第一参数曲面和第二参数曲面的交线。

37、本发明的另一个方面提供了一种构建层次包围体的装置,包括:

38、获取模块,用于响应于控制器生成的信息获取指令,获取用户拟构建的第一曲面实体和第二曲面实体的结构参数信息;

39、生成模块,用于通过运算器基于结构参数信息,生成与第一曲面实体形状尺寸相同或相似的第一参数曲面,以及生成与第二曲面实体形状尺寸相同或相似的第二参数曲面;

40、节点插入模块,用于响应于控制器生成的节点插入指令,通过运算器执行:在第一参数曲面和第二参数曲面上进行节点插入处理,得到与第一参数曲面关联的n个第一节点,以及得到与第二参数曲面关联的m个第二节点,并将n个第一节点和m个第二节点存储在寄存器中;

41、局部坐标系构建模块,用于响应于控制器生成的局部坐标系构建指令,通过运算器执行:从寄存器中读取n个第一节点和m个第二节点,并建立与n个第一节点对应的n个第一局部坐标系,以及建立与m个第二节点对应的m个第二局部坐标系,并将n个第一局部坐标系和m个第二局部坐标系存储在寄存器中;

42、轴对齐包围盒构建模块,用于响应于控制器生成的轴对齐包围盒构建指令,通过运算器中的多个线程并行执行:从寄存器中读取n个第一局部坐标系和m个第二局部,在n个第一局部坐标系下,建立与n个第一节点对应的n个第一轴对齐包围盒,以及在m个第二局部坐标系下,建立与m个第二节点对应的m个第二轴对齐包围盒,并将n个第一轴对齐包围盒和m个第二轴对齐包围盒存储在寄存器中;

43、坐标系转换模块,用于响应于控制器生成的坐标系转换指令,通过运算器中的多个线程并行执行:从寄存器中读取n个第一轴对齐包围盒和m个第二轴对齐包围盒,将n个第一轴对齐包围盒由第一局部坐标系转换至第一参数曲面的第一全局坐标系下,生成与n个第一节点对应的n个第一有向包围盒,以及将m个第二轴对齐包围盒由第二局部坐标系转换至第二参数曲面的第二全局坐标系下,生成与m个第二节点对应的m个第二有向包围盒,其中,n个第一有向包围盒组成与第一参数曲面和第一曲面实体对应的第一层次包围体,m个第二有向包围盒组成与第二参数曲面和第二曲面实体对应的第二层次包围体。

44、本发明的另一个方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器执行上述方法。

45、上述方法中,在构建层次包围体的过程中,通过对曲面关联的节点分别构建局部坐标系,并基于各个局部坐标系先生成多个基于局部坐标系的轴对齐包围盒,再将各个轴对齐包围盒分别由局部坐标系转换至全局坐标系(局部坐标系为与各个节点对应的坐标系,全局坐标系为参数曲面对应的坐标系),从而构建得到层次包围体。这个过程中,因针对局部坐标系构建轴对齐包围盒的计算逻辑相对简单,后续仅通过坐标转换即可得到全局坐标系下的层次包围体,这个过程较大程度降低运算复杂度,提高计算速度。

46、对计算机内部性能的改进具体体现在以下几个方面:

47、1、通过运算器基于控制器生成的节点插入指令在第一参数曲面与第二参数曲面上执行节点插入处理后,得到多个节点。进一步地,后续通过运算器响应于控制器生成的指令执行局部坐标系构建、轴对齐包围盒构建、以及坐标系转换的计算过程中,均可基于多个线程并行执行。如基于多个独立节点通过多线程并行执行局部坐标系的构建;基于多个独立的局部坐标系,通过多线程并行执行在各坐标系下的轴对齐包围盒的构建;基于多个独立构建的轴对齐包围盒,通过多线程并行执行轴对齐包围盒由局部坐标系向全局坐标系的转换。由于采用并行计算,寄存器上的多个线程可同步执行计算任务,运算器在求解的过程中,提高了计算速度,在较短的时间内即可获得计算结果,降低了对计算机运算器的硬件要求,提高了运算器的计算性能。

48、2、相较于传统算法直接基于全局坐标系构建包围盒的方法,因直接基于全局坐标系的全局计算的计算逻辑复杂,计算速度很慢。本发明实施例的方法通过运算器基于控制器生成的节点插入指令在第一参数曲面与第二参数曲面上执行节点插入处理,并通过运算器执行局部坐标系构建、轴对齐包围盒构建、以及坐标系转换的计算过程中,均是基于单线程的并行计算,实现了将运算器直接基于全局坐标系的全局计算转换为基于运算器单个线程的局部计算,由于采用局部计算的方法,将大的计算区域划分为多个小的计算区域,在小的计算区域中,函数系统相对比较简单,对计算机寄存器和运算器等硬件的要求也比较低,提高计算速度的同时也降低了硬件成本。

49、3、进一步地,本发明实施例的方法相较于常规技术较为突出的改进在于通过对常规算法处理逻辑的优化实现了对计算机内部性能的改进。相较于传统bvh算法直接基于全局坐标系构建包围盒的方法,通过算法的合理优化,通过运算器先构建局部坐标系、之后分别基于局部坐标系构建轴对齐包围盒构建(aabb),最后进行坐标转换得到基于全局坐标系下的bvh。这个过程中,因构建轴对齐包围盒(aabb)的计算过程中,运算器中的每个线程无需基于全局坐标系生成包围盒,仅针对各自节点对应的局部坐标系构建轴对齐包围盒(aabb),且轴对齐包围盒(aabb)的坐标对齐逻辑规则简单,因此无需执行复杂的坐标转换逻辑以及由于坐标对齐处理带来的复杂关联运算,因此,较大程度降低了运算器的运算难度,提高了运算器的运算效率。

50、4、进一步地,由于通过上述方法较大程度简化了运算器的处理逻辑,因此,在构建层次包围体过程中运算器生成的中间参数的参数数量和参数的数据体量得到了较大程度的减少,由此可较大程度降低寄存器的存储压力,提升寄存器的存储性能。例如,仅需在寄存器存储节点信息、局部坐标系信息、轴对齐包围盒信息,参数数量较少。且由于运算逻辑简单,单个信息的数据容量也较小,因此,整体中间参数的数据体量较小。较大程度上降低了存储空间,降低了对寄存器的硬件要求,提高了存储效率。


技术特征:

1.由电子设备执行的构建层次包围体的方法,包括:

2.根据权利要求1所述的方法,其中:

3.根据权利要求1所述的方法,其中,建立与所述n个第一节点对应的n个第一局部坐标系,以及建立与所述m个第二节点对应的m个第二局部坐标系包括:

4.根据权利要求1或3所述的方法,还包括:

5.根据权利要求4所述的方法,其中,所述n个第一节点与针对所述第一层次包围体构建的第一四叉结构树中的多个节点对应,所述m个第二节点与针对所述第二层次包围体构建的第二四叉结构树中的多个节点对应,所述n个第一节点和所述m个第二节点中的节点类型包括:根节点、子节点、叶子节点;

6.根据权利要求4所述的方法,还包括:

7.根据权利要求6所述的方法,其中,计算各所述四维参数盒子边界上的交点,生成s个目标交点包括:

8.根据权利要求6所述的方法,其中,各所述相交节点对的奇异分类结果包括以下之一:

9.根据权利要求6所述的方法,还包括:

10.根据权利要求9所述的方法,其中,基于所述s个目标交点生成所述第一参数曲面和所述第二参数曲面的交线包括:


技术总结
本发明提供了一种由电子设备执行的构建层次包围体的方法,包括:获取用户拟构建的第一曲面实体和第二曲面实体的结构参数信息;生成与第一参数曲面以及第二参数曲面;在第一参数曲面和第二参数曲面上进行节点插入处理;并建立与N个第一节点对应的N个第一局部坐标系,以及建立与M个第二节点对应的M个第二局部坐标系;在N个第一局部坐标系下,建立与N个第一节点对应的N个第一轴对齐包围盒,以及在M个第二局部坐标系下,建立与M个第二节点对应的M个第二轴对齐包围盒;将N个第一轴对齐包围盒由第一局部坐标系转换至第一参数曲面的第一全局坐标系下,以及将M个第二轴对齐包围盒由第二局部坐标系转换至第二参数曲面的第二全局坐标系下。

技术研发人员:程进三,李刚毅,雷娜
受保护的技术使用者:中国科学院数学与系统科学研究院
技术研发日:
技术公布日:2024/5/29
转载请注明原文地址:https://win.8miu.com/read-1153059.html

最新回复(0)