一种T样条曲面的偏置计算方法与流程

文档序号:23653364发布日期:2021-01-15 13:50阅读:193来源:国知局
一种T样条曲面的偏置计算方法与流程

本发明提供一种t样条曲面的偏置计算方法,它涉及一种t样条曲面的偏置方法,属于计算机辅助设计(computeraideddesign,cad)和计算机辅助制造(computeraidedmanufacturing,cam)技术领域。本发明所指的t样条(t-splines)是2003年thomasw.sederberg等人在文献[t-splinesandt-nurccs]中提出的一种自由曲面表示方法,属于计算机辅助几何设计(computeraidedgeometricdesign,cagd)和曲面造型技术领域。



背景技术:

在现有的商业计算机辅助设计软件中,三维几何造型系统一般基于非均匀有理b样条(non-uniformrationalb-spline,nurbs)方法对曲面进行表达。但是基于矩形拓扑结构的nurbs具有自身固有的局限性,如多张nurbs曲面拼接间隙问题、控制顶点冗余问题等,这些局限性在如今产品智能化设计的发展进程中逐渐被突显出来。2003年提出的t样条理论打破了nurbs矩形拓扑的限制,同时还具有以下三点优势:(1)局部细化:可以根据需求对t样条曲面某一局部进行控制网格加密,不必为了满足拓扑约束整行整列地引入控制顶点;(2)无缝拼接:裁剪nurbs模型在曲面拼接处存在缝隙和重叠问题。通过在交界处引入t点,多张含有不同节点矢量的nurbs曲面或t样条曲面可以拼接成单张无缝水密t样条曲面;(3)数据压缩:含有冗余控制顶点的nurbs曲面可以简化为带有t点的t样条曲面,实现数据压缩和简化。所以相比于nurbs方法,t样条方法在复杂三维模型表达上具有显著的优势。

偏置曲面的定义是,沿着曲面法线方向,与原始曲面距离为常数d的点的轨迹集合。曲面的偏置计算在计算机辅助设计和计算机辅助制造即cad/cam中有着广泛的应用,例如数控机床刀具轨迹的生成,、机器人运动路径规划、以及在cad建模操作中极为常用的用于生成实体模型的参数化偏置命令等,在大部分复杂模型建模过程中,尤其是现代作为cad系统基础的b-rep技术体系中,曲面偏置是将曲面建模功能扩展为实体建模功能的一种基础性和应用性很强的操作,它可以为工程建模应用中的实体模型生成快速提供拓扑上大致对称的表面,也可以快速生成和复制多个相似形状特征,从而大大提高复杂模型的建模效率,因此是在面向实际应用构建cad系统时必不可少的功能,也是将cad建模技术从理论层面推向实际应用不可或缺的环节;而在cam应用中,基于曲面偏置的刀具轨迹生成则是cam算法的核心。但是曲面的偏置计算不是一个简单的工作,由于以下几个原因:(1)偏置距离有可能不存在,由于曲面上某些点有不止一个法线方向;(2)一般来说,偏置后的曲面类型与原始曲面不同;(3)偏置后曲面的形状不仅与原始曲面的形状有关,还和偏置距离、偏置方向以及局部曲率等因素有关;(4)曲面偏置以后可能会出现自相交、部分缺失等情况。piegl等人在文献[computingoffsetsofnurbscurvesandsurfaces]中研究了nurbs曲线曲面偏置的计算方法,该文献从数据点采样的角度出发,首先计算出采样点的数目,并对采样点进行偏置处理,然后在给定误差内进行节点去除,最后将结果曲面插值为一张nurbs曲面,该方法可以较好地处理nurbs曲面偏置的计算问题。相比于nurbs,t样条在复杂曲面建模领域有着突出的优越性,所以提出一种t样条曲面的偏置计算方法,实现t样条曲面的偏置操作,对cad/cam来说有着突出的应用价值。



技术实现要素:

(一)发明目的:

