多段曲线分界点估计方法研究
2022-09-02郭阳阳雷贤卿王永军吴上玉
郭阳阳,雷贤卿,王永军,李 伟,吴上玉
(河南科技大学 机电工程学院,洛阳 471003)
0 引言
多段曲线是由若干条标准曲线段(直线、圆弧、对数曲线等平面曲线段)组成的连续曲线,各标准曲线段间通过分界点相互连接[1,2]。在机械零件轮廓度测量和逆向设计中,都会遇到多段曲线的整体拟合问题[3,4],如复杂曲面法向截面素线的轮廓度测量、轴承凸度滚子素线的线型识别及轮廓度误差的测量,逆向工程中截面离散点的拟合等[5~7]。用单条曲线(如直线、圆弧、对数曲线等平面曲线)作为目标曲线去拟合多段曲线时,拟合误差较大也不符合被拟合轮廓的实际线型,用样条曲线或者多阶曲线拟合虽可以得到较小的拟合误差,但得到的轮廓曲线方程难以体现机械零件轮廓的工程价值,也不便于零件轮廓的加工和数学描述。离散点的分段拟合、整体连续和平滑方法可以较好地描述轮廓离散点所表达的曲线方程,也符合机械零件的轮廓功能需求;但在分段曲线拟合时既要保证较小的拟合误差又要保证曲线段之间的连续性和平滑性,分界点的位置会直接影响分段曲线的拟合精度,分界点位置的估计是多段曲线整体拟合的关键技术之一。因此,利用构成多段曲线的离散点研究各曲线段之间的分界点的位置估计方法,对复杂曲面的轮廓度测量及逆向设计软件的自主研发有重要的工程应用价值。
目前,关于多段曲线分界点位置估计的方法研究未见报道。文献多是阐述离散点的曲率计算[8~10],结合曲线的曲率特性,来识别离散点所代表的曲线线型。
本文提出利用构成多段曲线的离散点,通过离散点的曲率阶跃及曲率差变化研究多段曲线分界点位置估计方法,通过实例来研究所提方法的有效性。
1 曲率的计算方法
分界点的估计主要依据离散数据点的曲率特性,分界点估计前要计算各离散数据点处的曲率,曲率的计算主要方法有:
1.1 三点拟合法
设Pi(xi,yi)(i=1,2,...,N)是曲线上的N个测量点,数据点的曲率可由相邻的三点Pi-1,Pi,Pi+1所确定的圆来决定,圆的曲率即为此点处的曲率,由于是相邻3点参与运算,因此数据的第1点与最后1点的曲率不能获得,则中间点的曲率如式(1)所示:
Li=||Pi-Pi-|1|,Qi=||Pi+1-Pi-|1|,Li+1=||Pi+1-Pi||,ΔPi-1PiPi+1是Li,Qi,Li+1为三点所构造带符号的三角形面积。如果Pi-1Pi×Pi-1Pi+1≥0,三角形面积取正值;反之取负值[11~13]。
图1 曲率的计算原理
1.2 十一点拟合法
十一点法是轮廓上相邻的11点进行曲率计算[14,15],设Pi(xi,yi)(i=1,2,...,N)是轮廓曲线上的N个测量点,由于是测量点与其前后各5个点参与运算,因此前5个点与最后5个点曲率不能获得,从第6至N-5个测量点的曲率如式(2)所示:
式(2)中,m=(xi-xi-5)(yi+5-yi),n=(yi-yi-5)(xi+5-xi),Ri1=(Pi-Pi-5),Ri2=Pi+5-Pi。
1.3 局部样条曲线拟合法
采用局部样条曲线的方法对曲线上数据点进行曲率的近似估算,主要是先对选定的3个相邻数据点样条曲线进行插值,然后用样条插值函数计算出的曲率来近似表示该点的曲率[16,17],由于是相邻三点参与运算,因此数据的第1点与最后1点的曲率不能获得,则中间点的曲率如式(3)所示:
1.4 带平滑的差分曲率法
设Qi(xi,yi)(i=1,2,...,N)是曲线上的N个测量点,基于高斯函数对数据点进行平滑处理后的数据点由Pi(xi,yi)进行表示,由于相邻5点参与运算,因此前2个点与最后2个点曲率不能获得,从第3至N-3个测量点的曲率为:
2 分界点的估计方法
组成零件轮廓的曲线段之间的连接点就是多段曲线的分界点,将曲线分界点分为跳跃点、尖点、切点等。在估计分界点的位置时,跳跃点比较容易在离散数据点中确定,其他的分界点难以直接在离散数据点中获取,但在分界点附近,离散点的曲率差有明显的的变化,因此,可利用数据点处的曲率差变化判断分界点的大概位置。当曲率差大于设定阈值时,则其可能为分界点。
测量点的曲率差Ei是测量点Pi(xi,yi)的曲率Ki与前一个测量点Pi-1(xi-1,yi-1)的曲率Ki-1之差。
3 分界点估计方法的实例分析
在设定的多段曲线上选取一系列的点并在对应点的法向上加入随机误差,构成一系列仿真测量数据点。在已知分界点的情况下比较上述方法的适用性,操作性与分界点估计的准确性。
3.1 直线与圆弧构成的多段曲线
设直线与圆弧构成多段曲线的方程如式(6)所示,在该多段曲线上取38个点,为使数据更接近于实际,在对应点的法线方向上加入随机误差(误差值≤±0.004)构成离散数据点表1,由方程(6)和表1中的离散点数据,可以知道,该多段曲线的理论分界点的坐标为(30,5),对应于表1离散点序号20,因此用P20(30,5)表示理论分界点位置,利用曲率计算方法对表1中的离散数据进行分析,得到各离散点的曲率如图3所示,曲率差如图4所示,分界点的估计如表2。
表1 直线圆弧构造的数据点 (单位:mm)
表2 分界点估计
图2 直线与圆弧构成的轮廓
图3 数据点曲率
图4 数据点曲率差
从图3中可以看出:构成的离散点的曲率在理论分界点位置发生明显跳跃。从图4中可以看出各离散点的曲率差值,曲率差阈值根据加入的随机误差的倍数进行设定为0.028,带平滑的差分曲率法曲率差出现3点曲率差大于设定阈值0.028,其对应的坐标位置为P20(30,5.001)、P21(30.436,4.978)、P22(30.868,4.925);都在理论位置附近,三点法与局部样条法曲率差跳跃性大,曲率差值大于 值0.028的位置较多,估计不明显,但结合图3可以分析出大概的分界点位置。十一点法图4(b)虽然有2点曲率差值大于阈值0.028,但结合图3(b)可以看出这两个数据点都可能是分界点;从表2中可以看出运算速度:三点法运算速度最快,带平滑差分的曲率法较慢;三点法与差分法编程简单,十一点法编程相对复杂。
3.2 圆弧与圆弧外切构成的多段曲线
设圆弧与圆弧外切构成多段曲线的方程为式(7),在该多段曲线上取37个点,为使数据更接近于实际,在对应点的法线方向上加入随机误差(误差值≤±0.004)构成离散数据点(表3),由方程(7)和表3中的离散点数据,可以知道,该多段曲线的理论分界点的坐标为(5,0),对应于表3离散点序号19,因此用P19(5,0)表示理论分界点位置,利用曲率计算方法对表3中的离散数据进行分析,得到各离散点的曲率如图6所示,曲率差如图7所示,分界点的估计如表4所示。
表3 圆弧与圆弧外切构造的数据点 (单位:mm)
图5 圆弧与圆弧外切构成的轮廓
图6 数据点曲率
图7 数据点曲率差
从图6中可以看出:构成的离散点的曲率在理论分界点位置发生明显跳跃。从图7中可以看出各离散点的曲率差值,曲率差阈值根据加入的随机误差的倍数进行设定为0.028,十一点曲率法出现1个点曲率差值大于阈值0.028,其对应的坐标位置为P20(5.076,-0.8712),位置在理论分界点位置附近;三点法与局部样条法有2个点曲率差值大于 值0.028,其对应的坐标位置为P19(5,0.002)、P20(5.076,-0.8712);差分法有4个点曲率差大于阈值0.028,都与理论分界点位置接近。从表4中可以看出:差分法运算速度最快,但估计分界点位置较多,局部样条法运算速度较慢,十一点法运算时间短;从编程过程中可以明显看出几种方法的难易程度,三点法与差分法编程简单,十一点法编程相对复杂。
表4 分界点估计
4 结语
结合曲率估计方法以及曲率差变化情况对分界点的估计位置、运算时间、编程难易程度评价比较,当多段曲线为直线与圆弧构成的轮廓时带平滑的曲率法更加准确的估计出分界点位置;当多段曲线为圆弧与圆弧外切构成的轮廓时三点法与局部样条法更为合理的估计出分界点位置;三点法与局部样条法比较适用于曲线与曲线连接的多段曲线,差分法比较适用于直线与曲线连接的多段曲线,从而为研究多段曲线组成的多种连续线段间分界点的估计提供了应用价值。