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

?

基于虛擬現(xiàn)實技術(shù)的分光計實驗系統(tǒng)設計與實現(xiàn)

2019-04-03 01:53:22陳昭喜許愛軍
現(xiàn)代計算機 2019年35期
關鍵詞:刻度盤分光計腳本

陳昭喜,許愛軍

(1.廣州中醫(yī)藥大學醫(yī)學信息工程學院,廣州510006;2.廣州鐵路職業(yè)技術(shù)學院創(chuàng)新創(chuàng)業(yè)學院,廣州510430)

0 引言

虛擬現(xiàn)實(Virtual Reality)是一種可以創(chuàng)建和體驗虛擬世界的計算機仿真系統(tǒng),它利用計算機生成模擬環(huán)境,是一種多源信息融合的、交互式的三維動態(tài)視景和實體行為的系統(tǒng)仿真,帶給用戶沉浸式體驗。虛擬仿真實驗是虛擬現(xiàn)實系統(tǒng)的一種,通過對實驗儀器和實驗過程進行仿真,使用者可以利用計算機完成實驗,獲取實驗結(jié)果,熟練技能,掌握相關知識。

分光計的調(diào)整和使用是大學物理的基礎實驗,實驗儀器的結(jié)構(gòu)復雜,儀器的調(diào)整難度較大,學生不易掌握。為滿足學生課前預習、課后復習的實驗需求,本文采用3D Max 2018 作為建模工具,VRay 作為模型渲染軟件,Unity3D 作為場景漫游和交互操作引擎,實現(xiàn)了分光計虛擬實驗系統(tǒng),在實驗教學中取得良好應用效果,為大學實驗教學改革提供了借鑒和案例。

1 分光計虛擬實驗系統(tǒng)總體設計

1.1 需求分析

作為真實物理實驗的有效補充,分光計虛擬實驗系統(tǒng)要求能為用戶提供分光計的三維展示和拆裝功能。具體而言,需要滿足以下需求:

(2)能按照流程自動進行三維演示;

(3)具備簡單交互功能,點擊相應部件能呈現(xiàn)該部件的三維模型和結(jié)構(gòu)講解聲音等;

(4)能提供拆裝功能,滿足用戶自由拆裝的意愿。

1.2 開發(fā)工具選擇

文獻[1-2]詳細闡述了VRML 虛擬實驗系統(tǒng)的設計流程,大體思路是:首先在三維建模軟件中進行物體模型設計;其次用可視化編輯軟件將單個模型進行合成;再次在VRML 文本編輯工具中添加交互節(jié)點;最后對模型文件進行壓縮和優(yōu)化,并進行發(fā)布,具體流程如圖1 所示。

本文采用的三維建模工具是3D Max 2018、渲染工具是VRay(VRay 是由Chaosgroup 和Asgvis 公司出品,中國由曼恒公司負責推廣的一款高質(zhì)量渲染軟件)、模型組合和交互腳本設計工具是Unity3D、預覽瀏覽器是Cortona VRML。

2 虛擬分光計的建模

模型的設計需要遵循通用的設計流程。以下按照分光計粗描模型、分光計零部件建模、模型整合、添加材質(zhì)和貼圖等流程進行建模。

2.1 分光計粗描模型

資料收集是建模的第一步。收集的資料主要是分光計相關圖片,包括前視圖、結(jié)構(gòu)圖、實拍圖等。進行粗描模型前需要用分光計的前視圖作為參考。具體就是在3D Max 前視圖畫一個平面,長和寬與圖片大小一致,把貼圖通過材質(zhì)導入平面。然后用模糊數(shù)據(jù)把分光計模型的樣子大致畫出來,必要時利用放大縮小工具調(diào)整到適宜的大小。這樣能大大降低建模的難度。

2.2 分光計零部件建模

