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