陳紹平,何精雄,李 真
(武漢理工大學 理學院,湖北 武漢 430070)
非均勻有理B樣條(NURBS)[1]是幾何造型的一個十分有用的工具,在計算機輔助設計和輔助制造集成系統(tǒng)中都得到廣泛的應用.又因為它具有局部性、凸包性、仿射與透視不變性、參數(shù)連續(xù)性等優(yōu)良性質(zhì),因此NURBS方法受到工程界人士的廣泛的重視[2].在實際應用中,人們可以利用三次NURBS曲線插值方法得到一條理想的光順曲線,比如船舶型線設計就用到此方法.因此研究三次NURBS曲線插值方法具有非常重要的實際意義,它不僅提供生成曲線的方法,而且為工程設計人員提供了理論依據(jù).
由于NURBS方法是一種可以統(tǒng)一表示初等曲線曲面和自由型曲線曲面的方法,一旦節(jié)點矢量、控制頂點和權因子被確定之后,NUBRS曲線和曲面的形狀也就唯一確定了.比如一條K次NUBRS曲線可以表示為:
其中,ωi(i=0,1,…,n)稱為權因子,ω0,ωn>0,wi≥0, 以防分母為零;di(i=0,1,2,…,n)為控制頂點.Ni,k(u)是由節(jié)點矢量U=[u0,u1,…,un+k+1]決定的K次規(guī)范B樣條基函數(shù).B樣條基函數(shù)的de Boor-Cox遞推公式如下:
其中di=ui+1-ui,Qi為控制點.
下面根據(jù)任意兩點曲率限制推導控制點所對應的方程,由于非均勻B樣條曲線的各節(jié)點處有:
aiQi-1+biQi+ciQi+1=ei;i=2,3,…,n
(3)
(4)
又由式(3)得:
am+2Qm+1+bm+2Qm+2+cm+3Qm+3=em+2
(5)
故把式(4)代入式(5)得:
(6)
又由式(3)得:
am+1Qm+bm+1Qm+1+cm+1Qm+2=em+1
(7)
聯(lián)立式(6)、(7)消去Qm得:
(8)
在式(8)中令Qm+1的系數(shù)為Am+1,Qm+2的系數(shù)為Bm+1,令右邊式子為Em+1,得:
Am+1Qm+1+Bm+1Qm+2=Em+1
(9)
故在關于控制點的方程組(3)中,又可以增加兩個方程,得到關于控制點的矩陣方程為:
由于其系數(shù)矩陣可逆,而且有n+1個未知數(shù),n+1個方程,故可求出唯一的一組控制點[6].
(10)
又由于ar+1Qr+br+1Qr+1+cr+1Qr+2=er+1
(11)
ar+2Qr+1+br+2Qr+2+cr+2Qr+3=er+2
(12)
把式(10)代入式(12)并與式(11)聯(lián)立,消去Qr得:
(13)
(14)
將式(9)和式(14)都代入節(jié)點方程組(3)中也可以得到n+1個方程的方程組,即:
可求出唯一一組控制點Qi,i=1,2,…,n+1,對于NURBS曲線,只要在該方程組中,將Qi改成帶權控制頂點Di,再取其在w=1超平面上的投影即可求出Qi.
本文的方法能夠使三次NURBS曲線更好的滿足操作者的需要,操作者只需改變相應的曲率參數(shù)和切矢參數(shù)就可以很好的控制曲線的形狀,從而得到所需要的曲線.
[1] Piegl L.On NURBS: A Survey[J].IEEE CG&A,1991:55-71.
[2] 李東,汪希齡.應用曲率參數(shù)的B樣條曲線插值方法[J].船舶工程,1994(3):55-58.
[3] 施法中.計算機輔助幾何設計與非均勻有理B樣條[M].北京:北京航空航天大學出版社,1994:228-238.
[4] 李強,席光,王尚錦.NURBS曲線插值的實現(xiàn)方法與探討[J].計算機工程與應用,1999(7):24-26.
[5] 蘇曉紅,李東,王宇穎.基于曲率參數(shù)的NURBS曲線插值[J].哈爾濱工業(yè)大學學報,2001,33(1):108-111.
[6] 秦開懷,孫家廣,范剛.三次NURBS曲線的插值方法[J].計算機輔助設計與圖形學學報,1993,5(3):179-183.
[7] Les A Piegl,Wayne Tiller.Curve Interpolation with Arbitrary End Derivatives[J].Engineering with Computers,2000,16:73-79.
[8] Les A Piegl,Khairan Rajab,Volha Smarodzinana.Curve interpolation with directional constraints for engineering design[J].Engineering with Computers,2008,24:79-85.