摘 要: 首先對增強現(xiàn)實技術(shù)的發(fā)展背景及理論基礎(chǔ)進行了簡單介紹,然后提出了增強現(xiàn)實技術(shù)在晶體結(jié)構(gòu)教學(xué)上的應(yīng)用。設(shè)計了一套完整的分別用于Web程序和應(yīng)用程序的制作方案。利用計算機、攝像頭和制作的標(biāo)識立方體組成一個電教工具。在真實的場景中對虛擬的晶體結(jié)構(gòu)進行操作,有利于增強教學(xué)的直觀性和交互性,從而提高教學(xué)的效率。最后對設(shè)計進行了測試分析,提出了優(yōu)點與不足。
關(guān)鍵詞: 增強現(xiàn)實;晶體結(jié)構(gòu);電教工具
0 引言
增強現(xiàn)實(Augmented Reality,AR)是一門在虛擬現(xiàn)實技術(shù)的基礎(chǔ)上發(fā)展起來的新技術(shù),也被稱為混合現(xiàn)實。增強現(xiàn)實借助計算機建模技術(shù)、計算機圖形技術(shù)和可視化技術(shù),通過生成真實環(huán)境中不存在的虛擬對象并將其應(yīng)用到AR系統(tǒng)中用于交互的真實場景,虛擬物體和真實場景實時地疊加到同一個畫面或空間,兩種信息相互補充、完善,使用戶的體驗更為真實,具有虛實結(jié)合的特征[1]。它把原來在現(xiàn)實世界的一定時間和空間范圍內(nèi)很難體驗得到的信息,通過科學(xué)技術(shù)模擬仿真后再疊加到現(xiàn)實世界,讓人類感官所感知,從而實現(xiàn)超越現(xiàn)實的感官體驗[2]。就目前來看,已經(jīng)有許多增強現(xiàn)實這方面的實際應(yīng)用,如醫(yī)療、軍事、航空和航海、古跡復(fù)原和數(shù)字文化遺產(chǎn)保護、工業(yè)和維修等領(lǐng)域[3]。
隨著科學(xué)技術(shù)的快速發(fā)展,多媒體技術(shù)廣泛地應(yīng)用于教育領(lǐng)域。這種傳統(tǒng)多媒體技術(shù)在應(yīng)用之初,以其獨特性吸引了學(xué)生的注意力,并且能夠使老師在教學(xué)過程中高效地表達所傳授的知識。但它的缺點是難于表達知識的完整性,只能使學(xué)習(xí)在視覺和聽覺上進行,缺乏互動能力。因此當(dāng)前相關(guān)研究者已經(jīng)將增強現(xiàn)實技術(shù)引入教育領(lǐng)域以更好地解決這個問題,從而使學(xué)生在學(xué)習(xí)過程中容易形成互動,讓學(xué)生更容易理解學(xué)習(xí)內(nèi)容[4]。本文就以增強現(xiàn)實技術(shù)在晶體結(jié)構(gòu)教學(xué)上的應(yīng)用為例進行研究與實現(xiàn)。
1 設(shè)計總體思路
整個設(shè)計結(jié)構(gòu)由計算機(包含程序)、攝像頭、標(biāo)識立方體組成。攝像頭將拍攝到的真實畫面的每一幀傳送到增強現(xiàn)實程序,當(dāng)標(biāo)識立方體進入攝像機拍攝范圍后,F(xiàn)lash AR應(yīng)用框架識別出標(biāo)識的序號,通過序號從參數(shù)文件中提取出模型的信息,同時增強現(xiàn)實開發(fā)工具通過真實畫面進行迭代計算,計算出每個標(biāo)識圖形的三維坐標(biāo)(包含位置和方向)。Flash 3D引擎得到模型信息和標(biāo)識的三維坐標(biāo)后,導(dǎo)入與之對應(yīng)的三維模型文件,根據(jù)世界坐標(biāo)系和攝像機坐標(biāo)系的變換矩陣,渲染出指定位置和角度的虛擬模型(即與標(biāo)識重疊的虛擬模型)。Flash Builder將虛擬模型疊加到真實畫面,并輸出視頻幀。整體設(shè)計結(jié)構(gòu)如圖1所示。
Flash Builder可以將這個增強現(xiàn)實程序打包成一個SWF文件。這個SWF文件可以直接用Flash Player播放器播放使用,即形成了一個單獨的應(yīng)用程序,提供給老師教學(xué)或離線使用。同時可以利用HTML語言將SWF文件嵌入到HTML文件,把這個文件上傳到搭建好的Internet服務(wù)器,即可通過互聯(lián)網(wǎng)在線使用增強現(xiàn)實程序。
2 各部分設(shè)計
2.1 增強現(xiàn)實實現(xiàn)
增強實現(xiàn)系統(tǒng)的核心技術(shù)是注冊跟蹤技術(shù),也是目前制約著增強現(xiàn)實技術(shù)應(yīng)用的最有待解決的技術(shù)阻礙。注冊跟蹤技術(shù)可分為基于跟蹤器的注冊技術(shù)和基于視覺的注冊技術(shù)。本設(shè)計的增強現(xiàn)實程序是基于標(biāo)識物的注冊跟蹤方法實現(xiàn)的,該方法不需要復(fù)雜的硬件設(shè)備,在室內(nèi)的小范圍環(huán)境下一般即可取得符合要求的定位精度,并且可以達到對實時性的要求。通過事先定義好的各種平面標(biāo)識物來標(biāo)記三維坐標(biāo)和各個物體。系統(tǒng)通過模板匹配的方式來找到視頻中的對應(yīng)標(biāo)識物,通過圖像分析處理計算虛擬空間與真實空間的坐標(biāo)轉(zhuǎn)換矩陣。為降低計算量和滿足實時性的需求,一般都采用帶有黑色封閉矩形框和簡單標(biāo)記的正方形標(biāo)識,這樣只需要簡單的邊緣檢測和模板匹配即可達到要求[5]。
2.2 標(biāo)識立方體制作簡介
基于增強現(xiàn)實程序的需要和立方體6個面的展開平面特征,用Photoshop制作了采用帶有黑色封閉矩形框和簡單標(biāo)記的標(biāo)識立方體打印圖片,如圖2所示。為了實現(xiàn)手持操作,圖形設(shè)計有白色邊框。將圖片打印出來折疊粘貼,即可制作成標(biāo)識立方體。
2.3 晶體模型
使用3DS MAX 2012搭建模型,每個晶格的幾何中心處在世界坐標(biāo)的(0,0,0)處。晶格的邊長均設(shè)置為20個單位(單位指3DS MAX默認(rèn)單位)。原子的半徑根據(jù)晶胞原子密度取1.5~3.0個單位??梢愿鶕?jù)需要用長方體連接原子,以突出結(jié)構(gòu)顯示。為展示晶格在三維空間的擴展圖像,使用將晶格在三維XYZ方向重復(fù)1次的方法,得到重復(fù)的晶格晶體模型導(dǎo)出。
2.4 三維模型坐標(biāo)矯正
由于FLARManager生成三維模型的世界坐標(biāo)都是以標(biāo)識圖形平面為水平面的,但是本文所做的標(biāo)識立方體各個面的圖形平面不都是水平面的,這樣會造成旋轉(zhuǎn)立方體時生成三維圖形坐標(biāo)混亂,Z軸永遠(yuǎn)是向外的,不能達到晶體結(jié)構(gòu)隨著標(biāo)識立方體的旋轉(zhuǎn)而旋轉(zhuǎn)的目的。所以要對標(biāo)識立方體每個面生成的三維模型進行坐標(biāo)矯正,就是讓3DS MAX的坐標(biāo)系與PV3D的坐標(biāo)系在X軸上相差90°即可。
2.5 晶格結(jié)構(gòu)切換的實現(xiàn)
為了實現(xiàn)各種晶格結(jié)構(gòu)與晶格三維擴展的切換功能,程序采用直接替代的方法。在晶格切換界面有各種晶格的按鈕,當(dāng)這個按鈕被點擊后,程序會將當(dāng)前晶格DAE文件的路徑更改成切換后晶格DAE文件的路徑,畫面上的圖像也會變成對應(yīng)晶格的圖像。單晶格顯示和晶格擴展顯示的切換也是利用這個原理。
2.6 HTML文件編輯
為了設(shè)計的增強現(xiàn)實程序SWF文件能在瀏覽器上運行,必須把它嵌入HTML文件。為了方便學(xué)生學(xué)習(xí),必須將標(biāo)識立方體的打印圖片放在網(wǎng)上,供學(xué)生下載。
2.7 Internet信息服務(wù)搭建
為了實現(xiàn)Internet信息服務(wù),也就是在網(wǎng)絡(luò)上訪問制作的頁面,利用了Windows系統(tǒng)自帶的Internet信息服務(wù)及IIS管理器。在Windows的啟用或關(guān)閉Windows功能菜單中即可開啟這些功能。然后在IIS管理器按需要新建一個站點,將HTML文件、SWF文件、DAE模型文件、PAT標(biāo)記文件和AR相關(guān)參數(shù)文件上傳到服務(wù)器上。
3 測試
3.1 Web運行測試
對Web程序進行運行測試,發(fā)現(xiàn)程序?qū)τ诰W(wǎng)絡(luò)環(huán)境依賴較高,因為需要適時下載晶體結(jié)構(gòu)模型DAE文件,網(wǎng)絡(luò)擁堵情況下切換模型后會有明顯延時,隔一段時間才能顯示新模型。實驗統(tǒng)計結(jié)果如表1所示。
3.2 Web性能測試
以程序的幀頻作為性能測試的主要依據(jù),電腦配置、模型頂點數(shù)、環(huán)境光強度、環(huán)境中黑框圖形數(shù)量為變量進行控制變量法測試,結(jié)果如表2所示。
3.3 應(yīng)用程序測試
應(yīng)用程序運行測試一切正常,沒有出現(xiàn)異常狀況,應(yīng)用程序性能測試與Web程序性能測試結(jié)果相同。
3.4 測試比較
經(jīng)過以上測試可以得出結(jié)論,Web程序?qū)W(wǎng)絡(luò)環(huán)境依賴高,網(wǎng)速不佳情況下反應(yīng)速度慢,但是使用方式簡單,訪問網(wǎng)頁就可以使用,應(yīng)用程序在運行時更流暢,反應(yīng)速度更快。因為使用的是同一個Flash AR應(yīng)用框架,所以性能測試結(jié)果基本相同。兩個程序模塊的測試的結(jié)果互補,符合兩個用戶群的使用需要。Web程序供學(xué)生使用,學(xué)生在任何地點的任何電腦上,只要能連接互聯(lián)網(wǎng),都可以隨時訪問學(xué)習(xí)。應(yīng)用程序供教師使用,教師將應(yīng)用程序安裝在特定的教學(xué)電腦上,就可以得到高質(zhì)量的晶體結(jié)構(gòu)展示。
4 設(shè)計效果
按照計劃完成增強現(xiàn)實程序,制作完成標(biāo)識立方體,實現(xiàn)晶體結(jié)構(gòu)的增強現(xiàn)實及其擴展晶格的展示,部分設(shè)計完成效果圖如圖3~圖8所示。
圖3~圖8分別展示了晶體結(jié)構(gòu)教學(xué)程序的應(yīng)用程序界面與Web程序界面,同時比較形象地展示了簡單立方晶格圖形與簡單立方、面心立方、體心立方晶體三維擴展圖。由于篇幅的限制,該晶體結(jié)構(gòu)教學(xué)程序中關(guān)于晶體的移動與旋轉(zhuǎn)操作圖以及手持展示圖未給出。
5 結(jié)論
本設(shè)計利用增強現(xiàn)實技術(shù)帶來富有沖擊力的直觀展示,操作方便快捷簡單,只需要一臺普通的電腦、一個攝像頭及打印制作出來的標(biāo)識立方體,就能展示抽象的晶體結(jié)構(gòu),能更好促進教育教學(xué)。Web程序和應(yīng)用程序兩個版本滿足特定人群需要,并互相彌補不足。當(dāng)然本設(shè)計還有一些不足和有待完善的地方,例如需要豐富晶體結(jié)構(gòu)種類,加入更多互動操作,增加音效、動畫、粒子特效,優(yōu)化增強現(xiàn)實程序,提高其識別率和顯示性能,開發(fā)移動端的應(yīng)用程序,使其能夠在移動設(shè)備上更方便地使用該程序等。
參考文獻
[1] 賈立兵,唐棣.水彩畫風(fēng)格實時增強現(xiàn)實技[J].微型機與應(yīng)用,2013,32(14):47-50.
[2] 謝洪波,徐愛國,李保安,等.一種三維頭盔顯示器驅(qū)動電路設(shè)計方案[J].河北工業(yè)大學(xué)學(xué)報,2008,35(7):25-29.
[3] 周大镕.基于增強現(xiàn)實的體驗式教學(xué)演示軟件的設(shè)計與實現(xiàn)[D].桂林:廣西師范大學(xué),2014.
[4] SHELTON B, HEDLEY N. Using augmented reality for teaching earth-sun relationships to Undergraduate Geography Students[C]. Augmented Reality Toolkit, The First IEEE International Workshop,2002.
[5] 康紹鵬.增強現(xiàn)實關(guān)鍵技術(shù)研究[D].沈陽:沈陽航空工業(yè)學(xué)院,2009.