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

?

基于3D 技術(shù)的轉(zhuǎn)轍機(jī)仿真操作平臺設(shè)計(jì)與實(shí)現(xiàn)

2021-03-03 08:26:42玲,楊揚(yáng)
關(guān)鍵詞:轉(zhuǎn)轍機(jī)鼠標(biāo)動畫

向 玲,楊 揚(yáng)

(西南交通大學(xué) 信息科學(xué)與技術(shù)學(xué)院,成都 611756)

隨著我國鐵路的快速發(fā)展,對鐵路信號相關(guān)專業(yè)的人才需求越來越大,目前,國內(nèi)很多高校均開設(shè)了鐵路信號專業(yè)。由于高等院校往往缺乏實(shí)際的信號設(shè)備[1],在教學(xué)過程中通常采用2D 圖紙展示,而2D 圖紙展示的信號設(shè)備不夠立體直觀,且受其結(jié)構(gòu)復(fù)雜、布設(shè)分散、聯(lián)動復(fù)雜等條件限制[2],使得學(xué)生對相關(guān)理論難以深入理解和掌握。3D 技術(shù)的應(yīng)用,為教學(xué)過程中信號設(shè)備的展示提供了新的途徑。

目前,3D 技術(shù)主要應(yīng)用在地圖仿真、駕駛系統(tǒng)仿真、船舶海洋仿真、場景展示、游戲開發(fā)、建筑、航天及外科手術(shù)等領(lǐng)域[3-5],在鐵路信號專業(yè)的應(yīng)用相對較少,本文利用3D MAX 的建模功能和 Unity 3D 的動畫仿真功能,結(jié)合模型與場景,設(shè)計(jì)基于3D 技術(shù)的轉(zhuǎn)轍機(jī)仿真操作平臺。

1 平臺架構(gòu)及設(shè)計(jì)流程

1.1 平臺架構(gòu)

轉(zhuǎn)轍機(jī)仿真操作平臺架構(gòu),按功能劃分為設(shè)備與環(huán)境模型、用戶體驗(yàn)交互界面、3D 動畫展示、通信,共4 個(gè)模塊,如圖1 所示。

1.1.1 設(shè)備與環(huán)境模型模塊

本模塊是平臺的基礎(chǔ),主要制作操作平臺中所用的模型。轉(zhuǎn)轍機(jī)與環(huán)境的3D 模型決定了場景的真實(shí)度與還原度,該模塊主要遵循還原度和美觀度2個(gè)原則。還原度描述的是轉(zhuǎn)轍機(jī)在3D 制作中要盡可能接近真實(shí)情況,美觀度是在還原度的基礎(chǔ)上給予視覺上的享受[6-8]。

如圖1 所示,模塊分為2 個(gè)部分:3D 轉(zhuǎn)轍機(jī)模型和3D 環(huán)境模型。3D 轉(zhuǎn)轍機(jī)模型可以進(jìn)一步分為轉(zhuǎn)轍機(jī)外部模型和轉(zhuǎn)轍機(jī)內(nèi)部模型;3D 環(huán)境模型主要由山、樹、道岔等多個(gè)模型組合而成。

1.1.2 用戶體驗(yàn)交互界面模塊

圖1 轉(zhuǎn)轍機(jī)仿真操作平臺架構(gòu)

用戶體驗(yàn)交互界面模塊用于還原真實(shí)車站場景,并增添了在場景中用鼠標(biāo)模擬行走、動畫展示轉(zhuǎn)轍機(jī)等功能,進(jìn)一步提高用戶體驗(yàn)滿意度。

如圖1 所示,該模塊由轉(zhuǎn)轍機(jī)展示界面、全局界面和漫游界面組成[9]。

漫游界面用鼠標(biāo)或者鍵盤作為媒介,實(shí)現(xiàn)對整體場景的觀察和控制,類似人在真實(shí)環(huán)境中進(jìn)行巡游,主要包括場景的放大縮小,視覺的四周移動,以及視覺的旋轉(zhuǎn);全局界面可以對場景進(jìn)行俯瞰;轉(zhuǎn)轍機(jī)展示界面可實(shí)現(xiàn)結(jié)構(gòu)觀察、動畫展示,以及3D 顯示。

該模塊有2 個(gè)輸入端:(1)接收用戶輸入交互需求,界面響應(yīng)對應(yīng)需求,展示相關(guān)內(nèi)容;(2)接收轉(zhuǎn)轍機(jī)轉(zhuǎn)向信息,切換展示界面。交互界面是實(shí)現(xiàn)人與軟件實(shí)時(shí)信息交換的重要界面。

