摘要: 提出了一種用雙圓弧對二次均勻B樣條曲線的分段逼近方法。首先,對一條具有n+1個控制頂點的二次均勻B樣條曲線按照相鄰兩節點界定的區間分成n-1段只有三個控制頂點的二次均勻B樣條曲線段;然后對每一曲線段構造一條雙圓弧進行逼近。所構造的雙圓弧滿足端點及端點切向量條件,即雙圓弧的兩個端點分別是所逼近的曲線段的端點,而且雙圓弧在兩個端點處的切向量是所逼近的曲線段在端點處的單位切向量。同時,雙圓弧的連接點是雙圓弧連接點軌跡圓與其所逼近的曲線段的交點。這些新構造出來的雙圓弧連接在一起構成了一條圓弧樣條曲線,即二次均勻B樣條曲線的逼近曲線。另外給出了逼近誤差分析和實例說明。
關鍵詞:雙圓弧;二次均勻B樣條曲線; 逼近
中圖分類號:TP391文獻標志碼:A
文章編號:1001-3695(2008)04-1087-03
B樣條曲線廣泛用于自由型曲線曲面設計。其中,二次均勻B樣條曲線是形式最簡單的曲線之一,具有幾何一階連續性、形狀簡單、使用靈活的特點[1~3]。但在數控加工中,因為刀具路徑通常是由線段和圓弧組成的,所以大多數情況下需要將曲線轉換成為由圓弧與直線段組成的圓弧樣條進行表示,而后進行加工[3~16]。為了提高效率,通常采用圓弧樣條[3~16]。當前研究[3~13]中,用圓弧樣條對曲線進行逼近,主要分為單圓弧和雙圓弧兩種方法。連接點處連續性的單圓弧算法與雙圓弧算法比較而言,優點是可以減少所使用的圓弧段數,缺點是一旦初始頂點處的切線方向確定,整條圓弧樣條就完全惟一確定下來,因而缺乏靈活性。另一方面,由于除初始確定切線方面的頂點,其他頂點處的切線方向因此也確定下來,對多個頂點處有切線方向要求的情況,就不適合采用了。此外,單圓弧穩定性不好,改動初始點或初始切向,整條曲線都要跟著變動。而雙圓弧方法則不存在這些缺點。給定兩個端點以及端點處對應的單位向量,可以用雙圓弧進行逼近。雙圓弧逼近方法具有通過性好的特點。本文采用了雙圓弧對二次均勻B樣條曲線逼近。該方法的優點主要是誤差小且計算相對簡單。
1雙圓弧的確定
1.1雙圓弧
雙圓弧的定義[3~13]為:給定不同的兩個點P1和P2,以及在點P2處的單位向量t1和在點P2處的單位向量t2,設圓弧A1和A2滿足下列條件:
4實例
給定一條二次均勻B樣條曲線,它具有10個控制點從d0到d9的坐標依次為(0.5,2),(1.5,3),(2.5,2),(3,3.5),(5,2),(6.5,2),(6.0,1),(4.5,0.2),(4.5,2),(6,1.5),節點矢量為U={i}12i=0,曲線的參數區間為[2,10]。該條二次均勻B樣條曲線按照每相鄰兩節點界定的區間為一段,則可以分為八段二次均勻B樣條曲線段,然后對每條曲線段分別構造一條雙圓弧進行逼近。表1描述的是按順序各二次均勻B樣條曲線段與雙圓弧連接點的軌跡圓弧的交點坐標及雙圓弧逼近的誤差。其中:第一個曲線段的三個控制點為d0=(0.5,2),d1=(1.5,3),d2=(2.5,2)。根據pi=(di+di+1)/2,Pi=1=di+1,Pi+2=(di+1+di+2)/2,得到P1=(1,2.5),P2=(1.5,3),P3=(2,2.5)這樣有‖P1-P0‖=‖P1-P2‖=1.414 213,根據定理1,此時雙圓弧的連接點的軌跡圓與二次均勻B樣條曲線段在t∈(0,1)不存在交點,則雙圓弧退化為單圓弧進行逼近,然后根據式(10)可求出誤差。而在其他曲線段中均有‖Pi+1-Pi‖≠‖Pi+1-Pi+2‖,根據定理1可得二次均勻B樣條曲線段與雙圓弧連接點的軌跡圓均有且存一個交點,求出此時交點,并把此交點作為雙圓弧的連接點,從而確定出雙圓弧,最后根據式(8)和(9)求出雙圓弧的誤差。圖2是在Windows XP SP2系統下用VC 8.0實現雙圓弧逼近例子中的二次均勻B樣條曲線的圖形表示。其中:二次均勻B樣條曲線用光滑的線表示;用于逼近的雙圓弧所組成的曲線用虛線表示。
參考文獻:
[1]雍俊海, 胡事民, 孫家廣. 均勻B樣條曲線的降階[J]. 計算機學報, 2000, 23(5): 537-540.
[2]謝進,洪素珍.帶形狀參數的二次B樣條曲線[J].計算機輔助工程, 2006, 15(2):15-19.
[3]雍俊海.曲線曲面造型中幾何逼近問題的研究[D].北京:清華大學計算機科學與技術系, 2000.
[4]蘇步青,劉鼎元.計算幾何[M].上海:上??茖W技術出版社,1981:195-204.
[5]盧建彪,雍俊海. 二次Bézier曲線的雙圓弧樣條插值二分算法[J].計算機應用研究,2006,23(8):172-173.
[6]YONG Jun-hai, CHEN Xiao, PAUL J C. An example on approximation by fat arcs and fat biarcs[J]. Computer Aided Design, 2006, 38(5): 515-517.
[7]PARK H. Error-bounded biarc approximation of planar curves[J]. Computer Aided Design,2004,36(12): 1241-1251.
[8]JONG C, WONG S Y, LOH T H, et al. An optimization approach for biarc curve-fitting of B-spline curves[J]. Computer Aided Design, 1996,28(12):951-959.
[9]SCHOENHERR J. Smooth biarc curves[J]. Computer Aided Design, 1993, 25(6): 365-370.
[10]董光昌,梁友棟,何援軍. 樣條曲線擬合與雙圓弧逼近[J].應用數學學報, 1978,1(4):330-340.
[11]何援軍.計算機圖形學[M].北京:機械工業出版社, 2006:361.
[12]汪國平,孫家廣. 平面NURBS曲線及其offset的雙圓弧的逼近[J].軟件學報,2000,11(10):1368-1374.
[13]劉續征,雍俊海,鄭國勤,等.約束雙圓弧插值[J]. 計算機輔助設計與圖形學學報, 2007,19(1):1-7.
[14]CHEN Xiao-diao,YONG Jun-hai, ZHENG Guo-qin, et al. Automa-tic G1 arc spline interpolation for closed point set[J]. Computer Aided Design, 2004,36(12):1205-1218.
[15]YONG Jun-hai,HU Shi-min, SUN Jia-guang. Bisection algorithms for approximating quadratic Bezier curves by G1 arc splines[J]. Computer Aided Design, 2000,32(4):253-260.
[16]YONG Jun-hai, HU Shi-min, SUN Jia-guang. A note on approximation of discrete data by G1 arc splines[J]. Computer Aided Design 1999,31(14):911-915.
[17]孫家廣.計算機圖形學[M].3版.北京:清華大學出版社, 2002.
“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”