本发明的目的在于提出一种t样条曲面的偏置计算方法,该方法基于一种通用性较强的t样条数据结构,能够适应曲面建模中的各种复杂情况,该t样条曲面偏置计算方法的提出能够充分发挥t样条在cad/cam领域的优势,能够方便地应用于诸如数控机床刀具轨迹生成等实际应用环境。

(二)技术方案:

本发明一种t样条曲面的偏置计算方法,包括如下步骤:

步骤1、输入初始t样条曲面,偏置距离d以及偏置误差ε;

步骤2、对初始t样条曲面进行贝奇尔提取,将其离散为贝奇尔单元;

步骤3、计算出每个边界贝奇尔单元的采样点数目,从而得到所有采样点的全局参数坐标;

步骤4、对每个采样点进行偏置计算,从而得到结果曲面上的点;

步骤5、对偏置后的采样点进行合适的参数化,并反算控制顶点,从而得到结果曲面的t样条表示。

其中,在步骤1中所述的“初始t样条曲面”,是指一种双三次t样条曲面,该t样条曲面基于一种支持奇异点的t样条数据结构,其中奇异点指的是参数域t网格中价不为4且不为t点的参数点;该t样条数据结构的基础拓扑元素包括面片、边、半边、节点、锚点、贝奇尔面片;其具体细节可参考文献[anefficientdatastructureforcalculationofunstructuredt-splinesurfaces];

其中,在步骤2中所述的“贝奇尔提取”,是指一种将t样条曲面转化为分片贝奇尔曲面的方法;贝奇尔即bézier,法国人,贝奇尔曲面是由贝奇尔即bézier在1982年发明出来,具有几何不变性、仿射不变性和凸包性等优良性质,是一种常用的曲面表示形式;

其中,在步骤2中所述的“对初始t样条曲面进行贝奇尔提取,将其离散为贝奇尔单元”,其具体步骤如下:

步骤2.1、延伸参数域t网格中所有低价节点的节点线,对于双三次t样条曲面,每个点延伸的距离为沿某个方向的两个节点距;

步骤2.2、将延伸线穿过的面片进行切分;

步骤2.3、计算每个参数点对应的混合函数的定义域,其中各个混合函数的定义域可以由参数点坐标和局部节点距矢量得到,每个参数点的局部节点距矢量由参数点向各个方向延伸两个节点距得到;

步骤2.4、如果2.3中的定义域不能完全覆盖t网格中的某个面,则需要将该面切分;

步骤2.5、得到参数域t网格的切分结果后,就可以计算出相应的贝奇尔提取算子,其主要思想是利用节点插入算法将b样条基函数用伯恩斯坦基函数线性表出;贝奇尔提取算子的具体求解过程可参考文献[isogeometricfiniteelementdatastructurebasedonbézierextractionoft-splines]。

其中,在步骤3中所述的“计算出每个边界贝奇尔单元的采样点数目,从而得到所有采样点的全局参数坐标”,其具体步骤如下:

步骤3.1、对所有的边界贝奇尔单元,使用公式(3-1)计算出对应贝奇尔单元的采样点数目:

其中ε是步骤1中给定的误差,m1、m2和m3分别对应贝奇尔面片的三个二阶偏导数的界;

步骤3.2、对于参数域的两组对边,分别选择采样点数目较大的边作为基准边,根据步骤3.1中计算出的各单元采样点数目,在基准边上建立基准点;

步骤3.3、对于每个基准点引一条贯穿整个参数域的射线,所有射线的交点所在的坐标即为采样点的全局参数坐标。

其中,在步骤4中所述的“对每个采样点进行偏置计算,从而得到结果曲面上的点”,其具体步骤如下:

对每一个采样点,先计算出相应位置的单位法向量,再使用公式(3-2)即可计算出结果曲面上的点:

s1(u0,v0)=s(u0,v0)+dn(u0,v0)(3-2)

其中u0、v0分别为采样点的全局参数坐标,d为步骤1中给定的偏置距离,n(u0,v0)为相应位置的单位法向量。

其中,在步骤5中所述的“对偏置后的采样点进行合适的参数化,并反算控制顶点,从而得到结果曲面的t样条表示”,其具体步骤如下:

