国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于NURBS技術(shù)的船體幾何重構(gòu)研究與實(shí)現(xiàn)

2021-04-29 09:09周廣利陳帥王超劉洋
應(yīng)用科技 2021年1期
關(guān)鍵詞:控制頂點(diǎn)型線樣條

周廣利,陳帥,王超,劉洋

哈爾濱工程大學(xué) 船舶工程學(xué)院,黑龍江 哈爾濱 150001

船體幾何重構(gòu)是實(shí)現(xiàn)船舶概念設(shè)計(jì)、總體設(shè)計(jì)和船型優(yōu)化的一種關(guān)鍵技術(shù)[1],對船舶的各種性能起著決定性影響。針對船體幾何重構(gòu),找到一種簡潔、高效的NURBS技術(shù)求解方法具有一定的現(xiàn)實(shí)意義。本文就這一問題對船體型線、曲面的重構(gòu)和分割進(jìn)行分析。

現(xiàn)階段對船體曲面設(shè)計(jì)的研究相對成熟,錢宏等[2]將NURBS技術(shù)成功運(yùn)用于船體曲面重構(gòu),Wang H等[3]利用NURBS曲面對船體進(jìn)行幾何建模,討論了節(jié)點(diǎn)矢量的相容性處理問題,于亞如[4]將NURBS技術(shù)運(yùn)用到船體型線設(shè)計(jì)中,利用其卓越的局部修改性來設(shè)計(jì)船體型線,張偉等[5]提出一種基于B樣條的船體及自由面面元生成方法,這些研究主要是基于NURBS的船體曲面生成過程精確表達(dá)和曲面的修改方法等。

基于NURBS的船體曲面設(shè)計(jì),有單一NURBS曲面表達(dá)方法[6]、曲面分片表達(dá)方法和曲面細(xì)分方法[7]等,它們主要是根據(jù)型值點(diǎn)生成船體曲面特征線進(jìn)而生成船體曲面。陳軍等[8]對NURBS曲線曲面反求問題進(jìn)行分析和研究,實(shí)現(xiàn)了船體的三維實(shí)體造型。Shi G等[9]實(shí)現(xiàn)了快速插值給定型值點(diǎn)的船體曲面重構(gòu)技術(shù)。Gianpaolo S等[10]將一種在NURBS曲面上計(jì)算曲率和臍點(diǎn)的技術(shù)應(yīng)用于船型設(shè)計(jì)。Yang C等[11]采用NURBS曲面表示的船體,該技術(shù)可用于自動(dòng)生成球艏,或根據(jù)水動(dòng)力性能和幾何約束修改船首或整個(gè)船型,也可以根據(jù)可移動(dòng)的RBF控制節(jié)點(diǎn)來獲得NURBS控制點(diǎn)的運(yùn)動(dòng)。

在基于NURBS方法關(guān)鍵技術(shù)的船體幾何重構(gòu)應(yīng)用上,以上研究對控制頂點(diǎn)的反求算法較為復(fù)雜,對于曲線曲面的邊界條件處理也各不相同。本文通過利用一種非節(jié)點(diǎn)邊界條件下的曲線控制頂點(diǎn)反算算法[12],編寫了船體型線和船體曲面重構(gòu)程序,并探索一種求解算法用于船體曲面與水面快速求交。該程序可以通過修改控制頂點(diǎn)和權(quán)重因子對曲面進(jìn)行變形,這種修改不破壞原有曲面的光順、連續(xù)等幾何特性,更方便用于船體型線設(shè)計(jì)領(lǐng)域。

1 NURBS曲線和曲面

1.1 NURBS曲線

由參數(shù)變量u定義的k次NURBS曲線方程[13]為

式中:p(u)為 參數(shù)u∈[0,1]下 曲線上的點(diǎn);bi為曲線控制頂點(diǎn),wi為 控制頂點(diǎn)對應(yīng)的權(quán)重因子;Ni,k(u)為k次NURBS曲線的基函數(shù),可根據(jù)deBoor-Cox的遞推公式[13]得出:

k次NURBS曲線的節(jié)點(diǎn)矢量,U=[u0,u1,···,un+k+1]。 曲線的定義域u∈[uk,un+1],共含有n-k+1個(gè)節(jié)點(diǎn)區(qū)間。去掉基函數(shù)為零的那些項(xiàng),式(1)可化簡為

當(dāng)k=3時(shí),NURBS曲線的節(jié)點(diǎn)矢量和定義域分別為

本文運(yùn)用的三次NURBS曲線插值求解方程簡化為

1.2 NURBS曲面

