徐鋒 王春雨 馬云周
摘 要:本文針對船體曲面的NURBS表達(dá)與設(shè)計進(jìn)行探討分析。
關(guān)鍵詞:船體曲面;NURBS;非均勻
概述:
NURBS是非均勻有理B樣條曲線(Non-Uniform Rational B-Splines)的縮寫,NURBS由Versprille在其博士學(xué)位論文中提出,1991年,國際標(biāo)準(zhǔn)化組織(ISO)頒布的工業(yè)產(chǎn)品數(shù)據(jù)交換標(biāo)準(zhǔn)STEP中,把NURBS作為定義工業(yè)產(chǎn)品幾何形狀的唯一數(shù)學(xué)方法。1992年,國際標(biāo)準(zhǔn)化組織又將NURBS納入到規(guī)定獨立于設(shè)備的交互圖形編程接口的國際標(biāo)準(zhǔn)PHIGS(程序員層次交互圖形系統(tǒng))中,作為PHIGS Plus的擴(kuò)充部分。Bezier、有理Bezier、均勻B樣條和非均勻B樣條都被統(tǒng)一到NURBS中。此理論如今被廣泛應(yīng)用到船舶設(shè)計領(lǐng)域中。
一、NURBS曲線與曲面的定義
一條k 次NURBS曲線可以表示為一分段有理多項式函數(shù),其數(shù)學(xué)定義為:
其中di(i=0,1, ,n)是控制頂點;wi(i=0,1,L,n)稱為權(quán)或權(quán)因子( weights),分別與di(i=0,1, ,n)相聯(lián)系;Ni,k(u)是k次B樣條基函數(shù),由節(jié)點矢量U=(u0,u1,u2,L,un+k+1)按德布爾遞推公式?jīng)Q定:
這里di,j(i=0,1,L,m;j=0,1,L,n)是控制頂點,呈拓?fù)渚匦侮嚵?,形成一個控制網(wǎng)格;wi,j是與控制頂點di,j相聯(lián)系的權(quán)因子;Ni,k(u)(i=0,1,L,m)和Nj,1(v)(j=0,1, ,n)分別為u向k次和v向1次的規(guī)范B樣條基,分別由u向節(jié)點矢量U=[u0,u1, ,um+k+1]與v向節(jié)點矢量v=[v0,v1, ,vn+1+1]決定。
在大多數(shù)工程應(yīng)用中,k 、l 取為3,可滿足產(chǎn)品定義的要求。
二、NURBS曲面的反求
2.1NURBS曲線的反求
2.1.1基本原理
由三次NURBS曲線的齊次坐標(biāo)表達(dá)式:
其中:Di(i=0,1, ,n)為NURBS曲線的帶權(quán)控制頂點,即Di=[widi wi];H{}表示中心投影變換,投影中心取為齊次坐標(biāo)系的原點,即
可知: 一條二維空間中三次NURBS曲線可以看成是三維空間的非有理三次B 樣條曲線 在超平面w=1上的投影,因此,若一條三維空間的 k 次非有理B樣條曲線依次通過點Qj(j=0,1, ,m),則改曲線在超平面w=1上的投影必通過qj(j=0,1, ,m),其中qj是Qj超平面w=1上的投影。也就是說,三維空間中由控制定點Di= [widi wi]=[wixi wiyi wi](i=0,1, ,m)決定的非有理B樣條曲線在超平面w=1上的投影,正好就是二維平面上以di=[xi yi](i=0,1,L,n)為控制定點、以wi(i=0,1, ,m)為權(quán)值決定的NURBS曲線。
2.1.2NURBS曲線的反求
為了使一條三次B樣條曲線通過一組數(shù)據(jù)點Qj=[wjqj wj],反求過程一般地使曲線的首末端點分別與首末數(shù)據(jù)點一致,使曲線的分段連接點分別依次與B樣條曲線定義域內(nèi)的節(jié)點一一對應(yīng),即Qi點有節(jié)點值u3+j(i=0,1, ,m)。該B樣條插值曲線將有n個控制頂點Di(i=0,1,L,n)與節(jié)點矢量U=[u0,u1,L,un+3+1]來定義,其中,n=m+3-1,即控制點數(shù)目要比數(shù)據(jù)點數(shù)目多出3-1=2個,共有m +3個未知頂點。由端點插值要求,應(yīng)取3+1=4重節(jié)點端點的固支條件。取規(guī)范定義域 ,于, 是有u0=u1= =u3=0,un+1=un+2= =un+3+1=1。對數(shù)據(jù)點取規(guī)范積累弦長參數(shù)化得 ,相應(yīng)可確定定義域內(nèi)節(jié)點值u3+i=u%i(i=0,1,L,m),即從u3起的定義域內(nèi)節(jié)點值依次取 起的數(shù)據(jù)點參數(shù)值,這樣就可由插值條件給出n +1個控制頂點為未知矢量的 m+1 個線性方程:
將曲線定義域內(nèi)的節(jié)點值依次代入方程(3),應(yīng)滿足插值條件:
共含有m+1=n-1個方程。
將所求的控制頂點Di=(i=0,1, ,m)在超平面w=1上進(jìn)行投影即得S所求NURBS 曲線的控制頂點di=Di(i=0,1, ,n)/w=1。
2.2NURBS曲面的反求
首先根據(jù)給定的型值點qi,j(i=0,1,L,m,j=0,1,L,n)沿n向反求NURBS 曲線控制多邊形頂點得到控制點為Di,j(i=0,1,L,m+2,j=0,1,L,n),然后沿v向反求NURBS曲線控制多邊形頂點。則由兩次反求可以得到控制點網(wǎng)格di,j(i=0,1,L,m,j=0,1,L,n),由di,j定義的NURBS曲面即插值于原始的型值點qi,j(i=0,1,L,m,j=0,1,L,n)。
三、船體曲面造型實例
將di,j(i=0,1,L,m,j=0,1,L,n)、節(jié)點點矢量及權(quán)因子等作為參數(shù),代入式(2)可以得到所求船體NURBS曲面模型p(u, v) (u, v [0,1])。
對曲面進(jìn)行三角形劃分,當(dāng)曲面片很小時,各曲面片趨近于平面片,曲面的繪制轉(zhuǎn)化為三角形面片的繪制。對曲面進(jìn)行三角形填充后,經(jīng)過濃淡處理即可得到逼真的各種船體模型。
圖1(a)為根據(jù)上述方法,求得部分船體曲面經(jīng)過三角形細(xì)分后的線框圖,圖1(b)為對三角形面片經(jīng)過濃淡處理后生成的部分船體曲面真實感模型。
四、結(jié)束語
本文對船體造型中NURBS曲面反求的若干問題進(jìn)行了深入分析與研究,實現(xiàn)了復(fù)雜船體曲面的NURBS造型,結(jié)果表明,NURBS方法在形狀定義方面比其他方法具有更強(qiáng)大的功能,且具有局部修改方便、光順性好的優(yōu)點,為復(fù)雜船體曲面的加工奠定了基礎(chǔ)。
參考文獻(xiàn)
[1]陳紹平,陳賓康.基于NURBS曲線的雙艉船型線設(shè)計研究[J].中國造船.2001(02)
[2]仵大偉,林焰,紀(jì)卓尚.參數(shù)化的船體結(jié)構(gòu)特征造型設(shè)計[J].計算機(jī)工程.2001(06endprint