步骤5.1、假设步骤4得到了(n+1)×(m+1)个数据点{qk,l},其中k=0~n,l=0~m;

步骤5.2、计算节点矢量u,方法是对于每个l,采用向心参数化的方法得到然后再通过公式(3-3)得到uk,就得到了节点矢量u;

步骤5.3、使用与步骤5.2类似的方法即可得到节点矢量v;

步骤5.4、反算结果曲面的控制顶点;首先使用节点矢量u和参数uk做m+1次曲线插值:对于l=0~m分别构造插值于点q0,l,q1,l,......,qn,l的曲线,由此得到控制点矩阵ri,l;然后用节点矢量v和参数vl做n+1次曲线插值:对于i=0~n分别构造插值于点ri,0,ri,1,……,ri,m的曲线,由此得到最终结果曲面的控制点矩阵pi,j;

步骤5.5、确定节点矢量u、v之后即确定了结果曲面的参数域,也求出了结果曲面的控制顶点,之后遍历该参数域的每一个单元,将相应结果存储为步骤1中t样条数据结构的形式,就得到了结果曲面的t样条表示。

(三)优点

1.本发明可以实现给定误差范围内t样条曲面的偏置计算,结果曲面也采用t样条曲面表示,偏置前后曲面表达方式的统一有利于对结果曲面的后续处理;

2.本发明采用的t样条数据结构支持带有奇异点的t网格,通用性较强,使得结果曲面可以支持各种较为复杂的后续操作。

3.本发明所述方法科学,工艺性好,具有广阔推广应用价值。

附图说明

图1为一种t样条曲面的偏置计算流程图。

图2为球头铣刀加工零件表面的示意图。

图3为实例中初始t样条曲面的参数域t网格。

图4为实例中对初始t样条曲面的参数域t网格进行贝奇尔提取后的结果。

图中序号、符号、代号说明如下:

图2中的ω代表球头铣刀的加工表面;c代表球头铣刀刀头的球心,即刀位点;r代表球头铣刀刀头的半径;p代表某时刻球头铣刀与加工表面的接触点;n为p点对应的单位法向量;

图3、图4中的v1、v2、v3为参数域t网格对应节点的编号;s1、s2、s3、s4、s5、s6、s7以及f1、f2、f3、f4、f5、f6、f7、f8、f9、f10、f11、f12、f13、f14为参数域t网格中对应面的编号。

具体实施方式

本发明提出了一种t样条曲面的偏置计算方法,能计算出给定误差范围内的t样条曲面的偏置曲面,并且结果曲面采用了与原始曲面相同的t样条表示。本发明可应用于数控加工刀具轨迹的生成,特别是对于球形铣刀,其加工表面和刀具轨迹之间的关系与偏置前后曲面的关系完全相同,球形铣刀的半径r即为偏置距离d。下面结合一个将本发明应用于球形铣刀刀具轨迹生成的实例及附图,对本发明的技术方案进行清楚、完整的描述。

本发明一种t样条曲面的偏置计算方法,计算流程图如图1所示,具体包括以下过程:

1)输入初始t样条曲面,偏置距离d以及偏置误差ε。本实例的示意图如图2所示;对于本实例,初始t样条曲面即代表球形铣刀要加工的表面形状ω,t样条曲面对应的参数域t网格如图3所示;偏置距离即代表球形铣刀的半径r,偏置距离d=10mm;偏置误差即代表球形铣刀刀位点c的轨迹与理论轨迹的误差,偏置误差ε=0.1mm。

2)对于(1)中输入的初始t样条曲面进行贝奇尔提取,将其离散为贝奇尔单元。下面结合图3的实例对本部分进行详细说明:

首先对低价点的节点线进行延伸,对于双三次t样条曲面,每个点延伸的距离为某个方向的两个节点距。例如对于点v1,将其参数点沿两个方向延伸两个节点距,从而将面s5、s6分割成两个子面;而对于点v2,将其参数点延伸两个节点距,从而将面s4、s5、s6、s7切分为两个子面。