由2個(gè)參數(shù)變量(u,v)定義的NURBS曲面方程[13]:

式中:p(u,v)為 參數(shù) (u,v)下 曲面上的點(diǎn);bi,j為 (m+1)×(n+1)的 曲面控制網(wǎng)格;wi,j為控制網(wǎng)格對應(yīng)的權(quán)因子;Ni,3(u)、Nj,3(v)為曲面u和v兩個(gè)參數(shù)方向的基函數(shù),根據(jù)式(2)推導(dǎo)。曲面的控制網(wǎng)格可以根據(jù)曲線控制頂點(diǎn)的反算思路[12]求解,給定(m+1)×(n+1)個(gè)數(shù)據(jù)點(diǎn)pi,j,p0,i、pn,i、pj,0和pj,m,i=0,1,···,m,j=1,2,···,n?1作為曲面的邊界。與NURBS曲線邊界補(bǔ)充方 式 類 似,p1,i、pn?1,i、pj,1和pj,m,i=1,2,···,m?1,j=2,3,···,n?2不再作為曲面分段連接點(diǎn),由積累弦長參數(shù)化法可得出兩個(gè)方向的節(jié)點(diǎn)矢量:

為了使其曲面控制網(wǎng)格求解更方便,NURBS曲面方程可改寫為

則式(7)可簡化為

將兩個(gè)方向的節(jié)點(diǎn)值代入式(7),根據(jù)反算NURBS插值曲線控制頂點(diǎn)的方法分為兩步求出,思路如下:1)在u方向上應(yīng)用NURBS曲線反算,可解出式(9)中的ai(v)。2)在v方向上應(yīng)用NURBS曲線反算,可解出式(8)中的bi,j控制網(wǎng)格。

2 控制頂點(diǎn)反算和數(shù)據(jù)點(diǎn)參數(shù)化

2.1 曲線的控制頂點(diǎn)反算

在實(shí)際應(yīng)用中,給定樣條曲線一系列數(shù)據(jù)點(diǎn),對樣條曲線進(jìn)行插值的情況更為多見,也就是所謂的逆向工程。逆向工程就是根據(jù)一系列數(shù)據(jù)點(diǎn)可反算出樣條曲線的多邊形控制頂點(diǎn),進(jìn)而根據(jù)控制頂點(diǎn)和基函數(shù)對樣條曲線進(jìn)行插值。一般情況下,給出n-1個(gè)數(shù)據(jù)點(diǎn)和曲線端部的2個(gè)切矢量,可建立n+1個(gè)方程進(jìn)而求解對應(yīng)的n+1個(gè)控制頂點(diǎn)。通常在對船型進(jìn)行建模時(shí),給定的條件是船舶型值點(diǎn)或者型線圖,沒有端部切矢量。本文運(yùn)用王飛[12]提出的一種反算三次B樣條插值開曲線控制頂點(diǎn)的算法求解NURBS的控制頂點(diǎn),對船體進(jìn)行幾何重構(gòu),其主要特點(diǎn)是無需給定船舶型線首尾端切矢。

給定n+1個(gè)數(shù)據(jù)點(diǎn)pi(i=0,1,···,n,p0,pn),作為樣條曲線的首末端點(diǎn)。p0,p2,···,pn?2,pn作為三次樣條插值曲線的n-1個(gè)連接點(diǎn),p1,pn?1不再為三次樣條插值曲線的連接點(diǎn)。故對應(yīng)的三次樣條曲線的控 制 頂 點(diǎn) 個(gè) 數(shù) 為n+1,即bi(i=0,1,···,n)。三次B樣條曲線的節(jié)點(diǎn)矢量為

式 中:u0=u1=u2=u3,un+1=un+2=un+3=un+4,三 次 樣條曲線的定義域?yàn)閡∈[u3,un+1]。將節(jié)點(diǎn)值依次代入式(5), 應(yīng)滿足插值條件:

求解n+1個(gè)控制頂點(diǎn)需要n+1個(gè)方程,式(11)有n-3個(gè)方程,需補(bǔ)充如下4個(gè)方程:

式 中:t1,tn?1分 別是p1,pn?1對 應(yīng) 的 參 數(shù) 節(jié)點(diǎn)值,其中t1∈[u3,u4],tn?1∈[un,un+1]。將式(11)、(12)合寫成求解n+1個(gè)控制頂點(diǎn)bi,i=0,1,···,n的矩陣形式:

為了方便快速求解方程,將式(13)化簡為三對角方程組的追趕法求解形式:

式中:

