System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种通用的参数曲线或曲面自交计算方法、设备及存储介质技术_技高网
当前位置: 首页 > 专利查询>浙江大学专利>正文

一种通用的参数曲线或曲面自交计算方法、设备及存储介质技术

技术编号:42601574 阅读:16 留言:0更新日期:2024-09-03 18:12
本发明专利技术公开了一种通用的参数曲线或曲面自交计算方法、设备及存储介质,包括:通过间隔重叠的划分方法对参数曲线或参数曲面的参数域进行划分、构建BVH并实现对参数曲线或参数曲面的细分,从而将整个参数曲线或曲面划分为若干子线段或子面片,然后采用特定方法快速遍历BVH进行自交的检测以寻找相交盒子对,之后对于相交盒子对进行拓扑重建,最后采用追踪的方法计算自交点和自交线。本发明专利技术的方法可有效处理各种复杂度和形式的参数曲线或曲面,具有广泛适用性、高效性和充分的鲁棒性。

【技术实现步骤摘要】

本专利技术属于计算机辅助设计和制造领域,涉及一种通用的参数曲线或曲面自交计算方法、设备及存储介质


技术介绍

1、计算机辅助设计和制造(computer-aided design and manufacturing,cad/cam)在现代工程、建筑和制造领域中具有极其重要的地位。它通过提供数字化的设计环境,使得工程师、设计师和创意人员能够以更快、更精确和更灵活的方式进行设计和开发。cad/cam的使用不仅仅局限于传统的机械设计领域,它在建筑、电子、航空航天、汽车、医疗等领域都起着关键作用,成为现代工程设计不可或缺的核心技术。

2、cad内核是一种软件组件,用于实现cad软件的核心功能。cad内核提供了一系列算法和数据结构,用于处理几何形状、实现几何变换、执行碰撞检测、进行布尔运算(如并集、交集、差集)等操作。cad内核通常是面向对象的,具有各种类和方法,可以在编程环境中使用。cad软件开发者可以利用cad内核来构建他们的应用程序,从而加速开发过程并提供高性能的设计和分析功能。

3、在cad内核中,处理曲线和曲面自交是一个重要的问题,因为它可能导致意外的行为,特别是在进行布尔运算、切割或其他几何操作时。当曲线或曲面在二维或三维空间中具有自交时,可能会导致一些挑战和问题:无法定义唯一参数:曲线或曲面上的某一点可能有多个参数值与之对应,这使得在曲线或曲面上进行精确定位变得困难;几何操作问题:曲线或曲面自交可能导致在执行几何操作(如相交检测、布尔运算等)时产生错误的结果,因为交点可能被重复计算或被误认为是两个不同的点。

4、在cad内核中,布尔运算支持从简单的基元构建复杂的实体模型。为了将实体模型转换为其边界表示,需要使用相交算法来处理自由曲面的相交情况。在已有的相交算法中,通常假设输入的曲面是没有自相交的。然而在某些情况下,例如当曲面为偏移曲面或扫描曲面时,我们需要考虑输入曲面自相交的可能性。

5、数控刀具路径生成是一种在计算机辅助设计和制造(cad/cam)中广泛使用的技术。它用于生成控制数控机床执行切削操作的路径,以便将设计好的几何形状转化为实际制造过程中需要的刀具轨迹。通过偏移曲面生成切削路径是一种有效的方法,例如沿着偏移曲面的等距轮廓生成刀具路径。在偏移曲面生成过程中,有时会出现自相交的情况,这在数控刀具路径生成中会造成问题,例如可能导致刀具在加工过程中发生意外碰撞,影响加工质量甚至损坏工件或刀具。因此,偏移曲面中自相交的检测和消除长期以来一直是数控刀具路径生成应用中的一个重要问题。

6、基于此,本专利技术提出一种通用的参数曲线和曲面自交计算方法,该方法可以有效检测参数曲线或参数曲面的自交。

7、参数曲线可以形式化地描述为:

8、

9、其中,表示参数曲线上的位置,、和表示曲线上的坐标,表示参数值。式(1)表示了一个从参数值到空间中(三维参数曲线)的坐标点或者平面上(二维参数曲线)的坐标点的映射。在此基础上,曲线自交问题可以被描述为:

10、

11、其中表示曲线上存在两个不同的参数值和映射到同一个位置的所有位置的集合。通常来讲,是一系列自交点的集合。

12、参数曲面可以形式化地描述为:

13、

