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