在式(16)中的基函數(shù)用式(2)deBoor-Cox遞推公式求解,式(14)就可以用追趕法[14]求解出NURBS曲線的n+1個(gè)控制頂點(diǎn)。

2.2 數(shù)據(jù)點(diǎn)參數(shù)化

對于數(shù)據(jù)點(diǎn)的參數(shù)化,即使相同的一組數(shù)據(jù)點(diǎn)采用同一種插值方法,選擇數(shù)據(jù)點(diǎn)的參數(shù)化方法不同也可能求得的插值曲線不同。一般主要有4種參數(shù)化方法[15]:均勻參數(shù)化法、積累弦長參數(shù)化法、向心參數(shù)化法和福利參數(shù)化法,本文NURBS曲線采用積累弦長參數(shù)化法確定節(jié)點(diǎn)值,使定義域內(nèi)節(jié)點(diǎn)值與數(shù)據(jù)點(diǎn)p0,p2,···pn?2,pn對應(yīng)。

單位化處理:

節(jié)點(diǎn)取值:

從式(19)可以看出,t1與p1對 應(yīng),tn?1與pn?1對應(yīng),為了避免首末曲線段的曲率突變,此非節(jié)點(diǎn)條件[12]等價(jià)于邊界條件。

3 幾何重構(gòu)

3.1 NURBS技術(shù)的程序?qū)崿F(xiàn)

通過C++程序設(shè)計(jì),圖1為NURBS技術(shù)的實(shí)現(xiàn)流程圖。根據(jù)論文前兩節(jié)提供的算法計(jì)算NURBS曲線的控制頂點(diǎn)、節(jié)點(diǎn)矢量和基函數(shù),運(yùn)用u、v兩個(gè)參數(shù)方向計(jì)算可以生成NURBS曲面,多個(gè)曲面拼接生成船體整個(gè)幾何外型。給定船體型線的型值點(diǎn)初始條件,通過自行設(shè)計(jì)型線參數(shù)變量和權(quán)重因子,可以實(shí)現(xiàn)船體離散化表達(dá)和船體型線改變。

圖1 NURBS技術(shù)的程序?qū)崿F(xiàn)

3.2 NURBS曲線重構(gòu)

如圖2(a),以DTMB5415某站位橫剖線為例,繪制出型線的插值點(diǎn)、控制頂點(diǎn)和型值點(diǎn)對比圖。通過對第1~5個(gè)控制頂點(diǎn)和對應(yīng)的權(quán)因子進(jìn)行微調(diào),圖2(b)給出了原橫剖型線和微調(diào)后的橫剖型線的變形對比??梢钥闯?,根據(jù)控制頂點(diǎn)(權(quán)因子為1)和基函數(shù)插值出來的點(diǎn)必定經(jīng)過橫剖線,多邊形控制頂點(diǎn)和權(quán)因子改變可以控制橫剖線的變形。本文用求解曲線與原型線的絕對誤差ε來評估曲線重構(gòu)精度:

式中:pi為原型值點(diǎn);p(ui)為曲線u方向參數(shù)值對應(yīng)的插值點(diǎn)。

圖2 NURBS曲線的重構(gòu)與變形

如圖2(c),求解橫剖線曲線誤差,從圖中可以看出,曲線最大誤差不超過0.073 1 mm,平均誤差為0.046 7 mm。

可以得出,通過本文前兩節(jié)提供的算法計(jì)算NURBS曲線不需要型線首末端切矢量,不但簡化了計(jì)算過程,且具有優(yōu)良的變形能力,曲線精度較高。

3.3 NURBS曲面重構(gòu)

由一組數(shù)據(jù)點(diǎn)通過一次反算、插值可以得到NURBS曲線,從二維上升到三維,由一組曲線通過兩個(gè)方向的反算、插值就可以得到NURBS曲面。 船體復(fù)雜曲面的重構(gòu)與變形如圖3。

圖3 船體復(fù)雜曲面的重構(gòu)與變形

圖3(a)以DTMB5415船型船艏為例,初始條件為一組水平型線上的型值點(diǎn),可以得到船艏的控制網(wǎng)格。通過改變船艏控制網(wǎng)和對應(yīng)的權(quán)因子,圖3(c)和圖3(d)給出原船艏和改變后的原船艏對比。本文用求解曲面與原船型的絕對誤差ε來評估曲面重構(gòu)精度。

式中:pi,j為原型值點(diǎn),p(ui,vj)為曲面u、v方向參數(shù)值對應(yīng)的插值點(diǎn)。

如圖3(b),以船體復(fù)雜曲面球艏為例,通過誤差等高線分析可知,曲面插值最大誤差為0.178 5 mm,平均誤差為0.049 4 mm??梢缘贸?,NURBS曲面具有良好的變形能力,且對于船體曲面的表達(dá)精度較高。

