任兩品, 薛均曉, 張朝陽, 王定標(biāo)
(鄭州大學(xué) 軟件與應(yīng)用科技學(xué)院,河南 鄭州 450002)
基于M?bius變換的復(fù)有理圓弧樣條
任兩品, 薛均曉, 張朝陽, 王定標(biāo)
(鄭州大學(xué) 軟件與應(yīng)用科技學(xué)院,河南 鄭州 450002)
針對工業(yè)產(chǎn)品和機(jī)械零件設(shè)計(jì)中的二次圓弧表示問題,基于M?bius變換的保交比性質(zhì)和保圓性質(zhì),提出了一種用參數(shù)復(fù)有理函數(shù)精確表示圓弧曲線的方法.該方法通過構(gòu)造直線段與圓弧曲線之間的M?bius變換,將圓弧曲線表示為復(fù)有理函數(shù)的形式,并結(jié)合光滑約束條件構(gòu)造了復(fù)有理圓弧樣條函數(shù).與Bezier曲線和NURBS曲線等方法相比,該方法能夠精確定義二次圓弧曲線,而且不需要反求控制頂點(diǎn)和權(quán)因子,實(shí)驗(yàn)結(jié)果表明所提方法簡單易行.
計(jì)算機(jī)數(shù)控;圓弧樣條;M?bius變換
在工業(yè)產(chǎn)品和機(jī)械零件的計(jì)算機(jī)數(shù)控加工中,常常需要使用構(gòu)造方法簡單,而且容易實(shí)現(xiàn)的基本曲線來代替和逼近任意曲線.由于直線和圓弧的定義形式簡單,而且易于在計(jì)算機(jī)中進(jìn)行構(gòu)造,所以大多數(shù)數(shù)控加工中利用直線和圓弧插補(bǔ)的方式來對機(jī)械零件進(jìn)行加工[1-3].特別地,相對于直線,圓弧具備更好的光滑性質(zhì),因此使用圓弧曲線來逼近計(jì)算機(jī)數(shù)控的刀具加工路徑在近幾年得到了大量的研究[4-7]. 以Bezier曲線和樣條曲線方法為代表的自由型曲線曲面設(shè)計(jì)方法,是圖形圖像造型的基本工具,是計(jì)算機(jī)輔助設(shè)計(jì)和計(jì)算機(jī)圖形學(xué)中運(yùn)用得最多的基本方法之一.然而,該方法在逼近圓弧曲線時(shí)計(jì)算量巨大,而且算法的實(shí)現(xiàn)過程非常復(fù)雜. 例如,對于具有特定半徑的半圓弧,需要使用5次Bezier曲線進(jìn)行逼近,而且必須反求Bezier曲線的控制頂點(diǎn).如果圓弧的半徑發(fā)生改變,或者對于逼近精度有更高的要求,則需要重新設(shè)定Bezier曲線的次數(shù),而且需要重新計(jì)算控制頂點(diǎn).
NURBS方法[8]的出現(xiàn),很好地解決了這一問題,它在保留了樣條方法描述自由型形狀的長處的同時(shí),擴(kuò)充了樣條方法統(tǒng)一表示二次曲線的能力,包括精確表示二次圓弧.但是和任何一種方法一樣,NURBS方法也面臨很多問題,尤其是權(quán)因子怎樣影響曲線的參數(shù)化和怎樣確定合適的權(quán)因子,一直是困擾設(shè)計(jì)工作者并且沒有得到解決的問題.同時(shí),NURBS方法在定義圓弧的時(shí)候需要額外的存儲.例如,用一個(gè)外切正方形作為控制多邊形定義一個(gè)整圓,至少需要7個(gè)控制頂點(diǎn)和10個(gè)節(jié)點(diǎn).而傳統(tǒng)的表示只要求給出圓心,半徑和垂直于圓所在平面的法矢.
基于三角多項(xiàng)式的C-curves[9]解決了圓弧曲線的精確表示問題,但該方法本身也面臨著參數(shù)的選取困難問題.同時(shí),利用三角多項(xiàng)式表示形式代替有理表示形式,這將大大增加計(jì)算機(jī)的運(yùn)算量.M?bius變換[10]最早是由德國幾何學(xué)家與天文學(xué)家莫比烏斯提出來的.它是復(fù)分析中形式結(jié)構(gòu)簡單,具有良好性質(zhì),而且應(yīng)用廣泛的一類保形變換.M?bius變換具有保交比性質(zhì)和保圓性質(zhì).在本文中, 通過構(gòu)造直線段與圓弧曲線之間的M?bius變換,將圓弧曲線表示為復(fù)有理函數(shù)的形式.該表示方法形式簡單,存儲數(shù)據(jù)量小,具有良好的插值性質(zhì)和仿射不變性質(zhì),而且可以在光滑約束條件下與B樣條曲線實(shí)現(xiàn)連續(xù)拼接.
定義1.1 由復(fù)變函數(shù)
(1)
所確定的變換稱為M?bius變換.其中,a、b、c、d為復(fù)平面上的常數(shù);z是復(fù)變量.
條件ad-bc≠0是必需的,否則w將蛻化成為常數(shù).
說明: 對(1)式進(jìn)行如下補(bǔ)充定義:
b)若c=0,定義w=∞(z=∞).
基于以上補(bǔ)充定義,我們不難發(fā)現(xiàn)式(1)能夠?qū)U(kuò)充的初始平面一一地映射為另一個(gè)擴(kuò)充平面,即由式(1)所定義的變換w=f(z)能夠確定初始擴(kuò)充z平面到目標(biāo)擴(kuò)充w平面之間的一一對應(yīng)變換關(guān)系.
定理1.1 設(shè)M?bius變換將擴(kuò)充z平面3個(gè)不同的點(diǎn)z1、z2、z3對應(yīng)變換成擴(kuò)充w平面上的3個(gè)點(diǎn)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可得,擴(kuò)充平面上的3對對應(yīng)點(diǎn)能夠唯一確定一個(gè)M?bius變換.
定理2.1 設(shè)v1(x1,y1)、v2(x2,y2)、v3(x3,y3)是平面上不在同一條直線上的任意3點(diǎn).記wj=xj+iyj(j=1,2,3),wj是點(diǎn)vj的復(fù)數(shù)表示,則下述復(fù)有理函數(shù)
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點(diǎn)所確定的一段圓弧曲線,并且滿足wj=w(tj)(j=1,2,3).其中,tj∈(j=1,2,3)為實(shí)數(shù)節(jié)點(diǎn),且t1lt;t2lt;t3.
證明因?yàn)閠∈[t1,t3]?R,不妨將t看作虛部為零的復(fù)數(shù),則式(3)所確定的為M?bius變換變換.
由M?bius變換的保交比性質(zhì),4點(diǎn)w、w1、w2、w3的交比(w,w1,w2,w3)等于4點(diǎn)t、t1、t2、t3的交比(t,t1,t2,t3).顯然,(t,t1,t2,t3) 為實(shí)數(shù),所以(w,w1,w2,w3)也為實(shí)數(shù).結(jié)合M?bius變換的保圓周性質(zhì),4點(diǎn)w、w1、w2、w3位于同一圓周上,即式(3)所定義的函數(shù)精確表示由v1、v2、v3這3點(diǎn)所確定的一段圓弧曲線.
事實(shí)上, 在定理2.1 中,若記經(jīng)過v1、v2、v33點(diǎn)的圓弧曲線為Γ,則式(3)建立了實(shí)數(shù)軸上的區(qū)間[t1,t3]與圓弧曲線Γ之間的一一對應(yīng)關(guān)系.即式(3)為圓弧曲線Γ的參數(shù)復(fù)有理函數(shù)表示.換句話說, 任給平面上不在同一直線上的3點(diǎn),都可以利用式(3)來構(gòu)造由它們所確定的圓弧曲線.
下面說明式(3)是非退化的.式(3)可以整理為M-形式,定義如下:
式中,
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)為參數(shù)復(fù)有理圓弧曲線,下文中將討論它的相關(guān)性質(zhì).
3.1仿射不變性
設(shè)
(4)
式中,M為2×2矩陣;N為1×2向量.
把Φ(wj)=wj·M+N代入式(4),經(jīng)過簡單計(jì)算可得
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幾何不變性
設(shè)
(6)
其中,k、h均為實(shí)數(shù).
把φ(t)=kt+h,φ(tj)=ktj+h,(j=1,2,3)代入式(5),經(jīng)過簡單計(jì)算可得
w[φ(t);φ(t1),φ(t2),φ(t3)]=w(t).
(7)
上述性質(zhì)表明:M-形式中的參數(shù)定義區(qū)間和節(jié)點(diǎn)不是本質(zhì)的,可以根據(jù)需要選擇合適的參數(shù)定義區(qū)間以及節(jié)點(diǎn).為了方便,不妨設(shè)
參數(shù)定義區(qū)間為[0,1].則圓弧曲線可以表示為
w(t)=
(8)
3.3微分性質(zhì)
經(jīng)過簡單計(jì)算,可得
所以
4.1構(gòu)造C0連續(xù)的圓弧樣條
已知平面上n個(gè)點(diǎn)v1(x1,y1)、v2(x2,y2)、…、vn(xn,yn),n≥3,將其表示為復(fù)數(shù)形式w1=x1+iy1,w2=x2+iy2,…,wn=xn+iyn.定義如下:
lk(t;wj,wj+1,wj+2)=
(9)
計(jì)算可得n=2n1+1.根據(jù)定理2.1,顯然式(9)定義了一條插值于已知n個(gè)點(diǎn)的參數(shù)復(fù)有理圓弧樣條曲線,而且由參數(shù)復(fù)有理圓弧曲線的微分性質(zhì)不難驗(yàn)證該曲線是C0連續(xù)的.
在本文中,筆者構(gòu)造了兩條C0連續(xù)的參數(shù)復(fù)有理圓弧樣條曲線,如圖1所示.在圖1中,樣條曲線在相鄰的連接點(diǎn)處滿足C0連續(xù)的連接條件,而且精確插值于給定的型值點(diǎn).顯然,如果使用線性插值方法,對于給定的7個(gè)型值點(diǎn),必須構(gòu)造6條直線段,而基于3點(diǎn)插值的復(fù)有理圓弧樣條曲線僅僅只需要構(gòu)造3段圓弧曲線,而且在除了拼接點(diǎn)處滿足C0連續(xù)的連接條件外,圓弧樣條曲線在其他點(diǎn)處是C∞連續(xù)的.
圖1 C0連續(xù)的圓弧樣條Fig.1 C0 continuous circular arc representation
4.2構(gòu)造GC1連續(xù)的圓弧樣條
已知平面上5個(gè)點(diǎn)vj(xj,yj)(j=1,2,…,5),將其表示為復(fù)數(shù)形式:wj=xj+iyj(j=1,2,…,5),構(gòu)造兩段圓弧曲線:
l1(t;w1,w2,w3)=
l2(t;w3,w4,w5)=
已知平面上n個(gè)點(diǎn)v1(x1,y1)、v2(x2,y2)、…、vn(xn,yn),(n≥3),將其表示為復(fù)數(shù)形式w1=x1+iy1,w2=x2+iy2,…,wn=xn+iyn.類似于前文中C0C0連續(xù)的圓弧樣條曲線的構(gòu)造,首先定義下述圓弧曲線.
lk(t;wj,wj+1,wj+2)=
(10)
若給定的n個(gè)點(diǎn)滿足下述條件:
(11)
式中,α∈為一任意常數(shù);j=1,2,…,n-4.則由式(10)定義的圓弧樣條曲線是GC1連續(xù)的,且過已知的n個(gè)點(diǎn).
圖2為兩條GC1連續(xù)的圓弧樣條曲線l1和l2.其中,圓弧樣條曲線l1由3段圓弧曲線l11、l12和l13組成,對于平面上給定的7個(gè)型值點(diǎn)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.經(jīng)簡單計(jì)算可得,圓弧曲線l11和l12在
圖2 GC1連續(xù)的圓弧樣條Fig.2 GC1 continuous circular arc representation
點(diǎn)v3處為GC1連續(xù),圓弧曲線l12和l13在點(diǎn)v5處為GC1連續(xù).如果使用NURBS曲線構(gòu)造GC1連續(xù)的圓弧樣條曲線l1,則需要使用2次NURBS曲線,還必須利用反求矩陣計(jì)算NURBS曲線的控制頂點(diǎn)和權(quán)因子,需要大量的額外運(yùn)算;而且權(quán)因子選擇的不同,會影響插值樣條曲線的唯一性.但本文方法只需要把各個(gè)型值點(diǎn)轉(zhuǎn)換為復(fù)數(shù)形式,直接代入樣條曲線方程函數(shù)即可,簡單易行.
筆者利用M?bius變換的保交比性質(zhì)和保圓性質(zhì), 提出了一種精確定義圓弧曲線的參數(shù)復(fù)有理函數(shù)方法, 并基于該方法,研究了具有C0連續(xù)和GC1連續(xù)性質(zhì)的參數(shù)復(fù)有理圓弧樣條曲線的構(gòu)造方法.與目前常用的NURBS 曲線和C-curves曲線方法相比, 筆者提出的圓弧曲線表示方法不需要權(quán)因子和額外的控制參數(shù), 故而簡便易行.
[1] 周君,任景剛,廖鈴吉,等.航空發(fā)動機(jī)殼體2.5軸銑削加工刀具優(yōu)選方法[J].航空制造技術(shù),2016(1):143-146.
[2] 陳銀清,鄭澤鈿.基于MasterCAM自由曲面加工刀具路徑優(yōu)化[J]. 現(xiàn)代制造工程,2014(5):46-51.
[3] 呂勇剛,汪國昭,楊勛年,等.單圓弧樣條保形插值算法[J].計(jì)算機(jī)學(xué)報(bào),2002,25(5):483-486.
[4] AHLFORS L V.Complex alalysis[M].New York, USA: McGraw-Hill Book Co,1979.
[5] 施法中.計(jì)算機(jī)輔助幾何設(shè)計(jì)與非均勻有理B 樣條[M].北京:北京航空航天大學(xué)出版社,1994.
[6] 朱曉臨.一種參數(shù)有理圓弧樣條[J].合肥工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版),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ī)械零件幾何輪廓的自動編程[J].機(jī)械工程學(xué)報(bào),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連續(xù)的圓弧樣條曲線插值[J].杭州電子科技大學(xué)學(xué)報(bào),2012(6):45-48.
CircularArcRepresentationBasedonM?biusTransformation
REN Liangpin, XUE Junxiao, ZHANG Chaoyang, WANG Dingbiao
(School of Software, Zhengzhou University,Zhengzhou 450002, China)
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.
CNC; circular arc; M?bius transformation
2016-10-30;
2016-12-19
河南省自然科學(xué)基金資助項(xiàng)目(162300410262);河南省高校科技創(chuàng)新團(tuán)隊(duì)項(xiàng)目(16IRTSTHN027);河南省高等學(xué)校重點(diǎn)科研項(xiàng)目(18A4130)
薛均曉(1982— ),男,河南南陽人,鄭州大學(xué)副教授,博士,主要從事計(jì)算機(jī)輔助設(shè)計(jì)、智能制造系統(tǒng)方面的研究,E-mail:xuejx@zzu.edu.cn.
1671-6833(2017)06-0050-04
TP391.72
A
10.3969/j.issn.1671-6833.2017.03.004