摘 要: 针对工业产品和机械零件设计中的二次圆弧表示问题,基于Möbius变换的保交比性质和保圆性质,提出了一种用参数复有理函数精确表示圆弧曲线的方法.该方法通过构造直线段与圆弧曲线之间的Möbius变换,将圆弧曲线表示为复有理函数的形式,并结合光滑约束条件构造了复有理圆弧样条函数.与Bezier曲线和NURBS曲线等方法相比,该方法能够精确定义二次圆弧曲线,而且不需要反求控制顶点和权因子,实验结果表明所提方法简单易行.
关键词: 计算机数控;圆弧样条;Möbius变换
在工业产品和机械零件的计算机数控加工中,常常需要使用构造方法简单,而且容易实现的基本曲线来代替和逼近任意曲线.由于直线和圆弧的定义形式简单,而且易于在计算机中进行构造,所以大多数数控加工中利用直线和圆弧插补的方式来对机械零件进行加工[1-3].特别地,相对于直线,圆弧具备更好的光滑性质,因此使用圆弧曲线来逼近计算机数控的刀具加工路径在近几年得到了大量的研究[4-7]. 以Bezier曲线和样条曲线方法为代表的自由型曲线曲面设计方法,是图形图像造型的基本工具,是计算机辅助设计和计算机图形学中运用得最多的基本方法之一.然而,该方法在逼近圆弧曲线时计算量巨大,而且算法的实现过程非常复杂. 例如,对于具有特定半径的半圆弧,需要使用5次Bezier曲线进行逼近,而且必须反求Bezier曲线的控制顶点.如果圆弧的半径发生改变,或者对于逼近精度有更高的要求,则需要重新设定Bezier曲线的次数,而且需要重新计算控制顶点.
NURBS方法[8]的出现,很好地解决了这一问题,它在保留了样条方法描述自由型形状的长处的同时,扩充了样条方法统一表示二次曲线的能力,包括精确表示二次圆弧.但是和任何一种方法一样,NURBS方法也面临很多问题,尤其是权因子怎样影响曲线的参数化和怎样确定合适的权因子,一直是困扰设计工作者并且没有得到解决的问题.同时,NURBS方法在定义圆弧的时候需要额外的存储.例如,用一个外切正方形作为控制多边形定义一个整圆,至少需要7个控制顶点和10个节点.而传统的表示只要求给出圆心,半径和垂直于圆所在平面的法矢.
基于三角多项式的C-curves[9]解决了圆弧曲线的精确表示问题,但该方法本身也面临着参数的选取困难问题.同时,利用三角多项式表示形式代替有理表示形式,这将大大增加计算机的运算量.Möbius变换[10]最早是由德国几何学家与天文学家莫比乌斯提出来的.它是复分析中形式结构简单,具有良好性质,而且应用广泛的一类保形变换.Möbius变换具有保交比性质和保圆性质.在本文中, 通过构造直线段与圆弧曲线之间的Möbius变换,将圆弧曲线表示为复有理函数的形式.该表示方法形式简单,存储数据量小,具有良好的插值性质和仿射不变性质,而且可以在光滑约束条件下与B样条曲线实现连续拼接.
定义1.1 由复变函数
w=f(z)= (ad-bc≠0)
(1)
所确定的变换称为Möbius变换.其中,a、b、c、d为复平面上的常数;z是复变量.
条件ad-bc≠0是必需的,否则w将蜕化成为常数.
说明: 对(1)式进行如下补充定义:
a)若c≠0,定义定义w=(z=∞);
b)若c=0,定义w=∞(z=∞).
基于以上补充定义,我们不难发现式(1)能够将扩充的初始平面一一地映射为另一个扩充平面,即由式(1)所定义的变换w=f(z)能够确定初始扩充z平面到目标扩充w平面之间的一一对应变换关系.
定理1.1 设Möbius变换将扩充z平面3个不同的点z1、z2、z3对应变换成扩充w平面上的3个点w1、w2、w3,即wj=f(zj),j=1,2,3.则该Möbius变换就被唯一确定,并且可以写成下述形式:
w=f(z)=[(z-z3)(z1-z2)w2(w1-w3)-(z-z2)(z1-z3)w3(w1-w2)]/[(z-z3)(z1-z2)(w1-w3)-(z-z2)(z1-z3)(w1-w2)].
(2)
由定理1.1可得,扩充平面上的3对对应点能够唯一确定一个Möbius变换.
定理2.1 设v1(x1,y1)、v2(x2,y2)、v3(x3,y3)是平面上不在同一条直线上的任意3点.记wj=xj+iyj(j=1,2,3),wj是点vj的复数表示,则下述复有理函数
w(t)=[(t-t3)(t1-t2)w2(w1-w3)-(t-t2)(t1-t3)w3(w1-w2)]/[(t-t3)(t1-t2)(w1-w3)-(t-t2)(t1-t3)(w1-w2)],t∈[t1,t3],
(3)
精确表示由v1、v2、v3这3点所确定的一段圆弧曲线,并且满足wj=w(tj)(j=1,2,3).其中,tj∈(j=1,2,3)为实数节点,且t1lt;t2lt;t3.
证明 因为t∈[t1,t3]⊂R,不妨将t看作虚部为零的复数,则式(3)所确定的为Möbius变换变换.
由Möbius变换的保交比性质,4点w、w1、w2、w3的交比(w,w1,w2,w3)等于4点t、t1、t2、t3的交比(t,t1,t2,t3).显然,(t,t1,t2,t3) 为实数,所以(w,w1,w2,w3)也为实数.结合Möbius变换的保圆周性质,4点w、w1、w2、w3位于同一圆周上,即式(3)所定义的函数精确表示由v1、v2、v3 这3点所确定的一段圆弧曲线.
事实上, 在定理2.1 中,若记经过v1、v2、v3 3点的圆弧曲线为Γ,则式(3)建立了实数轴上的区间[t1,t3]与圆弧曲线Γ之间的一一对应关系.即式(3)为圆弧曲线Γ的参数复有理函数表示.换句话说, 任给平面上不在同一直线上的3点,都可以利用式(3)来构造由它们所确定的圆弧曲线.
下面说明式(3)是非退化的.式(3)可以整理为M-形式,定义如下:
w(t)=,
式中,
a=(t1-t2)w2(w1-w3)-(t1-t3)w3(w1-w2);
b=t2(t1-t3)w3(w1-w2)-t3(t1-t2)w2(w1-w3);
c=(t1-t2)(w1-w3)-(t1-t3)(w1-w2);
d=t2(t1-t3)(w1-w2)-t3(t1-t2)(w1-w3);
t1lt;t2lt;t3,t∈[t1,t3].
由于
ad-bc=(t1-t2)(w1-w2)(t2-t3)(w2-w3)(t1-t3)(w1-w3)≠0,
所以M-形式是非退化的.
记式(3)为参数复有理圆弧曲线,下文中将讨论它的相关性质.
3.1 仿射不变性
设
(4)
式中,M为2×2矩阵;N为1×2向量.
把Φ(wj)=wj·M+N代入式(4),经过简单计算可得
w(t;w1·M+N,w2·M+N,w3·M+N)=w(t;w1,w2,w3)·M+N.
亦即
w[t;Φ(w1),Φ(w2),Φ(w3)]=Φ[w(t;w1,w2,w3)].
(5)
3.2 几何不变性
设
(6)
其中,k、h均为实数.
把φ(t)=kt+h,φ(tj)=ktj+h,(j=1,2,3)代入式(5),经过简单计算可得
w[φ(t);φ(t1),φ(t2),φ(t3)]=w(t).
(7)
上述性质表明:M-形式中的参数定义区间和节点不是本质的,可以根据需要选择合适的参数定义区间以及节点.为了方便,不妨设
t1=0;t2=;t3=1,
参数定义区间为[0,1].则圆弧曲线可以表示为
w(t)=
,t∈[0,1].
(8)
3.3 微分性质
经过简单计算,可得
==
,
所以
t=t1=·;
t=t3=·,
如果t1=0,t2=,t3=1,则
w′(0)=-;
w′(1)=-.
4.1 构造C0连续的圆弧样条
已知平面上n个点v1(x1,y1)、v2(x2,y2)、…、vn(xn,yn),n≥3,将其表示为复数形式w1=x1+iy1,w2=x2+iy2,…,wn=xn+iyn.定义如下:
lk(t;wj,wj+1,wj+2)=
,
(9)
其中,t∈[0,1]是参数是区间[0,1]内的节点;下标j=1,2,…,n-2;k=1,2,…,n1.
计算可得n=2n1+1.根据定理2.1,显然式(9)定义了一条插值于已知n个点的参数复有理圆弧样条曲线,而且由参数复有理圆弧曲线的微分性质不难验证该曲线是C0连续的.
在本文中,笔者构造了两条C0连续的参数复有理圆弧样条曲线,如图1所示.在图1中,样条曲线在相邻的连接点处满足C0连续的连接条件,而且精确插值于给定的型值点.显然,如果使用线性插值方法,对于给定的7个型值点,必须构造6条直线段,而基于3点插值的复有理圆弧样条曲线仅仅只需要构造3段圆弧曲线,而且在除了拼接点处满足C0连续的连接条件外,圆弧样条曲线在其他点处是C∞连续的.
图1 C0连续的圆弧样条
Fig.1 C0 continuous circular arc representation
4.2 构造GC1连续的圆弧样条
已知平面上5个点vj(xj,yj)(j=1,2,…,5),将其表示为复数形式:wj=xj+iyj(j=1,2,…,5),构造两段圆弧曲线:
l1(t;w1,w2,w3)=
(t∈[0,1]);
l2(t;w3,w4,w5)=
(t∈[0,1]).
圆弧曲线l1(t;w1,w2,w3)经过点v1、v2、v3,圆弧曲线l2(t;w1,w2,w3)经过点v3、v4、v5.当且仅当下述条件;
=α·成立时,两段圆弧曲线l1和f2在连接点v3处是GC1连续的,其中, α∈为一任意常数.
已知平面上n个点v1(x1,y1)、v2(x2,y2)、…、vn(xn,yn),(n≥3),将其表示为复数形式w1=x1+iy1,w2=x2+iy2,…,wn=xn+iyn.类似于前文中C0C0连续的圆弧样条曲线的构造,首先定义下述圆弧曲线.
lk(t;wj,wj+1,wj+2)=
,
(10)
式中:t∈[0,1]是参数;是区间[0,1]内的节点;下标j=1,2,…,n-2;k=1,2,…,n1.
若给定的n个点满足下述条件:
=α· ,
(11)
式中,α∈为一任意常数;j=1,2,…,n-4.则由式(10)定义的圆弧样条曲线是GC1连续的,且过已知的n个点.
图2为两条GC1连续的圆弧样条曲线l1和l2.其中,圆弧样条曲线l1由3段圆弧曲线l11、l12和l13组成,对于平面上给定的7个型值点v1(-3.5,-1.5)、v2(-2.5,1)、v3(-1.5,2)、v4(0.5,2.5)、v5(2.685 2,0.348 4)、v6(2.115 6,-1.426 6)、v7(1.772 9,-1.697 2),圆弧曲线l11插值于v1、v2、v3 , 圆弧曲线l12插值于v3、v4、v5 ,圆弧曲线l13插值于v5、v6、v7.经简单计算可得,圆弧曲线l11和l12在
图2 GC1连续的圆弧样条
Fig.2 GC1 continuous circular arc representation
点v3处为GC1连续,圆弧曲线l12和l13在点v5处为GC1连续.如果使用NURBS曲线构造GC1连续的圆弧样条曲线l1,则需要使用2次NURBS曲线,还必须利用反求矩阵计算NURBS曲线的控制顶点和权因子,需要大量的额外运算;而且权因子选择的不同,会影响插值样条曲线的唯一性.但本文方法只需要把各个型值点转换为复数形式,直接代入样条曲线方程函数即可,简单易行.
笔者利用Möbius变换的保交比性质和保圆性质, 提出了一种精确定义圆弧曲线的参数复有理函数方法, 并基于该方法,研究了具有C0连续和GC1连续性质的参数复有理圆弧样条曲线的构造方法.与目前常用的NURBS 曲线和C-curves曲线方法相比, 笔者提出的圆弧曲线表示方法不需要权因子和额外的控制参数, 故而简便易行.
参考文献:
[1] 周君,任景刚,廖铃吉,等.航空发动机壳体2.5轴铣削加工刀具优选方法[J].航空制造技术,2016(1):143-146.
[2] 陈银清,郑泽钿.基于MasterCAM自由曲面加工刀具路径优化[J]. 现代制造工程,2014(5):46-51.
[3] 吕勇刚,汪国昭,杨勋年,等.单圆弧样条保形插值算法[J].计算机学报,2002,25(5):483-486.
[4] AHLFORS L V.Complex alalysis[M].New York, USA: McGraw-Hill Book Co,1979.
[5] 施法中.计算机辅助几何设计与非均匀有理B 样条[M].北京:北京航空航天大学出版社,1994.
[6] 朱晓临.一种参数有理圆弧样条[J].合肥工业大学学报(自然科学版),2003,26(2):180-184.
[7] YEUNGAND M,WALTON D J.Curve fitting with arc-splines for NC tool path generation[J].Computer-aided design, 1994, 26(11):845-849.
[8] 王琦,郭非,王启义.圆弧样条逼近为机械零件几何轮廓的自动编程[J].机械工程学报,1998,34(2): 20-25.
[9] LI Z,MEEK D S.Smoothing an arc spline[J]. Computers amp; graphics,2005,29(4):576-587.
[10] 齐倩,方美娥.G2连续的圆弧样条曲线插值[J].杭州电子科技大学学报,2012(6):45-48.
Abstract: In CNC machinery, the industrial products and machinery parts are often represented by circular arcs. A new method for representing circular arc based on Möbius transformation was presented in the paper. By constructing the Möbius transformation between a straight line segment and a circular curve segment, the arc curve was expressed as a form of complex rational function, and a complex rational arc spline function was also constructed based on the smooth constraints and the Möbius transformation. The representation had no weight factors or control parameters, and it was geometric and affine invariant. Compared with the classical method for representing circular arc, such as NURBS or C-curves, the presented method was much simpler.
Key words: CNC; circular arc; Möbius transformation
收稿日期:2016-10-30;
修订日期:2016-12-19
基金项目:河南省自然科学基金资助项目(162300410262);河南省高校科技创新团队项目(16IRTSTHN027);河南省高等学校重点科研项目(18A4130)
文章编号:1671-6833(2017)06-0050-04
中图分类号: TP391.72
文献标志码:A
doi:10.3969/j.issn.1671-6833.2017.03.004