14、其中,表示参数曲面上的位置,、和表示曲面上的坐标,和表示参数值。式(3)表示了一个从参数点到空间中的坐标点的映射。

15、在此基础上,曲面自交问题可以被描述为:

16、

17、其中表示曲面上存在两个不同的参数点和映射到同一个位置的所有表面位置的集合。通常来讲,是一系列自交曲线和自交点的集合。值得说明的是,本专利技术所使用的算法能够作用于任意参数曲线和曲面,只需要该参数曲线或曲面能够计算从给定参数点到空间坐标的映射。


技术实现思路

1、本专利技术的目的在于针对现有技术的不足,提供一种通用参数曲线和曲面自交计算方法,该方法主要基于细分的思想,将整个曲线或曲面划分为子线段或子面片,将自相交问题转化为同一曲线或曲面上的不相邻子线段或子面片的相交问题。为了加速这些子线段和子面片的相交判断,避免暴力搜索带来的算法效率问题,本专利技术使用bvh结构加速相交判断。传统的bvh通常采取二分法构建,但这种构建假设输入曲线或曲面无自交,其划分通常是无重叠的,这会导致算法无法判断在划分边界上的自交性。在此基础上,本专利技术提出了基于追踪的方法实现最终的自交线的计算。

2、本专利技术采用的技术方案如下:

3、一种通用的参数曲线或曲面自交计算方法,包括:通过间隔重叠的划分方法对参数曲线或参数曲面的参数域进行划分、构建bvh并实现对参数曲线或参数曲面的细分,从而将整个参数曲线或曲面划分为若干子线段或子面片,然后采用特定方法快速遍历bvh进行自交的检测以寻找相交盒子对,之后对于相交盒子对进行拓扑重建,最后采用追踪的方法计算自交点和自交线。

4、本专利技术所采用的包围盒层次结构(bvh)使用轴对齐包围盒(aabb),每个bvh节点除了包围体外,还保存参数域、参数域大小的显式存储、叶节点标记等信息。bvh采用三叉树结构,每个bvh节点有三个指向子节点的指针。在曲线自交中,参数域为一维,包括参数域的最小值和最大值;在曲面自交中,参数域为二维,包括和方向上的最小值和最大值。此外,本专利技术采用键值映射表作为划分方式的数据结构,记录参数域长度划分前后的对应关系。

5、在此基础上,本专利技术分别提供了曲线自交和曲面自交bvh的构建过程,主要包括三个部分:初始化过程:根据参数域长度或大小初始化bvh节点,为其分配内存;判断叶节点过程:检查节点是否为叶节点,根据参数域长度或大小设置叶节点标记;构建bvh过程:递归地构建bvh树,根据划分表获得子节点的域长度,调用初始化过程初始化子节点,然后根据子节点的域长度计算参数域,调用判断叶节点过程判断当前节点是否为叶节点,然后为当前节点的三个子节点递归调用构建bvh过程。

6、在bvh结构构建完成的基础上,通过在曲线或曲面上采样实现叶节点包围盒的计算,其过程为根据输入的采样次数计算在曲面上计算采样的步长,从最小参数值开始,每次在曲线或曲面上行走采样步长,并计算曲线在对应参数处的点坐标,然后根据此点的坐标更新包围盒的参数。自下而上的bvh包围盒的构建过程采取递归的方式。递归将从bvh的根节点开始,首先递归的构造子节点的包围盒,直到子节点为叶节点;然后将所有子节点的包围盒合并在一起作为本节点的包围盒。

7、在bvh包围盒构建完成的基础上,通过遍历bvh来寻找存在自相交的区域。遍历过程包括检查bvh节点的合法性、判断aabb包围盒是否相交、递归地进行相交遍历等步骤。遍历将从bvh的根节点开始,首先递归的对当前节点的三个子节点进行自交遍历,然后判断三个子节点的包围盒的重叠情况:对于包围盒重叠的两个子节点,进行相交遍历;对于包围盒不重叠的两个子节点则进行bvh树的剪枝,不进行任何处理。在相交遍历时,每次使用较大本文档来自技高网...

【技术保护点】

1.一种通用的参数曲线或曲面自交计算方法,其特征在于,包括:通过间隔重叠的划分方法对参数曲线或参数曲面的参数域进行划分、构建BVH并实现对参数曲线或参数曲面的细分,从而将整个参数曲线或曲面划分为若干子线段或子面片,然后采用特定方法快速遍历BVH进行自交的检测以寻找相交盒子对,之后对于相交盒子对进行拓扑重建,最后采用追踪的方法计算自交点和自交线。

