學(xué)習(xí)啦>論文大全>學(xué)科論文>計(jì)算機(jī)論文>

利用虛擬現(xiàn)實(shí)技術(shù)構(gòu)建動(dòng)畫素材開發(fā)環(huán)境的研究論文

時(shí)間: 謝樺657 分享

  虛擬現(xiàn)實(shí)技術(shù)是一種可以創(chuàng)建和體驗(yàn)虛擬世界的計(jì)算機(jī)仿真系統(tǒng)它利用計(jì)算機(jī)生成一種模擬環(huán)境是一種多源信息融合的交互式的三維動(dòng)態(tài)視景和實(shí)體行為的系統(tǒng)仿真使用戶沉浸到該環(huán)境中。以下是學(xué)習(xí)啦小編今天為大家精心準(zhǔn)備的:利用虛擬現(xiàn)實(shí)技術(shù)構(gòu)建動(dòng)畫素材開發(fā)環(huán)境的研究相關(guān)論文。內(nèi)容僅供參考,歡迎閱讀!

  利用虛擬現(xiàn)實(shí)技術(shù)構(gòu)建動(dòng)畫素材開發(fā)環(huán)境的研究全文如下:

  摘要:多媒體技術(shù)與虛擬現(xiàn)實(shí)技術(shù)是當(dāng)今計(jì)算機(jī)發(fā)展的必然趨勢,如果將兩者結(jié)合起來應(yīng)用于教學(xué)領(lǐng)域會(huì)是一種有益的嘗試。本文主要介紹了利用虛擬現(xiàn)實(shí)技術(shù)制作一個(gè)動(dòng)畫開發(fā)環(huán)境的思想和方法,目的是解決制作網(wǎng)絡(luò)教學(xué)軟件時(shí)動(dòng)畫開發(fā)依賴動(dòng)畫工具比較復(fù)雜以及傳輸速度較慢的問題.這個(gè)開發(fā)環(huán)境適用于非計(jì)算機(jī)專業(yè)的教師使用。

  關(guān)鍵字: 多媒體技術(shù) 虛擬現(xiàn)實(shí)(VRML) 動(dòng)態(tài)鏈接庫 計(jì)算機(jī)輔助教育

  0 引言

  多媒體技術(shù)是當(dāng)今計(jì)算機(jī)發(fā)展的必然趨勢。它集計(jì)算機(jī)技術(shù)、音像技術(shù)和通訊技術(shù)為一體,具有良好的集成性。它使信息不僅作用于人的視覺,而且也作用于人的聽覺,從而擴(kuò)大了人對信息的攝入量,使得人機(jī)關(guān)系更加親近。

  虛擬現(xiàn)實(shí)技術(shù)(簡稱VRML)是一種具有真實(shí)感的高級人機(jī)界面,人們能夠通過多種感官渠道與它進(jìn)行實(shí)時(shí)交互。這種技術(shù)的應(yīng)用前景是非常廣泛的,在醫(yī)療、制造業(yè)、娛樂和教育等方面的應(yīng)用也具有很大潛力??梢韵胂螅绻隳軌蜻M(jìn)入到具有沉浸感的,并且有多種感官反饋的虛擬境界中學(xué)習(xí)知識,無疑將使你的學(xué)習(xí)更為有效。

  那么如何來構(gòu)造這種虛擬現(xiàn)實(shí)的境界呢?VRML就是最佳的選擇。什么是VRML,VRML是Virtual Reality Modeling Language(虛擬現(xiàn)實(shí)造型語言)的縮寫。使用VRML,你能設(shè)計(jì)自己的三維虛擬空間、用你想象的任何東西來填充虛擬的世界。這些僅僅受限于你的想象力。VRML最讓人興奮的特點(diǎn),是能夠使你創(chuàng)建動(dòng)態(tài)的世界和感覺豐富的虛擬環(huán)境;動(dòng)畫空間里的物體,使它們運(yùn)動(dòng);在你的空間里播放聲音和影象;允許使用者和你的空間進(jìn)行交互;使用腳本來控制,改進(jìn)你的空間。

  不僅如此,由于VRML文件僅僅是一些數(shù)學(xué)表達(dá)式來描述交互式的3D世界,并且也不需要傳輸大量的圖像文件,接受端在獲得這些表達(dá)式之后,將自行進(jìn)行計(jì)算、加工、作色等處理,然后即顯示成3D圖像。因此,它在網(wǎng)上傳送的信息量將大為減少,這樣就解決了網(wǎng)絡(luò)傳輸速度的瓶頸問題。這樣就能夠使你在Internet上創(chuàng)建動(dòng)態(tài)的世界和感覺豐富的虛擬環(huán)境。

  綜上所述可以看到,如果能夠?qū)⑻摂M現(xiàn)實(shí)語言(即VRML模型)應(yīng)用于計(jì)算機(jī)輔助教學(xué)軟件的開發(fā)中將會(huì)是我們在教學(xué)方法上一次有益的嘗試,但是對非計(jì)算機(jī)人員來說學(xué)習(xí)該語言的學(xué)習(xí)是非常困難的,我們制作這個(gè)動(dòng)畫開發(fā)環(huán)境就是想讓教學(xué)軟件的開發(fā)主體-----任課教師使用方便,只需填入?yún)?shù)便可生成需要的動(dòng)畫了。

  1 問題的提出

  1.1 面臨的四個(gè)問題

  通過研究分析,發(fā)現(xiàn)擺在我們面前的問題主要有四個(gè):

  (1) 如果想使一個(gè)VRML模型適應(yīng)不同的用戶需求,該模型就必須是按用戶要求動(dòng)態(tài)生成的。如根據(jù)用戶輸入的長、寬、高生成相應(yīng)的長方體模型。采用什么辦法?

  (2) 在模型數(shù)量越來越多的情況下,必須具備一種管理模型的機(jī)制,能有效的組織和管理眾多的模型。是利用數(shù)據(jù)庫還是別的什么技術(shù)?

  (3) 為了保持該系統(tǒng)的穩(wěn)定健康的發(fā)展,必須能及時(shí)給系統(tǒng)補(bǔ)充新的模型,并對以往開發(fā)的舊模型進(jìn)行及時(shí)更新。那么網(wǎng)絡(luò)是不是我們最好的答案?

  (4) 對于按用戶要求動(dòng)態(tài)生成的VRML模型,必須提供一種方法將其應(yīng)用于教學(xué)軟件開發(fā)環(huán)境中,如VB、Authorware等。這種方法是什么?

  1.2 四個(gè)模塊的確立

  基于上一小節(jié)的分析,我們將該開發(fā)環(huán)境的設(shè)計(jì)分解為四個(gè)模塊進(jìn)行處理:

  ※VML(VRML Models Library) 構(gòu)建機(jī)制的設(shè)計(jì)與實(shí)現(xiàn)

  ※VRML代碼引擎的設(shè)計(jì)與實(shí)現(xiàn)

  ※VML網(wǎng)站建設(shè)

  ※利用VB或Authorware開發(fā)基于VRML的課件

  首先使用者利用VML將用戶提出的要求(VRML節(jié)點(diǎn)的參數(shù))傳給 VRML代碼引擎,由引擎生成相應(yīng)的VRML代碼,再通過VML將生成的代碼返回給使用者。然后使用者將得到的VRML代碼應(yīng)用于其教學(xué)軟件開發(fā)環(huán)境中。同時(shí),使用者還可以不斷的通過VML網(wǎng)站對VRML引擎進(jìn)行豐富和更新。

  2 VML構(gòu)建機(jī)制的設(shè)計(jì)與實(shí)現(xiàn)

  2.1根據(jù)用戶提出的要求動(dòng)態(tài)生成VRML模型

  對于這個(gè)問題,有三點(diǎn)是值得注意的:

  (1) 用戶提出的要求應(yīng)該是合理的要求,或者說是符合客觀規(guī)律的要求

  因?yàn)轱@然如果用戶要求系統(tǒng)為他生成一個(gè)上底面半徑為3,下底面半徑為4,高為5的圓柱體,系統(tǒng)恐怕永遠(yuǎn)也辦不到。因?yàn)楝F(xiàn)實(shí)中,圓柱體上下底面半徑相同。這就要求我們必須為用戶提供一個(gè)預(yù)定義好的輸入界面。例如對于圓柱體,系統(tǒng)只提供底面半徑和高兩個(gè)輸入接口。

  (2) 動(dòng)態(tài)生成參數(shù)輸入接口

  在研究VRML時(shí),我們發(fā)現(xiàn)VRML本身只是一種描述三維虛擬空間的文件。而實(shí)際的三維模型的繪制工作由相應(yīng)的VRML瀏覽器完成。因而,我們考慮是否可以給出一個(gè)參數(shù)接口描述文件,由系統(tǒng)讀入、分析,然后動(dòng)態(tài)生成參數(shù)輸入接口。通過對VRML的初步學(xué)習(xí),我們發(fā)現(xiàn)一個(gè)VRML模型需要的參數(shù)大體分為三種:數(shù)字、文本、布爾值。針對這三種參數(shù)我們給出了如下的參數(shù)描述定義:

  數(shù)字 :N,Caption,MinValue,MaxValue,InitValue

  文本 :T,Caption,InitText

  布爾值:B,Caption,TrueText,FalseText,InitValue

  其中各定義的意義如下表:

  有了參數(shù)描述文件,我們又編制了相應(yīng)的解釋描述文件并生成接口的程序。

  (3) 對于生成的VRML模型,用戶是想將其獨(dú)立應(yīng)用,還是組合到其他模型中去。 對于這兩種使用方式,最終的VRML代碼是有一些區(qū)別的。因此,必須提供對于該問題的選項(xiàng)以保證生成的代碼具有針對性。在我們的系統(tǒng)中具體的實(shí)現(xiàn)方法是如果用戶想將生成的模型組合到其他模型中去,他只需要將生成的代碼拷貝到剪貼板,然后再復(fù)制到他所在的VRML編輯環(huán)境中去。如果他是用于另一種目的,則系統(tǒng)將生成的代碼自動(dòng)進(jìn)行包裝并保存到用戶指定的 .wrl文件中去。

  2.2 組織與管理大量的VRML模型

  隨著模型(代碼引擎)的不斷開發(fā),其數(shù)量也會(huì)越來越多。在這種情況下,就要求我們設(shè)計(jì)出一種能有效地組織和管理眾多的模型的機(jī)制。我們首先想到用數(shù)據(jù)庫來管理。但經(jīng)分析發(fā)現(xiàn),如果數(shù)據(jù)庫能根據(jù)用戶的要求返回模型,那這種模型必然是在數(shù)據(jù)庫中已經(jīng)存在的靜態(tài)模型。如果考慮到用戶的各種要求,這個(gè)數(shù)據(jù)庫必然會(huì)無限膨脹以致失去其數(shù)據(jù)庫管理所具有的任何優(yōu)點(diǎn)。通過分析決定借鑒當(dāng)前應(yīng)用軟件(例如3D MAX)比較流行的管理機(jī)制——插件。這種機(jī)制就是將一類模型組織為一個(gè)插件(即為VRML代碼引擎)放到系統(tǒng)下。每次啟動(dòng)系統(tǒng),系統(tǒng)會(huì)自動(dòng)將其目錄下的所有插件裝載到系統(tǒng)中來擴(kuò)充自己的功能??梢韵胂蟛捎昧诉@種機(jī)制,肯定會(huì)極大地提高系統(tǒng)的擴(kuò)展性與開放性。我們受到Windows編程中的“回調(diào)函數(shù)”思想的啟發(fā):一般操作系統(tǒng)都是由系統(tǒng)提供函數(shù),由程序來調(diào)用,而回調(diào)函數(shù)則是由程序提供函數(shù),由系統(tǒng)調(diào)用,方向剛好相反。

  這樣,我們的插件(VRML代碼引擎)也被設(shè)計(jì)成能夠提供一些標(biāo)準(zhǔn)的例程(回調(diào)函數(shù))來供系統(tǒng)來調(diào)用。其與系統(tǒng)協(xié)作的機(jī)理如下圖( 圖1 ):

  這些例程包括:

  getLibName 返回該插件所代表節(jié)點(diǎn)庫的名稱

  getNodeNameList 返回該插件所提供的模型列表

  getArgs 返回當(dāng)前選中模型的參數(shù)描述定義

  checkArgs 核對用戶的輸入是否正確

  processArgs 利用代碼引擎生成VRML代碼

  根據(jù)以上機(jī)理,我們編制了系統(tǒng)“諾德發(fā)動(dòng)機(jī)(Node Engine)”;而插件則是制作成DLL(動(dòng)態(tài)鏈接庫)形式。之所以采用DLL這種形式,是因?yàn)槲覀兛梢岳肈LL的輸出例程及其動(dòng)態(tài)調(diào)用機(jī)制模擬回調(diào)函數(shù)。 鑒于Delphi 4 集成開發(fā)環(huán)境是真正的面向應(yīng)用程序設(shè)計(jì)全過程的可視化應(yīng)用程序開發(fā)環(huán)境,其提供的大量實(shí)用工具可以使開發(fā)人員很容易地實(shí)現(xiàn)和完成復(fù)雜的功能。因此我們選擇Delphi 4作為我們的系統(tǒng)及插件的開發(fā)工具。

  最后我們通過實(shí)例驗(yàn)證了上述機(jī)制的可行性及實(shí)用性。另外補(bǔ)充一點(diǎn):由于插件開發(fā)采用了DLL方式,所以只要其提供了符合規(guī)則的例程,至于使用什么開發(fā)工具開發(fā)則是無關(guān)緊要的。因此說,為了在極大程度上得到第三方開發(fā)人員提供的支持,該系統(tǒng)在開放性上做出了有效的努力。

  3 VML網(wǎng)站建設(shè)

  只有不斷變化、更新的事物才最具有生命力。由于我們的系統(tǒng)采用了插件機(jī)制,因此對于模型的更新與補(bǔ)充是相當(dāng)方便的。只需將新的插件替換老的插件即可。問題是新的插件從何而來。最好的途徑當(dāng)然是利用Internet。這就要求我們首先要建立一個(gè)VML網(wǎng)站,其次在系統(tǒng)中提供一個(gè)連到網(wǎng)站上的接口。對于后者,實(shí)現(xiàn)的方法非常簡單,只需在系統(tǒng)中提供一個(gè)連到VML網(wǎng)站的快捷按鈕即可。

  VML網(wǎng)站的建設(shè)有兩點(diǎn)是很重要的。第一應(yīng)使訪問者感受到該網(wǎng)站與其他網(wǎng)站的區(qū)別,即應(yīng)體現(xiàn)出VRML的存在。第二對于眾多的插件,應(yīng)分門別類加以管理,也就要合理安排超級鏈接。在網(wǎng)站的實(shí)現(xiàn)中,我們用Java編制了動(dòng)態(tài)菜單來實(shí)現(xiàn)對插件有效的管理。

  至于如何體現(xiàn)VRML的存在,我們在網(wǎng)站首頁用VRML編寫一個(gè)簡單的三維場景。但是VRML是用VRML瀏覽器播放的,在IE中,三維場景與網(wǎng)頁其他部分會(huì)被VRML瀏覽器分隔開,不利于整體效果。為了解決這個(gè)問題,我們對VRML瀏覽器進(jìn)行研究發(fā)現(xiàn)其描繪三維場景時(shí)使用了Microsoft公司的DirectX技術(shù)。在DirectX中有一個(gè)組件DirectAnimation是專門用來配合DHTML(動(dòng)態(tài)HTML)制作網(wǎng)頁二維和三維動(dòng)畫的。

  因此我們便直接使用該組件構(gòu)造用來模擬VRML的三維場景(如 圖 2)。對于如何在網(wǎng)站上組織管理插件,我們用現(xiàn)今非常流行的Java語言編制了動(dòng)態(tài)菜單來管理。之所以稱之為動(dòng)態(tài)菜單,是因?yàn)椴藛蔚乃胁藛雾?xiàng)均是根據(jù)一個(gè)外部描述文件來動(dòng)態(tài)生成。生成的菜單(如圖3)。

  有了動(dòng)態(tài)菜單的管理機(jī)制,當(dāng)網(wǎng)站中插件有了變化時(shí),維護(hù)人員便可以在最短時(shí)間內(nèi),最有效的對連接插件的超級鏈接進(jìn)行維護(hù)。

  4 結(jié)束語

  該課題是在認(rèn)知心理學(xué)理論,教學(xué)設(shè)計(jì)原理的指導(dǎo)下,在多媒體技術(shù)、VRML語言、網(wǎng)絡(luò)共享交互技術(shù)的基礎(chǔ)上開發(fā)出來的。本軟件的目的就是為了簡化VRML模型制作過程,以便廣大教師,特別是非計(jì)算機(jī)專業(yè)的教師應(yīng)用模型開發(fā)課件。教育是一個(gè)永恒的話題,也是一門永無止境的科學(xué),在眾多教育工作者的共同努力下,它必將會(huì)綻放出更為璀璨絢麗的光芒。

  參考文獻(xiàn)

  1. [美]Andrea L.Ames VRML 資源手冊 電子工業(yè)出版社

  2. [美]Richard C.Leinecker Visual J++ 寶典 電子工業(yè)出版社

  3. 詹里 Delphi 4.0 新起點(diǎn) 機(jī)械工業(yè)出版社

  4. 李元泰 Windows 程序設(shè)計(jì)實(shí)現(xiàn) 電子工業(yè)出版社

375059