• 
    

    
    

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

      船體三維模型切片數(shù)據(jù)處理平臺(tái)設(shè)計(jì)

      2020-10-29 08:05:52景乾峰神和龍王智洲
      艦船科學(xué)技術(shù) 2020年8期
      關(guān)鍵詞:橢球船體切片

      景乾峰,尹 勇,神和龍,王智洲

      (大連海事大學(xué),遼寧大連116026)

      0 引 言

      在船舶運(yùn)動(dòng)仿真、波浪載荷以及船舶配載等領(lǐng)域,船體型線數(shù)據(jù)扮演著關(guān)鍵角色。通過船體剖面數(shù)據(jù)能夠進(jìn)行諸多船舶水動(dòng)力的計(jì)算[1]。剖面數(shù)據(jù)一般源自船舶二維型線文件,該文件描述了對(duì)應(yīng)肋位的剖面數(shù)據(jù),如需更密集的數(shù)據(jù)則需要進(jìn)行插值獲取,文獻(xiàn)[2]在求解船體濕表面網(wǎng)格時(shí)采取了插值加密的方式,文獻(xiàn)[3]在求解流場(chǎng)勢(shì)中也使用了該方法,但插值計(jì)算過程較為復(fù)雜且有一定的局限性,若能直接從船體模型獲取剖面數(shù)據(jù)則能避免這種局限性且簡化計(jì)算過程。利用船體三維模型切片計(jì)算已有諸多成果,文獻(xiàn)[4]提出一種利用水尺平面切割STL模型的方法進(jìn)行船舶吃水轉(zhuǎn)換,文獻(xiàn)[5]利用幾何算法庫進(jìn)行船體切片來計(jì)算船舶濕面積,因此在船體計(jì)算領(lǐng)域,快捷地獲取精確的船舶剖面數(shù)據(jù)是計(jì)算的關(guān)鍵點(diǎn)。本文提出一種船體三維模型切片數(shù)據(jù)處理平臺(tái),結(jié)合3D打印中的核心技術(shù)[6],對(duì)船體STL模型進(jìn)行切片處理,獲取精確的船舶剖面數(shù)據(jù),而且不局限于方向和數(shù)量,對(duì)于船體計(jì)算等領(lǐng)域有較強(qiáng)的應(yīng)用價(jià)值。

      1 船體三維模型處理平臺(tái)

      1.1 平臺(tái)架構(gòu)

      從平臺(tái)設(shè)計(jì)的通用性及有效性出發(fā),本文設(shè)計(jì)的船體三維模型切片數(shù)據(jù)處理平臺(tái)包含4個(gè)模塊,如圖1所示。其中三維模型讀取模塊負(fù)責(zé)船體STL模型數(shù)據(jù)的讀??;切片處理模塊中能夠?qū)ΥwSTL模型進(jìn)行任意方向、任意數(shù)量的切片操作;數(shù)據(jù)冗余剔除模塊能夠?qū)η衅玫降臄?shù)據(jù)進(jìn)行過濾,減少冗余的數(shù)據(jù)點(diǎn);數(shù)據(jù)可視化模塊提供三維及二維切片數(shù)據(jù)的實(shí)時(shí)可視化功能。

      圖1 平臺(tái)架構(gòu)Fig.1 Platform suructure

      1.2 平臺(tái)界面

      船體三維模型切片數(shù)據(jù)處理平臺(tái)界面如圖2所示,主要包含三維顯示、二維顯示、切片控制3部分交互界面。

      圖2 平臺(tái)交互界面Fig.2 Platform user interface

      2 關(guān)鍵技術(shù)

      2.1 三維模型讀取模塊

      STL文件格式是一種三維模型中最通用的接口協(xié)議,本平臺(tái)主要針對(duì)STL格式的模型進(jìn)行處理。STL文件又稱立體光造型文件,是三維實(shí)體模型經(jīng)過三角化后得到的模型文件,其文件內(nèi)容無序地列出了構(gòu)成實(shí)體表面的所有三角形面片的信息。每個(gè)三角形由3個(gè)頂點(diǎn)坐標(biāo)以及三角形平面的法矢量信息表示。STL文件分為ASCII和二進(jìn)制2種格式,三維模型讀取模塊首先確定STL模型文件的格式,然后依據(jù)固定格式讀取并保存模型中的三角面片數(shù)據(jù),船體模型及三角面片如圖3所示。

      圖3 KVLCC2 船體 STL 模型Fig.3 STL model of KVLCC2

      2.2 切片處理模塊

      本文基于開源3D打印程序Slic3r[7]建立了一個(gè)STL模型切片接口類,利用該程序中的三角網(wǎng)格類Class TriangleMesh進(jìn)行二次開發(fā),實(shí)現(xiàn)了不同切片方向、不同切片數(shù)量的STL模型切片方法,并采取PIMPL模式對(duì)其進(jìn)行封裝,封裝后的動(dòng)態(tài)鏈接庫接口簡潔并與平臺(tái)其他模塊解耦,修改接口類方法對(duì)其他模塊無影響。切片模塊對(duì)外設(shè)計(jì)接口包含4項(xiàng)內(nèi)容,分別是切片數(shù)量、切片軸、切片軸夾角、偏移量,切片將沿著切片軸方向進(jìn)行,并按照指定的軸夾角和切片數(shù)量進(jìn)行切片,通過交互界面可以輸入或選擇相應(yīng)的數(shù)值進(jìn)行操作。該模塊內(nèi)部定義了錯(cuò)誤切面的判斷標(biāo)準(zhǔn),實(shí)現(xiàn)了切面的檢測(cè)功能,當(dāng)切面檢測(cè)為錯(cuò)誤時(shí),利用輸入的偏移量對(duì)切片位置進(jìn)行小幅度的偏移并在新切片位置上重新進(jìn)行切片。切片操作具體流程如圖4所示。

      圖4 切片流程圖Fig.4 Slice flowchart

      讀取STL模型后根據(jù)設(shè)置的參數(shù)進(jìn)行模型的旋轉(zhuǎn),沿切片軸方向等分獲取切片位置,保存為切片位置列表,根據(jù)位置列表循環(huán)切片,檢測(cè)到錯(cuò)誤切面時(shí)進(jìn)行小幅度偏移,直到切面無錯(cuò)誤為止,當(dāng)切片位置遍歷完畢后結(jié)束接片,并發(fā)送切片完畢信息。以KVLCC2模型數(shù)據(jù)[8]為例,切片數(shù)據(jù)如圖5所示。

      圖5 KVLCC2 船體切片數(shù)據(jù)Fig.5 Slice data of KVLCC2

      2.3 切片數(shù)據(jù)存取模塊

      平臺(tái)每執(zhí)行一次切片操作就會(huì)保存相應(yīng)的切片數(shù)據(jù),為保證切片數(shù)據(jù)的結(jié)構(gòu)清晰,本平臺(tái)根據(jù)切片參數(shù)和STL模型名稱對(duì)切片數(shù)據(jù)進(jìn)行整理。對(duì)STL模型進(jìn)行首次切片操作會(huì)生成以該模型名稱附加SD(Slice Data)的文件夾,每一次切片數(shù)據(jù)會(huì)以STL名稱+切片軸+軸夾角+切片數(shù)量+后綴SD為格式存儲(chǔ),本平臺(tái)為切片數(shù)據(jù)制定了統(tǒng)一格式,并于接口類中實(shí)現(xiàn)了該格式切片數(shù)據(jù)的讀寫方法。

      2.4 數(shù)據(jù)冗余濾除模塊

      由于STL模型的復(fù)雜程度不同,其三角面片的數(shù)量不定,經(jīng)過切片操作后的切面數(shù)據(jù)點(diǎn)可能過多且分布不均,不利用進(jìn)一步計(jì)算,尤其在曲率變化較大的部位會(huì)產(chǎn)生大量冗余。因此為獲得高質(zhì)量、低冗余的切面數(shù)據(jù),本模塊實(shí)現(xiàn)了一種切面數(shù)據(jù)點(diǎn)的冗余濾除方法,該方法通過遍歷數(shù)據(jù)點(diǎn)間距來獲取間距的極值,根據(jù)該極值對(duì)數(shù)據(jù)點(diǎn)進(jìn)行加密后再根據(jù)所需數(shù)據(jù)點(diǎn)數(shù)量進(jìn)行二次提取以獲得去冗余的切面數(shù)據(jù),圖6展示了5個(gè)不同部位的船舶橫向切片數(shù)據(jù)去冗余前后對(duì)比。

      圖6 冗余濾除前后數(shù)據(jù)對(duì)比Fig.6 Redundant filtering comparison

      2.5 數(shù)據(jù)可視化模塊

      本平臺(tái)為切片處理設(shè)計(jì)了數(shù)據(jù)可視化模塊,能夠直觀并迅速地展示切片結(jié)果,三維顯示將STL原始模型和切片數(shù)據(jù)在同一界面內(nèi)展示,可用鼠標(biāo)進(jìn)行旋轉(zhuǎn)縮放觀察,二維顯示可對(duì)切片數(shù)據(jù)進(jìn)行選擇顯示,根據(jù)所選的坐標(biāo)軸向和切片序號(hào)展示相應(yīng)的二維切片數(shù)據(jù),該可視化模塊可以便捷地觀察切片數(shù)據(jù),能夠直觀、即時(shí)地提供切片操作的驗(yàn)證,增強(qiáng)了平臺(tái)的可靠性。

      3 數(shù)據(jù)驗(yàn)證

      為進(jìn)一步確保平臺(tái)所獲得的切片數(shù)據(jù)的準(zhǔn)確性,本文選取橢球體模型和船舶模型進(jìn)行數(shù)據(jù)驗(yàn)證,建立了5個(gè)不同長寬比的四分之一橢球體STL模型,部分模型及切片數(shù)據(jù)示例如圖7所示,船舶模型采用KVLCC2。

      圖7 部分橢球體模型及切片數(shù)據(jù)Fig.7 Ellipsoid model and slice data

      由于橢球體形狀規(guī)則,通過式(1)計(jì)算能夠得到其體積

      依此理論值為基礎(chǔ),橢球體參數(shù)如表1所示。

      表1 橢球體模型及切片數(shù)據(jù)Tab.1 Ellipsoid model and slice data

      在固定坐標(biāo)軸、軸夾角的情況下,采取不同的切片數(shù)量對(duì)橢球體模型進(jìn)行切片,基于式(2),利用切片面積積分計(jì)算該橢球體的體積。

      將數(shù)值計(jì)算與理論值進(jìn)行對(duì)比,相對(duì)誤差如圖8所示。

      圖8 體積相對(duì)誤差Fig.8 Relative error of volume

      對(duì)KVLCC2船體模型進(jìn)行不同數(shù)量的切片,基于切片數(shù)據(jù)計(jì)算船舶排水體積并于實(shí)際值比較,結(jié)果如表2所示。

      表2 KVLCC2模型排水體積對(duì)比Tab.2 Volumecalculated comparison

      經(jīng)本平臺(tái)切片數(shù)據(jù)計(jì)算所得的模型體積與理論值符合度較高,最大相對(duì)誤差為0.129%,隨著切片數(shù)量的增加,體積的計(jì)算精度有所提高并逐漸趨于穩(wěn)定,因此在適當(dāng)?shù)那衅瑪?shù)量和冗余參數(shù)下,既可以保證切片數(shù)據(jù)的精度又可以盡可能減少數(shù)據(jù)量,本平臺(tái)為選取這樣適當(dāng)?shù)膮?shù)提供了十分便利的條件。

      4 結(jié) 語

      本文實(shí)現(xiàn)了船體三維模型切片數(shù)據(jù)處理平臺(tái),該平臺(tái)主要包含讀取不同格式的STL模型、進(jìn)行任意方向和數(shù)量的切片、濾除切片數(shù)據(jù)的冗余、讀寫固定格式的切片數(shù)據(jù)和數(shù)據(jù)的可視化4項(xiàng)功能,通過實(shí)際算例驗(yàn)證,船體切片所得數(shù)據(jù)準(zhǔn)確,冗余去除算法有效地減少了數(shù)據(jù)量,切片數(shù)據(jù)讀寫為后續(xù)研究工作提供了便利條件。在獲取船舶剖面數(shù)據(jù)方面,能夠有效地降低從船舶型值文件中插值計(jì)算的工作量,減少人為干擾帶來的誤差,該平臺(tái)能夠較好地應(yīng)用于船舶運(yùn)動(dòng)仿真、波浪載荷計(jì)算以及船舶配載計(jì)算等領(lǐng)域。

      猜你喜歡
      橢球船體切片
      船體行駛過程中的壓力監(jiān)測(cè)方法
      獨(dú)立坐標(biāo)系橢球變換與坐標(biāo)換算
      橢球槽宏程序編制及其Vericut仿真
      智能制造(2021年4期)2021-11-04 08:54:44
      橢球精加工軌跡及程序設(shè)計(jì)
      基于外定界橢球集員估計(jì)的純方位目標(biāo)跟蹤
      基于SDN與NFV的網(wǎng)絡(luò)切片架構(gòu)
      腎穿刺組織冷凍切片技術(shù)的改進(jìn)方法
      焊接殘余應(yīng)力對(duì)船體結(jié)構(gòu)疲勞強(qiáng)度的影響分析
      焊接(2015年9期)2015-07-18 11:03:51
      冰凍切片、快速石蠟切片在中樞神經(jīng)系統(tǒng)腫瘤診斷中的應(yīng)用價(jià)值比較
      赴美軍“仁慈”號(hào)醫(yī)院船駐船體會(huì)
      阳东县| 南阳市| 顺昌县| 江永县| 建昌县| 滦平县| 黑龙江省| 龙陵县| 锦屏县| 靖边县| 新竹市| 富锦市| 福建省| 崇义县| 天台县| 锡林浩特市| 大丰市| 奉贤区| 健康| 银川市| 青河县| 红安县| 三都| 泾阳县| 社会| 容城县| 麟游县| 南陵县| 景德镇市| 柞水县| 罗城| 寻乌县| 华安县| 吉水县| 栾川县| 日土县| 安康市| 清丰县| 天等县| 炉霍县| 新干县|