3.4 NURBS曲面求交

為了實(shí)現(xiàn)船體曲面快速分割,如圖4(a),DTMB 5415船艏和三維平面相交,對其交線求解展開研究,本文采用了二分法、黃金分割、斐波那契法對交線參數(shù)區(qū)間進(jìn)行迭代,交線參數(shù)值求解變化曲線如圖4(b),其交線參數(shù)區(qū)間收斂精度為0.000 1。如表1,在區(qū)間收斂精度為0.000 1的情況下,通過對比船艏與三維平面求交算法的迭代次數(shù)和交線求解用時(shí),二分法更適用于船體曲面分割。

圖4 船體曲面與三維平面求交

3.5 船體型線和曲面重構(gòu)

對于船體整個(gè)曲面構(gòu)型,不同船型的曲面復(fù)雜度也不一樣,本文以DTMB5415船型為例,其存在折角、曲率變化較大的曲面,圖5(a)是通過NURBS曲線重構(gòu)的DTMB5415船體橫剖型線,圖5(b)和圖5(c)繪制的是多個(gè)NURBS曲面拼接構(gòu)成DTMB5415船體曲面。圖5(b)為面元數(shù)325的船體曲面,圖5(c)為面元數(shù)1 399的船體曲面,且對艏艉部進(jìn)行了加密。通過二分法快速分割曲面,圖5(d)為面元數(shù)486的DTMB5415船體水下曲面,其可以為邊界元法提供計(jì)算模型。從上述得出,在NURBS技術(shù)下可以實(shí)現(xiàn)船體曲面拼接、分割和局部區(qū)域加密等功能。

4 結(jié)論

本文基于NURBS技術(shù)實(shí)現(xiàn)了縮尺比為24.83的DTMB5415船體幾何重構(gòu),對NURBS技術(shù)關(guān)鍵求解方法與幾何重構(gòu)效果展開研究與分析,可得出如下結(jié)論:

1)針對船體幾何構(gòu)型研究過程,將一種NURBS曲線(曲面)控制頂點(diǎn)(控制網(wǎng))求解算法運(yùn)用于船體幾何重構(gòu),無需型線切矢量初始條件。通過本文編寫的計(jì)算程序?qū)TMB5415船型幾何重構(gòu)過程研究發(fā)現(xiàn),NURBS技術(shù)下的船體幾何重構(gòu)具有曲面變形、曲面拼接、曲面分割、局部區(qū)域加密等功能。

2)通過重構(gòu)誤差分析可知,基于該控制頂點(diǎn)反算算法的幾何重構(gòu)效果很好,其平均誤差不超過0.05 mm,隨機(jī)選取的橫剖型線最大誤差為0.073 1 mm,船艉復(fù)雜曲面最大誤差為0.178 5 mm。

3)通過對比曲面求交算法的迭代次數(shù)和交線求解用時(shí),在參數(shù)區(qū)間收斂精度為0.000 1的情況下,二分法更適用于船體曲面分割。

猜你喜歡
控制頂點(diǎn)型線樣條
一元五次B樣條擬插值研究
優(yōu)化端點(diǎn)條件的平面二次均勻B 樣條插值曲線
基于Matlab的螺桿轉(zhuǎn)子的型線分析
高次曲線組合型線渦旋盤性能研究*
三次參數(shù)樣條在機(jī)床高速高精加工中的應(yīng)用
三次樣條和二次刪除相輔助的WASD神經(jīng)網(wǎng)絡(luò)與日本人口預(yù)測
基于樣條函數(shù)的高精度電子秤設(shè)計(jì)
有理二次Bézier形式共軛雙曲線段的幾何計(jì)算
變截面復(fù)雜渦旋型線的加工幾何與力學(xué)仿真
面向控制頂點(diǎn)優(yōu)化的自由曲線交互擬合技術(shù)
恩平市| 临高县| 北流市| 汤阴县| 闸北区| 上林县| 南皮县| 屏南县| 黄龙县| 吕梁市| 无为县| 汉寿县| 陆良县| 陇西县| 大荔县| 比如县| 冕宁县| 奉节县| 新津县| 湖北省| 大庆市| 吉木萨尔县| 阳泉市| 积石山| 商水县| 丰镇市| 江油市| 临西县| 庐江县| 高要市| 丰都县| 乌拉特中旗| 甘孜县| 海阳市| 扶绥县| 水富县| 成安县| 南投市| 阿克陶县| 海兴县| 正宁县|