1.1.3 3D 動畫展示模塊

3D 動畫展示基于轉(zhuǎn)轍機(jī)的動作原理和現(xiàn)實(shí)情況。根據(jù)轉(zhuǎn)轍機(jī)不同的狀態(tài)信息將轉(zhuǎn)轍機(jī)狀態(tài)分為定位、反位及四開。根據(jù)轉(zhuǎn)轍機(jī)狀態(tài)在界面展示相關(guān)動畫,包含解鎖、轉(zhuǎn)換、鎖閉整個(gè)動作過程。動畫制作時(shí),對不同結(jié)構(gòu)進(jìn)行動畫制作,最后進(jìn)行動畫組合。3D動畫展示模塊以設(shè)備與環(huán)境模型模塊提供的實(shí)體作為動畫制作基礎(chǔ),接收站內(nèi)道岔解析后的信息和轉(zhuǎn)轍機(jī)動畫驅(qū)動信息,向用戶體驗(yàn)與交互界面模塊輸出轉(zhuǎn)轍機(jī)轉(zhuǎn)向信息。

3D 動畫主要依據(jù)轉(zhuǎn)轍機(jī)的動作原理和轉(zhuǎn)動鎖閉邏輯。Unity 3D 中的動畫模塊一般切割成2 個(gè)動畫,形成控制動畫邏輯。

1.1.4 通信模塊

通信模塊主要實(shí)現(xiàn)聯(lián)鎖軟件和上位機(jī)軟件之間的通信。該模塊分為采集端和驅(qū)動端:采集端采集并解析站內(nèi)道岔狀態(tài)信息,驅(qū)動端輸出轉(zhuǎn)轍機(jī)動畫驅(qū)動信息。

通信采用TCP/IP(Transmission Control Protocol/Internet Protocol)協(xié)議,實(shí)現(xiàn)通信的關(guān)鍵點(diǎn)在于對轉(zhuǎn)轍機(jī)狀態(tài)的采集與驅(qū)動。定義Socket 通信函數(shù)來實(shí)例化客戶端的對象,響應(yīng)Socket 通信函數(shù),對采集的數(shù)據(jù)進(jìn)行分析和判斷,收到服務(wù)器的響應(yīng),實(shí)現(xiàn)3D 顯示。

1.2 平臺設(shè)計(jì)流程

平臺設(shè)計(jì)流程如圖2 所示:(1)建立設(shè)備3D 模型;(2)建立整體3D 環(huán)境和用戶交互界面;(3)完成通信模塊的數(shù)據(jù)采集和動畫驅(qū)動。

圖2 平臺設(shè)計(jì)流程

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

2.1 3D MAX 建模技術(shù)

3D 模型制作的關(guān)鍵在于利用3D MAX 軟件建模。

3D 模型分為基本物體和復(fù)合物體,基本物體采用基本模型結(jié)構(gòu),如球、多面體、線等。復(fù)合物體需要將物體分為不同基本物體,采取布爾等操作實(shí)現(xiàn)。

對于復(fù)雜的模型無法使用基本物體進(jìn)行模型搭建時(shí),需要采用樣條線編輯。每個(gè)不規(guī)則3D 物體都可以看作是由不規(guī)則2D 圖形增加厚度形成,而不規(guī)則2D 圖形可以看作是由不同樣條線組合而成,利用不同樣條線組合,擠出相應(yīng)樣條線,可形成不規(guī)則復(fù)合圖形。除此之外,對齊陣列調(diào)整操作,用于批量處理規(guī)律分布的多個(gè)相同模型[8]。

除了相關(guān)操作上的技術(shù)難度,由于轉(zhuǎn)轍機(jī)模型存在一定的結(jié)構(gòu)特殊性,在模型建立與組合的過程中需要對不同的模型進(jìn)行結(jié)構(gòu)組合,最后進(jìn)行視覺上的渲染工作。

轉(zhuǎn)轍機(jī)建模的技術(shù)路線如圖3 所示。

圖3 轉(zhuǎn)轍機(jī)3D 建模技術(shù)路線

以動靜接點(diǎn)模型建立為例。動靜接點(diǎn)的模型由3 部分組成:(1)幾何體實(shí)現(xiàn)動接點(diǎn)圓柱體;(2)樣條線編輯實(shí)現(xiàn)螺旋線;(3)復(fù)雜幾何體實(shí)現(xiàn)基本框架。第1 動接點(diǎn)結(jié)構(gòu)大小需要與接點(diǎn)缺口的結(jié)構(gòu)大小契合,第2 動接點(diǎn)下方模型需要與表示桿的缺口吻合。整體的高度既要做到貼近現(xiàn)實(shí),又要做到整個(gè)表示部分相對協(xié)調(diào)。