2.根据权利要求1所述的通用的参数曲线或曲面自交计算方法,其特征在于,所述间隔重叠的划分方法是在二分法的基础上添加一个中间间隔区域,并额外添加一个区域与其他区域部分重叠。

3.根据权利要求1所述的通用的参数曲线或曲面自交计算方法,其特征在于,采用的BVH使用轴对齐包围盒(AABB),每个BVH节点除了包围体外,还保存参数域、参数域大小的显式存储、叶节点标记,BVH采用三叉树结构,每个BVH节点有三个指向子节点的指针;在曲线自交中,参数域为一维,包括参数域的最小值和最大值;在曲面自交中,参数域为二维,包括和方向上的最小值和最大值,采用键值映射表作为划分方式的数据结构,记录参数域长度划分前后的对应关系。

4.根据权利要求1所述的通用的参数曲线或曲面自交计算方法,其特征在于,BVH的构建方法包括:

5.根据权利要求1所述的通用的参数曲线或曲面自交计算方法,其特征在于,所述特定的方法快速遍历BVH具体为:通过对每个非叶节点的三个子节点递归的进行自交遍历,并对三个子节点进行相交遍历以检查其三个子节点的自交和相交情况,对于每对叶节点,检查其包围盒是否存在相交,记录所有存在相交叶节点的参数域和包围盒。

6.根据权利要求5所述的通用的参数曲线或曲面自交计算方法,其特征在于,遍历从BVH的根节点开始,首先递归的对当前节点的三个子节点进行自交遍历,然后判断三个子节点的包围盒的重叠情况:对于包围盒重叠的两个子节点,进行相交遍历;对于包围盒不重叠的两个子节点则进行BVH树的剪枝,不进行任何处理;在相交遍历时,每次使用较大参数域节点的三个子节点和另外一个节点进行递归的相交遍历,直到两个节点都为叶节点为止;如果两个叶节点的包围盒重叠,则其为一对相交盒子对。

7.根据权利要求1所述的通用的参数曲线或曲面自交计算方法,其特征在于,在寻找到叶节点的相交盒子对后进行拓扑重建,对所有相交盒子对的参数域通过广度优先遍历算法将所有相邻的参数域连接在一起,然后根据连接信息构建出完整参数域,从而将所有相邻的曲线段和曲面片连接起来。

8.根据权利要求1所述的通用的参数曲线或曲面自交计算方法,其特征在于,在拓扑重建后,采用参数曲线或曲面的求交算法,使用牛顿迭代法寻找曲面相交中追踪法的起始点或曲线相交中的交点,并采用追踪法计算曲面相交中的交线。

9.一种电子设备,其特征在于,包括:

10.一种计算机可读存储介质,存储有计算机可执行指令,上述指令在被执行时用于实

...

【技术特征摘要】

1.一种通用的参数曲线或曲面自交计算方法,其特征在于,包括:通过间隔重叠的划分方法对参数曲线或参数曲面的参数域进行划分、构建bvh并实现对参数曲线或参数曲面的细分,从而将整个参数曲线或曲面划分为若干子线段或子面片,然后采用特定方法快速遍历bvh进行自交的检测以寻找相交盒子对,之后对于相交盒子对进行拓扑重建,最后采用追踪的方法计算自交点和自交线。

2.根据权利要求1所述的通用的参数曲线或曲面自交计算方法,其特征在于,所述间隔重叠的划分方法是在二分法的基础上添加一个中间间隔区域,并额外添加一个区域与其他区域部分重叠。

3.根据权利要求1所述的通用的参数曲线或曲面自交计算方法,其特征在于,采用的bvh使用轴对齐包围盒(aabb),每个bvh节点除了包围体外,还保存参数域、参数域大小的显式存储、叶节点标记,bvh采用三叉树结构,每个bvh节点有三个指向子节点的指针;在曲线自交中,参数域为一维,包括参数域的最小值和最大值;在曲面自交中,参数域为二维,包括和方向上的最小值和最大值,采用键值映射表作为划分方式的数据结构,记录参数域长度划分前后的对应关系。

4.根据权利要求1所述的通用的参数曲线或曲面自交计算方法,其特征在于,bvh的构建方法包括:

5.根据权利要求1所述的通用的参数曲线或曲面自交计算方法,其特征在于,所述特定的方法快速遍历bvh具体为:通过对每个非叶节点的三个子节点递归的进行自交遍...

【专利技术属性】
技术研发人员:李明王小龙
申请(专利权)人:浙江大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1