在建模過程中,結(jié)構(gòu)可根據(jù)前視圖來做,細節(jié)部分根據(jù)實拍圖來調(diào)節(jié)。具體模型可以分為分光計上半部分建模、載物臺和刻度盤以及游標盤的建模、分光計下半部分建模三個部分。

質(zhì)譜條件:離子源為電噴霧離子源(ESI),采用正離子檢測方式;毛細管電壓為3.60 kV;離子源溫度為150℃,去溶劑化溫度為500℃;噴霧氣為氮氣,碰撞氣為氬氣;ATV和鹽酸噻氯匹定(內(nèi)標)的錐孔電壓分別為44、30 V,碰撞能分別為22、26 eV;采用多反應離子監(jiān)測(MRM)模式,質(zhì)荷比(m/z)分別為 559.20→440.20(ATV)、264.20→154.05(內(nèi)標)。

分光計上半部分模型大體是對稱的,對左側(cè)部分建模后可以采用鏡像方式對右側(cè)部分建模。建模內(nèi)容包括鏡筒部分、Y 型支架和三角支架。對鏡筒建模時,先在模板畫一條樣條線,然后畫一個圓環(huán)最后進行放樣操作。Y 型支架可以通過圓環(huán)、長方體、圓柱體等基本標準體通過布爾運算組合形成。對于三腳架建模,可以直接構(gòu)建一個圓角長方體,然后采用FFD 命令改變它的形狀來完成。望遠鏡的目鏡結(jié)構(gòu)相對比較復雜,本文將它拆成三部分,然后通過布爾命令組合起來。為了與實物圖更加契合,還應對其一些部分進行倒角處理,使得邊緣更圓潤。其他部分包括螺絲釘?shù)闹谱鞑辉儋樖觥?/p>

載物臺和刻度盤以及游標盤的建模。載物臺建模相對簡單,由幾個圓柱體拼接而成,頂層載物臺本身的圓形紋路可以通過布爾命令切割實現(xiàn)。刻度盤的制作需要用到陣列工具,陣列可以與規(guī)律的復制出多個物體??潭缺P盤一圈360 度,共有720 小格,每一小格對應0.5 度。所以在制作時可以先設計一個長方體,通過陣列旋轉(zhuǎn)360 度,數(shù)量設為720。因為有三種不同長度的指針,中等長度指針數(shù)量設為360,最長的指針設為36。游標盤的制作和刻度盤一樣,用陣列工具做。做完后和刻度盤的對比效果如圖2 所示。

圖2 分光計游標盤與刻度盤對比圖

分光計整個下半部分建模。分光計下半部分都是一些支架,首先用線段描繪它的樣子,然后進行放樣操作就能完成,這里不再重復敘述。

2.3 分光計整體模型的實現(xiàn)

對分光計各零部件建模完成后,就可以把各個部件組合在一起。為使結(jié)構(gòu)更加精確,需要用到對齊工具使各個零件對齊。在對齊過程中可能還需要對部分零件的大小和方位進行調(diào)整,從而優(yōu)化模型。整個過程只需要用到移動、放大縮小、旋轉(zhuǎn)操作。組裝完成后,就可以刪除掉之前的模板,這樣使整個分光計界面更加清晰,不受其他視線干擾,易于操作。

2.4 添加材質(zhì)和貼圖

為使分光計模型更加接近實物,使用VRay 渲染軟件對分光計添加材質(zhì)和貼圖。VRay 是目前業(yè)界最受歡迎的渲染引擎。VRay 渲染器提供了一種特殊的材質(zhì)——VrayMtl。在場景中使用該材質(zhì)可以獲得更精確的物理照明(光線分布),更快的渲染,以及更方便的反射和折射參數(shù)調(diào)整。考慮到分光計顏色相對比較單調(diào),材質(zhì)種類也不多,本文只采用VRay 制造了不銹鋼、鋁箔和清玻璃三種材質(zhì)和幾種不同的顏色,利用VRay渲染可以大大減輕建模工作量。