2.2 Unity 3D 場景控制及界面交互技術(shù)

實(shí)現(xiàn)交互界面的關(guān)鍵是攝像機(jī)的設(shè)置、腳本函數(shù)的編寫及鼠標(biāo)鍵盤的控制。

攝像機(jī)的操作是該部分的主要難點(diǎn)和關(guān)鍵點(diǎn),對攝像機(jī)的基礎(chǔ)設(shè)置是界面完成的重要基礎(chǔ)。攝像機(jī)的初始位置控制界面進(jìn)入的初始視角,確定整個(gè)界面不同坐標(biāo)軸方向的靈敏度和移動速度,需要對不同視角進(jìn)行一定的范圍界定。

鼠標(biāo)、鍵盤控制:確定鼠標(biāo)基本位置,確定鼠標(biāo)滾輪的縮放靈敏度。完成鼠標(biāo)和攝像機(jī)操作需要設(shè)定更新函數(shù),更新函數(shù)中,需要對每一幀操作,定義3 個(gè)主要腳本函數(shù),分別是 cameraRotate,camera-Move 和 scaleChange,3 個(gè)函數(shù)分別實(shí)現(xiàn)旋轉(zhuǎn)、移動和場景切換功能,其中,實(shí)現(xiàn)旋轉(zhuǎn)和移動功能的2個(gè)函數(shù)的編寫比較復(fù)雜。

(1)cameraRotate 函數(shù):旋轉(zhuǎn)函數(shù)執(zhí)行流程如圖4 所示。判斷鼠標(biāo)右鍵是否按下,獲取x 軸、y 軸的旋轉(zhuǎn)角度,處理獲得的值并控制在一定范圍內(nèi),最后給x、y 賦值。

(2)cameraMove 函數(shù):移動函數(shù)執(zhí)行流程如圖5 所示。以鼠標(biāo)中右鍵的狀態(tài)作為判斷依據(jù),需要獲取鼠標(biāo)前后位置的更新值,最后移動攝像機(jī)。

圖4 攝像機(jī)旋轉(zhuǎn)函數(shù)執(zhí)行流程

圖5 攝像機(jī)移動函數(shù)執(zhí)行流程

2.3 動畫制作

對轉(zhuǎn)轍機(jī)來說,動畫表現(xiàn)轉(zhuǎn)轍機(jī)的整個(gè)動作過程,包括解鎖、轉(zhuǎn)換、鎖閉。在實(shí)現(xiàn)動畫制作時(shí),不同結(jié)構(gòu)需要制作不同動畫,最后進(jìn)行動畫拼接。

動畫制作的關(guān)鍵在于平移動畫制作及旋轉(zhuǎn)動畫制作。關(guān)鍵幀是控制和實(shí)現(xiàn)動畫的重要工具[8-9],關(guān)鍵幀指的是動畫展示的關(guān)鍵時(shí)間點(diǎn),在動畫前后插入關(guān)鍵幀和變化的關(guān)鍵位置點(diǎn),兩個(gè)關(guān)鍵幀之間自動填充相應(yīng)平移或旋轉(zhuǎn)動畫。動畫制作技術(shù)路線如圖6 所示。

3 仿真實(shí)現(xiàn)

在實(shí)驗(yàn)室內(nèi),采用Window 8 作為運(yùn)行環(huán)境,在Visual Studio 2017、3D MAX 和Unity 3D 開發(fā)環(huán)境下,基于面向?qū)ο蟪绦蛟O(shè)計(jì)方法、TCP/IP 通信技術(shù),使用C#、C++語言編程,實(shí)現(xiàn)轉(zhuǎn)轍機(jī)仿真操作平臺。本文從3 個(gè)方面展示平臺仿真結(jié)果。

圖6 轉(zhuǎn)轍機(jī)動畫制作技術(shù)路線

3.1 ZYJ7 型、ZD6 型轉(zhuǎn)轍機(jī)3D 模型

ZYJ7 型轉(zhuǎn)轍機(jī)的整體結(jié)構(gòu)(包含轉(zhuǎn)轍機(jī)外殼、電動機(jī)、動靜接點(diǎn)等),如圖7 所示;外鎖閉裝置(包含鎖閉桿),如圖8 所示。ZD6 型轉(zhuǎn)轍機(jī)的整體結(jié)構(gòu)(包含轉(zhuǎn)轍機(jī)外殼及內(nèi)部基本結(jié)構(gòu)),如圖9所示。

