美章網(wǎng) 資料文庫 多媒體技術(shù)虛擬現(xiàn)實設(shè)計與實現(xiàn)范文

多媒體技術(shù)虛擬現(xiàn)實設(shè)計與實現(xiàn)范文

本站小編為你精心準備了多媒體技術(shù)虛擬現(xiàn)實設(shè)計與實現(xiàn)參考范文,愿這些范文能點燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。

多媒體技術(shù)虛擬現(xiàn)實設(shè)計與實現(xiàn)

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

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

1問題的提出

1.1面臨的四個問題

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

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

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

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

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

1.2四個模塊的確立

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

VML(VRMLModelsLibrary)構(gòu)建機制的設(shè)計與實現(xiàn)

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

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

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

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

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

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

對于這個問題,有三點是值得注意的:

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

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

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

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

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

文本:T,Caption,InitText

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

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

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

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

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

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

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

這些例程包括:

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

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

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

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

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

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

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

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

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

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

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

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

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

4結(jié)束語

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

主站蜘蛛池模板: 亚洲国产精品久久久久久| 国产成人精品高清在线观看99| 久久久久成人精品无码| 欧美国产激情18| 俺来也俺去啦久久综合网| 老师那里好大又粗h男男| 国产成人无码区免费A∨视频网站 国产成人无码区免费内射一片色欲 | 巨粗挺进女县长| 久久久久久久91精品免费观看| 最近中文字幕大全高清视频| 国产人成精品免费视频| 亚洲欧美精品伊人久久| 精品国产免费一区二区三区香蕉| 国产免费av片在线观看| 四虎在线视频免费观看视频| 国产资源中文字幕| AV无码久久久久不卡网站下载| 成人777777| 丰满的寡妇3在线观看| 欧洲精品免费一区二区三区| 亚洲欧美一区二区三区四区| 狠狠色狠狠色综合日日不卡| 动漫精品专区一区二区三区不卡 | 在线天堂中文www官网| 一个人看的免费观看日本视频www| 无码av天天av天天爽| 久久桃花综合桃花七七网| 杨钰莹欲乱小说| 全部免费a级毛片| 亚洲午夜爱爱香蕉片| 久久99精品久久久久久水蜜桃| 非常h很黄的变身文| 国产欧美日韩精品综合| 3d动漫h在线观看| 日日躁夜夜躁狠狠躁超碰97| 少妇大叫太大太爽受不了| 国产真实伦偷精品| 一级做a爰全过程免费视频毛片 | 成人a在线观看| 中文无码人妻有码人妻中文字幕| 日本换爱交换乱理伦片|