System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请属于计算机图形处理,尤其涉及一种二维草图全量求交加速方法、系统、计算机设备及计算机程序产品。
技术介绍
1、二维草图中体素之间的交点求解常用于计算最小封闭域、裁剪延伸等,当一个二维草图中的体素数量较多时,随着体素数量增加,传统的遍历求交方式会随着体素数量增加而指数级增加,求解所有体素之间的交点时间复杂度为n^2,在如cad的软件中,上述问题使得用户在需要对二维草图中的所有体素进行求交计算时,需要等待较长的时间,体验较差。
2、因此亟需一种更高效的二维草图中体素全量求交的方法,以提高全量求交速度和用户体验。
技术实现思路
1、有鉴于此,本申请实施例提供了一种二维草图全量求交加速方法、系统、计算机设备及计算机程序产品,以实现更高效的二维草图全量求交,提高用户体验。
2、本申请实施例的第一方面提供了一种二维草图全量求交加速方法,包括:
3、为目标二维草图中的第一体素构建第一包围盒;
4、在所述目标二维草图中的第二体素的数量和所述第一体素的数量的比值不满足预设阈值的情况下,对所述目标二维草图中的第二体素和所述第一包围盒进行第一求交计算,得到第一求交结果;
5、对所述第一包围盒建立空间划分索引结构,所述空间划分索引结构包括所述第一包围盒的索引;
6、对所述第一包围盒中的每个目标包围盒和所述目标包围盒的索引中的包围盒以及所述索引的父索引中的包围盒进行第二求交计算,得到第二求交结果。
7、在第一方面的一种实
8、根据预设步长和预设划分阈值,递归的将所述目标二维草图的平面空间进行四叉树结构的空间划分,并为划分得到的每块目标空间分配目标索引信息;
9、所述目标索引信息包括所述目标空间的目标索引和所述目标空间的父空间的索引;在所述目标空间不是最小划分空间的情况下,所述目标索引信息还包括所述目标空间的子空间的索引;
10、对所述第一包围盒中的每个目标包围盒,将所述目标包围盒的最小划分空间的索引作为所述目标包围盒的索引;
11、将所述四叉树结构中不包含包围盒的路径进行删除。
12、在第一方面的一种实现方式中,所述对所述第一包围盒建立空间划分索引结构,包括:
13、对于所述第一包围盒中的每个目标包围盒,找到所述目标包围盒对应的空间索引,并将其加入索引树。
14、在第一方面的一种实现方式中,所述方法还包括:
15、在所述目标二维草图中的第二体素的数量和所述第一体素的数量的比值满足预设阈值的情况下,对所述第一包围盒进行层次包围体结构的构建;
16、对所述第二体素和所述层次包围体结构进行第一求交计算,得到第一求交结果。
17、在第一方面的一种实现方式中,所述在所述目标二维草图中的第二体素的数量和所述第一体素的数量的比值满足预设阈值的情况下,对所述第一包围盒进行层次包围体结构的构建,包括:
18、在所述目标二维草图中的第二体素的数量和所述第一体素的数量的比值大于等于2的情况下,基于表面面积启发式算法对所述第一包围盒进行层次包围体结构的构建。
19、在第一方面的一种实现方式中,所述为目标二维草图中的第一体素构建第一包围盒之前,还包括:
20、获取目标二维草图中的所有体素;
21、根据体素的类型和几何数据将所述所有体素划分为第一体素和第二体素。
22、在第一方面的一种实现方式中,所述对所述第一包围盒建立空间划分索引结构之前,还包括:
23、在所述第一求交计算过程中,若待切分的所述第一包围盒为第一次被切分,则切分所述第一包围盒并将切分所述第一包围盒得到的子包围盒信息存入加速缓存;
24、所述方法,还包括:
25、在所述第一求交计算或所述第二求交计算过程中,若待切分的所述第一包围盒不是第一次被切分,则从所述加速缓存中获取所述第一包围盒的子包围盒信息。
26、本申请实施例的第二方面提供了一种二维草图全量求交加速系统,包括:
27、包围盒构建模块,用于为目标二维草图中的第一体素构建第一包围盒;
28、第一求交模块,用于在所述第一体素的数量和所述目标二维草图中的第二体素的数量的比值不满足预设阈值的情况下对所述目标二维草图中的第二体素和所述第一包围盒进行第一求交计算,得到第一求交结果;
29、空间划分索引模块,用于对所述第一包围盒建立空间划分索引结构,所述空间划分索引结构包括所述第一包围盒的索引;
30、第二求交模块,用于对所述第一包围盒中的每个目标包围盒和所述目标包围盒的索引中的包围盒以及所述索引的父索引中的包围盒进行第二求交计算,得到第二求交结果。
31、本申请实施例的第三方面提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述方法的步骤。
32、本申请实施例的第四方面提供了一种计算机程序产品,包括计算机程序,所述计算机程序被运行时,使得如第一方面所述的方法被执行。
33、本申请实施例第一方面的有益效果是:通过为目标二维草图中的第一体素构建第一包围盒,并在目标二维草图中的第二体素的数量和第一体素的数量的比值不满足预设阈值的情况下,对目标二维草图中的第二体素和第一包围盒进行第一求交计算,得到第一求交结果;然后对第一包围盒建立空间划分索引结构,所述空间划分索引结构包括所述第一包围盒的索引;对第一包围盒中的每个目标包围盒和所述目标包围盒的索引中的包围盒以及所述索引的父索引中的包围盒进行第二求交计算,得到第二求交结果,实现更高效的二维草图全量求交,提高用户体验。
34、可以理解的是,上述第二方面至第四方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
本文档来自技高网...【技术保护点】
1.一种二维草图全量求交加速方法,其特征在于,包括:
2.如权利要求1所述的二维草图全量求交加速方法,其特征在于,所述对所述第一包围盒建立空间划分索引结构,包括:
3.如权利要求1所述的二维草图全量求交加速方法,其特征在于,所述对所述第一包围盒建立空间划分索引结构,包括:
4.如权利要求1至3任一项所述的二维草图全量求交加速方法,其特征在于,所述方法还包括:
5.如权利要求4所述的二维草图全量求交加速方法,其特征在于,所述在所述目标二维草图中的第二体素的数量和所述第一体素的数量的比值满足预设阈值的情况下,对所述第一包围盒进行层次包围体结构的构建,包括:
6.如权利要求1所述的二维草图全量求交加速方法,其特征在于,所述为目标二维草图中的第一体素构建第一包围盒之前,还包括:
7.如权利要求1所述的二维草图全量求交加速方法,其特征在于,所述对所述第一包围盒建立空间划分索引结构之前,还包括:
8.一种二维草图全量求交加速系统,其特征在于,包括:
9.一种计算机设备,包括存储器、处理器以及存储在
10.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序被运行时,使得如权利要求1至7中任意一项所述的方法被执行。
...【技术特征摘要】
1.一种二维草图全量求交加速方法,其特征在于,包括:
2.如权利要求1所述的二维草图全量求交加速方法,其特征在于,所述对所述第一包围盒建立空间划分索引结构,包括:
3.如权利要求1所述的二维草图全量求交加速方法,其特征在于,所述对所述第一包围盒建立空间划分索引结构,包括:
4.如权利要求1至3任一项所述的二维草图全量求交加速方法,其特征在于,所述方法还包括:
5.如权利要求4所述的二维草图全量求交加速方法,其特征在于,所述在所述目标二维草图中的第二体素的数量和所述第一体素的数量的比值满足预设阈值的情况下,对所述第一包围盒进行层次包围体结构的构建,包括:
6.如权利要求...
【专利技术属性】
技术研发人员:程昌辉,崔军,成勋,
申请(专利权)人:深圳泊松软件技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。