3 虛擬分光計交互功能的實現(xiàn)

建模是虛擬實驗系統(tǒng)的基礎,但模型本身不能提供交互功能。本文采用Unity3D 作為虛擬現(xiàn)實開發(fā)引擎,將3D 模型導出后傳遞給Unity,Unity 負責將這些模型有機地組合起來,并通過腳本形成交互。

3.1 將模型導入Unity3D

從3D Max 導出模型的基本步驟是:首先在3D Max 將顯示單位和系統(tǒng)單位設為厘米,使之與Unity 的單位一致;其次將3D Max 模型以.fbx 的格式導出;然后將導出的文件存放在Unity 項目里的Assets 文件夾下;最后啟動Unity,在項目視圖中將已經(jīng)創(chuàng)建好的分光計模型拖拽到游戲視圖中。

導入模型后,通常會出現(xiàn)模型散架、模型模糊失真等問題,這需要在Unity3D 中予以修正。

3.2 分光計場景漫游的實現(xiàn)

Unity3D 支持多種編譯腳本,本文用C#腳本對分光計系統(tǒng)進行交互設計。通過編寫C#腳本,用鼠標和鍵盤對分光計各零部件進行操作,不僅對分光計各結(jié)構(gòu)進行移動旋轉(zhuǎn)以及多方位觀察,還標出各結(jié)構(gòu)的名字和功能,并且對分光計的部分原理進行展示。本文采用第一人稱方式對場景進行控制,在Unity3D 中,第一人稱控制方式可以通過編寫腳本利用鼠標來控制人或攝像機的旋轉(zhuǎn)來實現(xiàn)。

添加C#腳本控制攝像機跟隨Cube 移動,達到第一人稱場景漫游的效果。設計思路是:首先在Start 中創(chuàng)建三個變量,初始化相機位置。然后新建一個cameraMove 方法,在里面設置使相機跟隨鼠標旋轉(zhuǎn)然后物體與相機同步旋轉(zhuǎn)同時更新相機位置。最后在Update方法中調(diào)用cameraMove 方法,同時監(jiān)聽“WASD”鍵控制其前后左右移動,“QE”鍵分別控制其上下移動。

3.3 分光計各個部件交互功能的實現(xiàn)

交互的前提是系統(tǒng)能識別分光計各部分的結(jié)構(gòu),從而能夠選中并對其進行相應的操作。為實現(xiàn)這個目標,C#腳本的設計思路是:首先給需要識別的對象添加BoxColider 組件(碰撞組件),并對其碰撞結(jié)構(gòu)進行調(diào)整。然后在C#腳本中創(chuàng)建方法來識別碰撞,同時返回與鼠標碰撞對象的信息。最后再創(chuàng)建一個窗口顯示方法,獲取鼠標按鍵信息后顯示窗口。

以望遠鏡的交互為例闡述交互腳本的設計過程。望遠鏡需要帶動刻度盤一起繞載物臺中心旋轉(zhuǎn),讓物體繞自身XYZ 軸旋轉(zhuǎn)很簡單,但是想讓物體繞另一個物體旋轉(zhuǎn)稍微復雜一點。有兩種處理方法,一是保持A 不變,B 繞A 旋轉(zhuǎn);二是A 繞自身旋轉(zhuǎn)同時帶動B 一起旋轉(zhuǎn)。這里采用第一種方法,先建立一個參考點spot,放在刻度盤的中央,然后寫入代碼使望遠鏡系繞spot 旋轉(zhuǎn)就能達到期望效果。然后把腳本添加到望遠鏡系上面,并且給C#腳本中的spot 變量附上Scene 場景中spot 的Transform 信息。完成后,鼠標點擊望遠鏡,可顯示望遠鏡信息,并可以通過鍵盤左鍵和右鍵控制其旋轉(zhuǎn),實現(xiàn)了交互功能。

