亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        船體型線三向光順方法及程序設(shè)計

        2021-06-28 12:57:16鄭坤時光志周毅牛志剛
        船海工程 2021年3期
        關(guān)鍵詞:光順水線型線

        鄭坤,時光志,周毅,牛志剛

        (中海油能源發(fā)展股份有限公司 采油服務(wù)分公司,天津 300452)

        船體型線設(shè)計對船舶阻力性能有直接的影響,決定了設(shè)計船能否達到航速要求。成功的型線設(shè)計的一個必要條件是型線的三向光順。AutoCAD提供了良好的交互式圖形設(shè)計工具,但是在船體型線設(shè)計時,AutoCAD不能將船體的三向視圖聯(lián)系起來,船體型線光順過程只能對每個視圖逐個修改,不僅繁瑣,而且難以保證三視圖數(shù)據(jù)的統(tǒng)一。為此,考慮采用AutoCAD提供的二次開發(fā)工具ObjectARX,通過型線的非均勻有理B-樣條(NURBS)曲線表達及三次樣條整體光順方法,實現(xiàn)船體型線三向光順程序設(shè)計。

        1 船體型線的NURBS表達

        NURBS曲線可以用統(tǒng)一的函數(shù)關(guān)系式表達直線段、圓弧和自由曲線。對直線段、圓弧及樣條曲線進行拼接,就可以表達各種復雜的船體型線,其中涉及到關(guān)于NURBS的反算,升階,節(jié)點插入與刪除,求導,拼接等算法[1-2]。

        船體型線較為復雜,可以基于NURBS曲線的優(yōu)良特性,更準確的表達。船體橫剖線對于艏部尾部線型比較復雜的情況,可采用自由曲線、直線段、圓弧等組合的NURBS曲線表達(見圖1a)、b));對于有平行中體,且平行中體處舭部為圓弧的船型,將橫剖線表達為由1/4圓與直線段組合NURBS曲線(見圖1c))。對于有平行中體的船型,半寬水線由首尾圓弧(方尾尾部除外),自由曲線,以及平行中體處的直線段構(gòu)成,見圖2。

        圖1 用拼接的NURBS曲線表達橫剖線

        圖2 半寬水線的NURBS表達

        有些船型的首部輪廓在設(shè)計吃水與結(jié)構(gòu)吃水之間為直線段,因而將其首部輪廓由直線和自由曲線拼接組成,見圖3b),方尾船型的尾部輪廓由直線與自由曲線拼接組成,見圖3a)。

        圖3 艏艉輪廓線的NURBS表達

        將各船體型線統(tǒng)一用NURBS表達以后,在對船體的計算時不用考慮是否間斷或曲線的具體形狀,因而更利于計算機程序?qū)崿F(xiàn)。此外這樣表示的型線更易應(yīng)用于靜水力、艙容、穩(wěn)性插值曲線等的計算。

        2 交互式三向光順的程序?qū)崿F(xiàn)

        2.1 生成AutoCAD的NURBS曲線

        ObjectARX提供了函數(shù)setNurbsData(),該函數(shù)的參數(shù)為NURBS的節(jié)點矢量(knots)、控制頂點(control points)、權(quán)值(weights)、節(jié)點數(shù)以及曲線的次數(shù)等[3]。創(chuàng)建AcDbSpline對象,調(diào)用該函數(shù)給實體賦值,并將該AcDbSpline對象添加到AutoCAD的當前數(shù)據(jù)庫中,即可在AutoCAD里創(chuàng)建一條NURBS曲線。程序中定義了樣條類class vacNurbs, 各種算法通過該類實現(xiàn),將該類的節(jié)點矢量,控制頂點,權(quán)值等信息通過setNurbsData()函數(shù)傳遞給AutoCAD,由AutoCAD實現(xiàn)型線的交互式光順。通過ObjectARX提供的函數(shù)getNurbsData()得到AutoCAD中的曲線信息,實現(xiàn)自己定義的樣條與AutoCAD之間的數(shù)據(jù)交換。

        2.2 實現(xiàn)三向光順

        三向光順就是要在改變一個視圖的時候,另外兩個視圖自動作相應(yīng)的變化,即將3個視圖聯(lián)系起來,保持數(shù)據(jù)的統(tǒng)一。首先由ObjectARX的數(shù)據(jù)庫反映者類(AcDbDatabaseReactor)派生出一個新類vacAcDbDatabaseReactor, 重載該類的objectModified()、objectAppended()以及objectEraserd()3個虛函數(shù),用以響應(yīng)數(shù)據(jù)庫中實體被修改、添加與刪除的消息。在程序初始化階段將該反映者類的一個對象添加到當前數(shù)據(jù)庫中,用于跟蹤用戶對AutoCAD的數(shù)據(jù)庫的各項操作。

        以修改橫剖線為例。首先根據(jù)objectModified()的參數(shù)dbObj(被修改實體的ID)判斷是哪條線被修改(假設(shè)為ST1,其縱向位置為stPos),給定精度為ESP=1e-6,然后根據(jù)由dbObj對應(yīng)的曲線(修改后的橫剖線)與原橫剖線各型值點對比,判斷哪些水線處的型值點變化量大于ESP(設(shè)為WL0~WL1),則這些水線需要重算。將對應(yīng)的半寬水線WL0~WL1在stPos處的型值點替換為新的型值,重新反算生成新的半寬水線。縱剖線的變化與橫剖線相似。這樣就可以實現(xiàn)在修改橫剖線時,半寬水線與縱剖線的自動變化。

        同理,可以實現(xiàn)修改半寬水線時,橫剖線與縱剖線隨修改的自動變化。綜上所述,便可以實現(xiàn)在AutoCAD平臺上船體型線的三向光順。

        2.3 型線光順性的檢驗方法

        2.3.1 通過拐點數(shù)及位置判斷型線的光順性

        如果船體的型線是光順的,則相應(yīng)的拐點連線也應(yīng)該是光順的,所以程序通過vacAcDbDatabaseReactor類的objectModified()函數(shù)在型線修改時計算出新的曲線的拐點所在位置,并繪制到型線圖上,用來實時檢驗修改是否使型線更為光順,見圖4,“”代表拐點位置。

        圖4 某LNG運輸船橫剖線拐點示意

        2.3.2 通過曲率曲線判斷型線的光順性

        曲線的光順與否將直接反應(yīng)在曲率上,所以可以用曲率來檢驗型線是否真正光順。圖5中上方圖形為型線,下方為該型線的曲率。

        圖5 NURBS曲線的曲率

        3 船體型線整體光順方法

        型線整體光順的方法有很多,傳統(tǒng)的能量法和最小二乘法只能保證光順后的曲線比未光順的曲線曲率變化更均勻,而不易實現(xiàn)對曲線型值點位置、導數(shù)以及拐點的數(shù)目與位置的控制。這里在ObjectARX實現(xiàn)AutoCAD交互式三向光順程序的基礎(chǔ)上,引入一種可以控制曲線的型值點、一階導數(shù)、二階導數(shù)的型線光順方法,以提升型線光順效率。

        3.1 三次樣條整體光順的思想

        三次力學樣條具有簡潔的表達式,其二階導數(shù)為線性關(guān)系式[4]。用三次力學樣條可以很好的描述斜率變化不大的曲線。常規(guī)船型的半寬水線的斜率一般都不會太大,因而可以用三次樣條來描述?;谝陨显?,首先通過船體的半寬水線(NURBS曲線)形成一條三次樣條,對該三次樣條進行光順,最后將得到的三次樣條曲線的型值點作為新的半寬水線的型值點,反算得到光順后的半寬水線(NURBS曲線)的控制頂點,進而實現(xiàn)對半寬水線的光順。

        采用單目標非線性約束優(yōu)化的方法對三次樣條做優(yōu)化計算。將曲線的橫坐標作為已知量,以各型值點的縱坐標和一階導數(shù)為自由變量,以能量為目標函數(shù),約束條件分為兩部分,第一部分為固定約束,使得得到的縱坐標與一階導數(shù)值之間滿足三彎矩方程,另一部分為可變約束,用于控制曲線的型值點,一階導數(shù),二階導數(shù)的值。

        3.2 目標函數(shù)的建立

        將三次樣條看成梁,因彎曲而產(chǎn)生的內(nèi)力為

        (1)

        式中:EI為梁的剛度系數(shù);κ為曲率。

        一般認為,梁的彎曲內(nèi)力越小,樣條越光順[5]。但是內(nèi)力最小的時候顯然為1條直線,所以還要考慮因位移而產(chǎn)生的內(nèi)力,即假定梁在每一節(jié)點處的受力與位移都滿足hooker定律,即

        (2)

        式中:βi為各節(jié)點處剛性系數(shù);Pi為光順前的型值點;Qi為光順后的型值點。

        假設(shè)三次樣條S(x)滿足

        S(xi)=yii=0,1,…,n-1

        (3)

        將目標函數(shù)定為E=Ein+Edisp,其中自由變量最高次項為2,線性約束,所以程序中采用二次規(guī)劃對曲線進行優(yōu)化,其目標函數(shù)為

        s.t.

        v=(y0,m0,y1,m1,…,yn-1,mn-1)

        (4)

        式中:nE與nI分別為等式和不等數(shù)約束個數(shù);yi與mi分別對應(yīng)各型值點處的縱坐標與一階導數(shù)值。

        3.3 約束矩陣的建立

        3.3.1 固定約束

        約束矩陣的固定部分即為三次樣條的三彎矩方程組,是n-1個等式約束。三彎矩方程組為

        (5)

        將式(5)寫成Am=f的形式,把y向量插入到v′向量中對應(yīng)位置得到v向量,即v=(y0,m0,y1,m1,…,yn-1,mn-1),同時在A陣中插入相應(yīng)的行與列。然后將等式右邊向量移到等式左邊,將gk用yk,yk+1表示,把gk中yk,yk+1的系數(shù)加到A陣的相應(yīng)位置,形成約束矩陣R0v=b0,此時b0為零向量(即該約束為等式約束)。該約束矩陣保證生成的曲線為過點(xk,yk),并且在(xk,yk)處導數(shù)為mk。

        3.3.2 可變約束

        將約束矩陣添加一行,該行除了第2k列為1外全部為0,將向量b的與該約束對應(yīng)的元素設(shè)為Y,并修改等式約束的個數(shù),這樣就可以使樣條通過點(Xk,Y)。

        若將該行除了第2k+1列為1外全部為0,將向量b的與該約束對應(yīng)的元素設(shè)為D,并修改等式約束的個數(shù),這樣就可以使樣條在點(Xk,Yk)處導數(shù)為D。

        在xk處,二階導數(shù)滿足

        (6)

        以上為加入等式約束的方法。加入不等式的方法與之類似,但要將大于號改為小于號(兩邊同乘-1)。將生成的約束矩陣交換行,使前nE個為等式約束,后nI個為不等式約束。

        3.3.3 初始解的計算

        二次規(guī)劃要求初始解可行,因而不可以簡單地將原樣條對應(yīng)的向量做為初始解。這里通過二階段法求得。

        3.4 在船體型線光順中的應(yīng)用

        在光順半寬水線時,首先要求輸入期望的拐點位置。端點處要求型值不變,平行中體處要求導數(shù)為零,指定權(quán)值(用于調(diào)整光順后曲線與原曲線的偏離程度)后程序就可以對所選的半寬水線進行光順計算。只要輸入正確的約束條件以及恰當?shù)倪x取權(quán)值,該算法在滿足光順性的前提下可以很好的滿足設(shè)計要求。對于多數(shù)的橫剖線,只要將其x與y坐標轉(zhuǎn)置,該算法也適用。圖6、7為2個光順實例。圖中上方為型線,下方為曲率,其中變化緩和的為光順后的型線的曲率。

        圖6 曲線中無指定拐點

        3.5 算法的特點

        若將型值點的權(quán)值設(shè)為一個相對較小的數(shù),可以得到非常光順的曲線,但是實際中的船體型線并非曲率變化越均勻越好,所以應(yīng)當綜合考慮,調(diào)整權(quán)值使得曲線在光順后不會與原船體型線相差太大。對于有拐點的曲線,如果要求光順后的曲線在某點處的曲率方向與原方向相反。優(yōu)化的目標為彎曲內(nèi)能與變形內(nèi)能的和最小,此時優(yōu)化的結(jié)果將是使該點處的二階導數(shù)為零。如圖7所示,通過下方的曲率圖可以看出,中間豎線表示的期望拐點位置,曲線右端的曲率與期望的曲率方向相反,光順后的曲線在此處曲率接近于零。如果在約束中指定這些點處的二階導數(shù)的值可以控制曲率線的形狀,但是事先難以估計該點處的二階導數(shù)的值。

        圖7 期望的曲率方向與原方向相反

        實踐證明,上述方法能夠快速、準確的實現(xiàn)船體型線的三向光順,這不僅可以提高的型線設(shè)計的效率,而且可以保證精度要求。實船型線光順的實例見圖8~11,圖中“”代表拐點位置。通過拐點數(shù)及拐點的位置,可以看出曲線的光順程度。

        圖8 某LNG運輸船光順前的艏部型線

        圖9 某LNG運輸船光順后的艏部型線

        圖10 某LNG運輸船光順前的艉部型線

        圖11 某LNG運輸船光順后的艉部型線

        4 結(jié)論

        1)采用拼接NURBS曲線表達船體型線不僅使得計算簡單,易于程序?qū)崿F(xiàn),而且可以較為精確的描述船體型線,有利于對船體做進一步計算。

        2)AutoCAD平臺提供了有效的二次開發(fā)方法,通過對AutoCAD二次開發(fā)可以實現(xiàn)船體型線數(shù)據(jù)的三示圖聯(lián)動,并形成基于拐點和曲率曲線的光順性檢驗方法。

        3)以三次力學樣條為工具,可以很好的實現(xiàn)對NURBS曲線的光順,提升型線光順效率,解決型線光順繁瑣的調(diào)整問題。

        猜你喜歡
        光順水線型線
        高次曲線組合型線渦旋盤性能研究*
        機械制造(2020年8期)2020-09-30 06:32:24
        平面網(wǎng)格銑削加工光順刀軌快速生成方法
        型線絞合導體ZC-YJLHV22-103×630鋁合金電纜的設(shè)計和生產(chǎn)
        電線電纜(2018年3期)2018-06-29 07:41:00
        HDSHM系統(tǒng)船體型線光順應(yīng)用經(jīng)驗
        水線光纜
        水線光纜
        規(guī)?;怆u養(yǎng)殖場水線管理
        基于面法向量譜變換的網(wǎng)格光順算法
        計算機工程(2015年4期)2015-07-05 08:27:42
        變截面復雜渦旋型線的加工幾何與力學仿真
        漁船型線優(yōu)化及水動力性能研究
        船海工程(2013年6期)2013-03-11 18:57:29
        日韩国产成人精品视频| 欲求不満の人妻松下纱荣子| 各种少妇正面着bbw撒尿视频| 欧美日韩亚洲国内综合网| 99热成人精品国产免国语的| 亚洲国产不卡免费视频| 在线免费看91免费版.| 亚洲av成人片色在线观看高潮 | 亚洲国产精品无码专区| 国产色诱视频在线观看| 久久久久久久久久免免费精品| 亚洲hd高清在线一区二区| 色婷婷一区二区三区四区成人网| 亚洲av电影天堂男人的天堂| 亚洲av不卡电影在线网址最新| 午夜麻豆视频在线观看| 丰满人妻熟妇乱又仑精品| 国产精成人品| 中文字幕亚洲好看有码| 成人黄色片久久久大全| 亚洲av无码一区二区一二区| 国产成人久久777777| 校花高潮一区日韩| 玖玖资源站亚洲最大的网站| 丰满少妇呻吟高潮经历| 亚洲精品第一页国产精品| 亚洲精品区二区三区蜜桃| 国产亚洲精品97在线视频一| 中文字幕一区二区三区日韩精品| 91爱爱视频| 久久国产精品亚洲我射av大全| 97人伦影院a级毛片| 成人免费ā片在线观看| 91亚洲色图在线观看| 成人偷拍自拍视频在线观看| 男人激烈吮乳吃奶视频免费| 国产麻豆一精品一AV一免费软件 | 久久中文字幕日韩无码视频| 黄片免费观看视频播放| 无码区a∨视频体验区30秒| 中文字幕第一页亚洲|