然后需要遍历所有的参数点,计算参数点相关的混合函数的定义域。以节点v1为例,按照t样条曲面局部节点距矢量的定义方式,计算其在两个参数方向的局部节点距矢量,然后根据参数点坐标和局部节点距矢量即可得到参数点相关的混合函数的定义域。如果该定义域不能完全覆盖t网格中的一个面,则需要将该面切分。如图3所示,参数点v1对应的混合函数的定义域不能完全覆盖面片s1,因此需要对s1进行切分。

经过上述步骤后,t样条曲面的每一个曲面片均为一个贝奇尔单元,均可以用一张贝奇尔曲面表示。t样条曲面的贝奇尔提取过程可以理解为求解贝奇尔提取算子的过程。贝奇尔提取算子将t样条控制顶点转换为分片贝奇尔单元上的控制顶点。求解每个贝奇尔单元提取算子的关键在于如何求得与单元有关的所有的t样条混合函数所对应的贝奇尔提取向量,t样条混合函数的提取向量则可以通过两个方向提取向量的直积得到,这样我们就将t样条的贝奇尔提取问题转化为单变量b样条基函数的提取向量求解问题。单变量b样条基函数与伯恩斯坦基函数存在如公式(5-1)所示的映射关系:

其中e表示单元名称,a为基函数的下标,ea是一个单位向量,在a处分量为1,其余都为0,ce就是我们最终想要求的单变量b样条基函数的提取向量,所以只要得到插入节点前的节点矢量以及需要插入的节点,就可以通过公式求出提取向量ce。至此就完成了整个t样条曲面的贝奇尔提取过程。

3)图3-4为对参数域t网格进行贝奇尔提取后的结果,对如图4所示的所有边界贝奇尔单元,使用公式(5-2)计算出对应贝奇尔单元的采样点数目:

其中ε是给定的误差,m1、m2和m3分别对应贝奇尔面片的三个二阶偏导数的界。然后对于参数域的两组对边,分别选择采样点数目较大的边作为基准边,在基准边上建立基准点,最后对于每个基准点引一条贯穿整个参数域的射线,所有射线的交点即为采样点的全局参数坐标。

4)对每个采样点进行偏置计算的方法见公式(5-3):

s1(u0,v0)=s(u0,v0)+dn(u0,v0)(5-3)

其中uo、v0分别为采样点的全局参数坐标,d为步骤1中给定的偏置距离,n(u0,v0)为相应位置的单位法向量。

5)至此已经得到(n+1)×(m+1)个数据点{qk,l}k=0~n,l=0~m,接下来需要构造插值于这些数据点的t样条曲面。

首先需要确定结果曲面的参数域t网格,即确定两个方向的节点矢量u和节点矢量v,下面以节点矢量u的确定为例详述计算方法,节点矢量v可以使用类似的方法得到。第一步是对于每个l,采用向心参数化的方法得到第二步是通过公式(5-4)得到uk,得到了uk就得到了节点矢量u。

其中向心参数化的计算方法见公式(5-5):

其中|qk,l-qk-1,l|表示点qk-1,l到qk,l的弦长,并且

其次要反算结果曲面的控制顶点。首先使用节点矢量u和参数uk做m+1次曲线插值:对于l=0~m分别构造插值于点q0,l,q1,l,……,qn,l的曲线,由此得到控制点矩阵ri,l;然后用节点矢量v和参数vl做n+1次曲线插值:对于i=0~n分别构造插值于点ri,0,ri,1,......,ri,m的曲线,由此得到最终结果曲面的控制点矩阵pi,j。

确定节点矢量u、v之后即确定了结果曲面的参数域,也求出了结果曲面的控制顶点,之后遍历该参数域的每一个单元,将相应结果存储为本发明采用的t样条数据结构的形式,就得到了结果曲面的t样条表示,结果曲面即为求得的球形铣刀的刀具轨迹,也就是刀位点c的轨迹。自此就完成了本发明的全部过程。

以上所述仅为本发明的较佳实例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1