3.4 系統(tǒng)打包PC端發(fā)布

通過Unity3D 打包發(fā)布,可以使實驗系統(tǒng)成為獨立文件,從而可以脫離Unity3D 環(huán)境在其他電腦運行和傳播。Unity3D 打包發(fā)布,可以直接在Unity 界面的File 目錄下點擊Build Settings,就可以發(fā)布到PC、iOS、Android 等客戶端。最后成品文件包括一個.exe 文件和一個Data 數(shù)據(jù)文件夾,二者缺一不可,且不可分割。

4 系統(tǒng)測試

對虛擬現(xiàn)實場景打包發(fā)布后,可以對虛擬分光計系統(tǒng)進行測試。測試功能主要分為場景漫游和交互控制兩部分。

4.1 場景漫游

首先進行場景漫游測試,可以通過鍵盤“Q、W、E、A、S、D”控制攝像機移動同時鼠標控制方向,進行場景漫游。測試表明,該操作簡單流暢,能夠快速定位自己所需求的視角。場景漫游時能更加清晰了解分光計的機械結(jié)構(gòu),從而加深對分光計工作原理的理解。圖3是場景漫游獲取的各個角度的圖片。

圖3 分光計漫游場景圖

4.2 交互控制

分光計各零部件的交互控制功能,就是當鼠標移動到對象上時能顯示其名字,點擊零部件后顯示其詳細信息并給予操作提示,同時還可以通過鍵盤對其進行旋轉(zhuǎn)和移動操作。

以望遠鏡為例進行操作展示,系統(tǒng)實現(xiàn)了望遠鏡的旋轉(zhuǎn)、狹縫調(diào)節(jié)器的伸縮與旋轉(zhuǎn)、載物臺的升降與旋轉(zhuǎn),以及各螺釘?shù)男D(zhuǎn)等功能,如圖4 所示。

5 結(jié)語

本文實現(xiàn)了分光計虛擬實驗系統(tǒng),經(jīng)過測試與發(fā)布,系統(tǒng)具有操作簡單、使用方便、逼真度高、跨平臺運行等特點,對學生認識分光計、操作分光計有良好的輔助作用,能大大提高實驗效率。未來將進一步優(yōu)化模型,添加更加復雜的交互功能,完整還原分光計實驗的實驗過程,這也是今后研究工作的重點。

圖4 望遠鏡操作示意圖

猜你喜歡
刻度盤分光計腳本
三種測量三棱鏡折射率方法的討論
物理與工程(2024年3期)2024-01-01 00:00:00
酒駕
逆作鋼管柱樁心快速定位裝置的研制與應用
建筑施工(2022年4期)2022-07-18 11:32:42
安奇奇與小cool 龍(第二回)
煤礦掘進巷道中新型坡度規(guī)的應用
可調(diào)式大容量三相負載箱設計
采用高針機心的手表魅力
鐘表(2018年5期)2018-10-19 03:59:28
數(shù)據(jù)庫系統(tǒng)shell腳本應用
電子測試(2018年14期)2018-09-26 06:04:24
快樂假期
中學生(2017年19期)2017-09-03 10:39:07
利用計算機網(wǎng)絡系統(tǒng)改進教學用分光計裝置
物理通報(2016年9期)2016-09-20 07:35:18
五大连池市| 秦安县| 金川县| 浦江县| 汝州市| 邯郸市| 卢氏县| 博湖县| 平舆县| 台湾省| 武城县| 达日县| 方正县| 大邑县| 临猗县| 长春市| 永吉县| 苏尼特左旗| 怀化市| 潼南县| 寻乌县| 安达市| 苏尼特右旗| 颍上县| 阜新| 旺苍县| 墨江| 南华县| 成武县| 通河县| 中江县| 门头沟区| 湟中县| 黄石市| 雅江县| 陵川县| 钟祥市| 余庆县| 凭祥市| 天门市| 乳山市|