• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

      2021-04-29 09:09:54周廣利陳帥王超劉洋
      應(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],對(duì)船舶的各種性能起著決定性影響。針對(duì)船體幾何重構(gòu),找到一種簡(jiǎn)潔、高效的NURBS技術(shù)求解方法具有一定的現(xiàn)實(shí)意義。本文就這一問題對(duì)船體型線、曲面的重構(gòu)和分割進(jìn)行分析。

      現(xiàn)階段對(duì)船體曲面設(shè)計(jì)的研究相對(duì)成熟,錢宏等[2]將NURBS技術(shù)成功運(yùn)用于船體曲面重構(gòu),Wang H等[3]利用NURBS曲面對(duì)船體進(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]對(duì)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)用上,以上研究對(duì)控制頂點(diǎn)的反求算法較為復(fù)雜,對(duì)于曲線曲面的邊界條件處理也各不相同。本文通過利用一種非節(jié)點(diǎn)邊界條件下的曲線控制頂點(diǎn)反算算法[12],編寫了船體型線和船體曲面重構(gòu)程序,并探索一種求解算法用于船體曲面與水面快速求交。該程序可以通過修改控制頂點(diǎn)和權(quán)重因子對(duì)曲面進(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)對(duì)應(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)可化簡(jiǎn)為

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

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

      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)格對(duì)應(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),由積累弦長(zhǎng)參數(shù)化法可得出兩個(gè)方向的節(jié)點(diǎn)矢量:

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

      則式(7)可簡(jiǎn)化為

      將兩個(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),對(duì)樣條曲線進(jìn)行插值的情況更為多見,也就是所謂的逆向工程。逆向工程就是根據(jù)一系列數(shù)據(jù)點(diǎn)可反算出樣條曲線的多邊形控制頂點(diǎn),進(jìn)而根據(jù)控制頂點(diǎn)和基函數(shù)對(duì)樣條曲線進(jìn)行插值。一般情況下,給出n-1個(gè)數(shù)據(jù)點(diǎn)和曲線端部的2個(gè)切矢量,可建立n+1個(gè)方程進(jìn)而求解對(duì)應(yīng)的n+1個(gè)控制頂點(diǎn)。通常在對(duì)船型進(jìn)行建模時(shí),給定的條件是船舶型值點(diǎn)或者型線圖,沒有端部切矢量。本文運(yùn)用王飛[12]提出的一種反算三次B樣條插值開曲線控制頂點(diǎn)的算法求解NURBS的控制頂點(diǎn),對(duì)船體進(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)。故對(duì)應(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對(duì) 應(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)化簡(jiǎn)為三對(duì)角方程組的追趕法求解形式:

      式中:

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

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

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

      單位化處理:

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

      從式(19)可以看出,t1與p1對(duì) 應(yīng),tn?1與pn?1對(duì)應(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)對(duì)比圖。通過對(duì)第1~5個(gè)控制頂點(diǎn)和對(duì)應(yīng)的權(quán)因子進(jìn)行微調(diào),圖2(b)給出了原橫剖型線和微調(diào)后的橫剖型線的變形對(duì)比??梢钥闯觯鶕?jù)控制頂點(diǎn)(權(quán)因子為1)和基函數(shù)插值出來的點(diǎn)必定經(jīng)過橫剖線,多邊形控制頂點(diǎn)和權(quán)因子改變可以控制橫剖線的變形。本文用求解曲線與原型線的絕對(duì)誤差ε來評(píng)估曲線重構(gòu)精度:

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

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

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

      可以得出,通過本文前兩節(jié)提供的算法計(jì)算NURBS曲線不需要型線首末端切矢量,不但簡(jiǎn)化了計(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)和對(duì)應(yīng)的權(quán)因子,圖3(c)和圖3(d)給出原船艏和改變后的原船艏對(duì)比。本文用求解曲面與原船型的絕對(duì)誤差ε來評(píng)估曲面重構(gòu)精度。

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

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

      3.4 NURBS曲面求交

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

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

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

      對(duì)于船體整個(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的船體曲面,且對(duì)艏艉部進(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),對(duì)NURBS技術(shù)關(guān)鍵求解方法與幾何重構(gòu)效果展開研究與分析,可得出如下結(jié)論:

      1)針對(duì)船體幾何構(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)通過對(duì)比曲面求交算法的迭代次數(shù)和交線求解用時(shí),在參數(shù)區(qū)間收斂精度為0.000 1的情況下,二分法更適用于船體曲面分割。

      猜你喜歡
      控制頂點(diǎn)型線樣條
      帶互異權(quán)值的B樣條曲線的最小二乘漸進(jìn)迭代逼近
      一元五次B樣條擬插值研究
      高次曲線組合型線渦旋盤性能研究*
      型線絞合導(dǎo)體ZC-YJLHV22-103×630鋁合金電纜的設(shè)計(jì)和生產(chǎn)
      電線電纜(2018年3期)2018-06-29 07:41:00
      三次參數(shù)樣條在機(jī)床高速高精加工中的應(yīng)用
      三次樣條和二次刪除相輔助的WASD神經(jīng)網(wǎng)絡(luò)與日本人口預(yù)測(cè)
      軟件(2017年6期)2017-09-23 20:56:27
      基于樣條函數(shù)的高精度電子秤設(shè)計(jì)
      有理二次Bézier形式共軛雙曲線段的幾何計(jì)算
      變截面復(fù)雜渦旋型線的加工幾何與力學(xué)仿真
      面向控制頂點(diǎn)優(yōu)化的自由曲線交互擬合技術(shù)
      彭水| 和林格尔县| 商河县| 虞城县| 股票| 宣汉县| 吐鲁番市| 威信县| 长宁区| 石台县| 延长县| 恩平市| 永安市| 曲靖市| 佛学| 永嘉县| 三明市| 巴里| 棋牌| 兰考县| 道真| 沙湾县| 舒兰市| 仁化县| 龙江县| 叶城县| 阿勒泰市| 莫力| 洱源县| 龙里县| 潢川县| 开封市| 台江县| 利津县| 谷城县| 枣庄市| 玉树县| 奎屯市| 金坛市| 渝中区| 睢宁县|