圖7 ZYJ7 型轉(zhuǎn)轍機(jī)主機(jī)3D 模型

圖8 ZYJ7 型外鎖閉裝置模型

圖9 ZD6 型轉(zhuǎn)轍機(jī)主機(jī)3D 模型

3.2 Unity 3D 場景展示

主要展示各子界面,包含俯瞰整個(gè)場景的地形輪廓圖、轉(zhuǎn)轍機(jī)結(jié)構(gòu)圖、轉(zhuǎn)轍機(jī)視角圖,以及可以實(shí)現(xiàn)場景漫游的場景仿真圖。地形場景輪廓圖展現(xiàn)了整個(gè)場景的大致形態(tài),場景中包含的山體、軌道、地面等,如圖10 所示。轉(zhuǎn)轍機(jī)視角圖展示了ZYJ7型轉(zhuǎn)轍機(jī)主機(jī)3D 模型靜態(tài)基本結(jié)構(gòu),如圖11 所示。全局界面場景圖展示了當(dāng)用鼠標(biāo)、鍵盤在場景中操作時(shí)用戶看到的界面,如圖12 所示。

圖10 地形場景輪廓

圖11 ZYJ7 型轉(zhuǎn)轍機(jī)主機(jī)3D 模型靜態(tài)基本結(jié)構(gòu)

圖12 全局界面場景

3.3 實(shí)時(shí)通信

初始狀態(tài)下,2D 站場圖中的道岔處在定位狀態(tài),觀察3D 場景中轉(zhuǎn)轍機(jī)從定位到反位的動作過程,最后保持在反位狀態(tài)。轉(zhuǎn)轍機(jī)處于定位狀態(tài),如圖13所示;轉(zhuǎn)轍機(jī)經(jīng)轉(zhuǎn)換,狀態(tài)變至反位,紅色圓圈部分位置發(fā)生了改變,如圖14 所示。

4 結(jié)束語

圖13 轉(zhuǎn)轍機(jī)定位場景

圖14 轉(zhuǎn)轍機(jī)反位場景

本文設(shè)計(jì)并實(shí)現(xiàn)了轉(zhuǎn)轍機(jī)操作平臺中對轉(zhuǎn)轍機(jī)內(nèi)部結(jié)構(gòu)仿真、場景漫游等多個(gè)功能,達(dá)到預(yù)期設(shè)計(jì)目的,滿足教學(xué)實(shí)踐需求。目前,該平臺已在西南交通大學(xué)實(shí)驗(yàn)室投入使用,獲得較好效果。此外,平臺預(yù)留了設(shè)備接口,后期可以添加更多信號設(shè)備,也可以根據(jù)CAD 圖紙自動生成站場,將工程設(shè)計(jì)與3D 場景結(jié)合,實(shí)現(xiàn)具有設(shè)計(jì)、預(yù)覽、故障檢修及培訓(xùn)功能的一體化平臺。

猜你喜歡
轉(zhuǎn)轍機(jī)鼠標(biāo)動畫
做個(gè)動畫給你看
動畫發(fā)展史
一種新型交流轉(zhuǎn)轍機(jī)控制電路在地鐵中的應(yīng)用
S700K-C轉(zhuǎn)轍機(jī)防水解決方案探討
Progress in Neural NLP: Modeling, Learning, and Reasoning
Engineering(2020年3期)2020-09-14 03:42:00
我的動畫夢
文苑(2019年22期)2019-12-07 05:28:56
便攜式轉(zhuǎn)轍機(jī)轉(zhuǎn)換力測試儀
S700K轉(zhuǎn)轍機(jī)保持力測試方法探討
我是動畫迷
45歲的鼠標(biāo)
军事| 大厂| 舟曲县| 额济纳旗| 沾化县| 红原县| 新源县| 孝昌县| 高邑县| 八宿县| 朝阳县| 九龙县| 新竹市| 始兴县| 义马市| 阳高县| 上高县| 梁平县| 英吉沙县| 新昌县| 安阳市| 徐汇区| 天长市| 永春县| 霍山县| 靖江市| 绥棱县| 武夷山市| 栾城县| 拜城县| 洪雅县| 阳谷县| 呼和浩特市| 邳州市| 普兰县| 靖西县| 鹿泉市| 桂林市| 四子王旗| 冷水江市| 杂多县|