胡麗芳 胡自凱
摘要:由于時(shí)間和空間的限制,傳統(tǒng)實(shí)驗(yàn)往往不能滿足全部學(xué)生的需求,為此,設(shè)計(jì)出了一套基于VRML技術(shù)的計(jì)算機(jī)組成原理虛擬實(shí)驗(yàn)系統(tǒng),學(xué)生只要通過網(wǎng)絡(luò)就可以隨時(shí)隨地做實(shí)驗(yàn),有效彌補(bǔ)了傳統(tǒng)實(shí)驗(yàn)的不足。
關(guān)鍵詞:VRML技術(shù); 虛擬實(shí)驗(yàn);計(jì)算機(jī)組成原理
中圖分類號(hào):TP301 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)06-1220-03
The Design of Virtual Experiment System of Computer Organization and Architecture Based on VRML
HU Li-fang1, HU Zi-kai2
(1.Jiaozuo Teachers College of Computer and Information Engineering College, Jiaozuo 454000,China; 2 Puyang City Zi Elementary, Puyang 457000,China)
Abstract: Due to the limitation of time and space, the traditional experiment cant meet all the needs of the students, therefore, designed a set of virtual experiment system of computer organization and architecture based on VRML technology, students can do the experiment anywhere, effectively overcomes the shortcoming of the traditional experiment.
Key words: VRML technology; virtual experiment; computer organization and architecture experiments
在高職院校中,實(shí)驗(yàn)教學(xué)占有非常重要的地位,是提高學(xué)生創(chuàng)新素質(zhì)、動(dòng)手能力的一個(gè)重要手段。目前,由于各種原因,許多學(xué)校的實(shí)驗(yàn)設(shè)備和手段還不能完全滿足要求。與此同時(shí),近年來計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)、多媒體技術(shù)及虛擬現(xiàn)實(shí)技術(shù)的迅速發(fā)展,為虛擬實(shí)驗(yàn)系統(tǒng)的構(gòu)建提供了有效的支撐。
《計(jì)算機(jī)組成原理》是計(jì)算機(jī)專業(yè)重要的基礎(chǔ)課程之一,做實(shí)驗(yàn)又是該課程的一個(gè)重要部分,學(xué)生通過實(shí)驗(yàn)可以深入了解計(jì)算機(jī)是如何進(jìn)行算術(shù)計(jì)算、怎樣存儲(chǔ)信息并且能更好的掌握計(jì)算機(jī)的硬件組成[1]。目前,國(guó)內(nèi)部分院校已開發(fā)出了計(jì)算機(jī)組成原理課程的網(wǎng)絡(luò)課程,但這些網(wǎng)絡(luò)課程大多數(shù)為靜態(tài)的網(wǎng)頁(yè)展示或動(dòng)畫演示,并未開發(fā)出具有3D虛擬場(chǎng)景,交互性較好的計(jì)算機(jī)組成原理虛擬實(shí)驗(yàn)系統(tǒng)[2]。因此,具有三維交互性的計(jì)算機(jī)組成原理虛擬實(shí)驗(yàn)系統(tǒng)的設(shè)計(jì)就顯得非常重要。
1 虛擬實(shí)驗(yàn)系統(tǒng)的分析與設(shè)計(jì)
VRML(Virtual Reality Modeling Language,虛擬現(xiàn)實(shí)建模語(yǔ)言)是一種三維場(chǎng)景描述性語(yǔ)言,利用它能在網(wǎng)頁(yè)上創(chuàng)建具有導(dǎo)航及超鏈接功能的三維虛擬空間。VRML的工作原理可以簡(jiǎn)單描述成:文本描述、遠(yuǎn)程傳輸及本地計(jì)算生成。VRML并不是使用三維坐標(biāo)點(diǎn)描述物體的,而是使用了一種類似于HTML的標(biāo)記文本語(yǔ)言來描述三維場(chǎng)景,因此使用它編寫的文件所占的空間非常小,對(duì)網(wǎng)絡(luò)帶寬的要求不高[3]。利用VRML技術(shù)構(gòu)建虛擬實(shí)驗(yàn)系統(tǒng),能為學(xué)生提供一個(gè)逼真的實(shí)驗(yàn)環(huán)境,具有超強(qiáng)的現(xiàn)實(shí)感,可充分激發(fā)學(xué)生的學(xué)習(xí)興趣。
該系統(tǒng)主要模擬仿真清華大學(xué)科教儀器廠生產(chǎn)的TEC—4計(jì)算機(jī)組成原理實(shí)驗(yàn)儀。使用VRML技術(shù)構(gòu)建三維虛擬實(shí)驗(yàn)環(huán)境,并通過ASP技術(shù)及B/S(Browser/Server 瀏覽器/服務(wù)器)三層結(jié)構(gòu)的設(shè)置,構(gòu)建網(wǎng)頁(yè)結(jié)構(gòu),發(fā)布到網(wǎng)絡(luò)上供學(xué)生使用。系統(tǒng)體系結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)體系結(jié)構(gòu)
2 虛擬實(shí)驗(yàn)系統(tǒng)的實(shí)現(xiàn)
2.1實(shí)驗(yàn)環(huán)境的構(gòu)建
實(shí)驗(yàn)環(huán)境的構(gòu)建主要包括兩個(gè)方面:
1)靜態(tài)環(huán)境:主要指實(shí)驗(yàn)室場(chǎng)景的構(gòu)建。首先使用Vrmlpad建模工具對(duì)一些簡(jiǎn)單的形體(如實(shí)驗(yàn)臺(tái)、地板、墻壁等)進(jìn)行建模,再利用專業(yè)三維建模軟件3DSMax對(duì)導(dǎo)線、芯片、面包板等一些結(jié)構(gòu)復(fù)雜的實(shí)驗(yàn)器材進(jìn)行建模。由于3DSMax對(duì)物體描述的精度比較高,因此使用它建造的一些形體轉(zhuǎn)到Vrmlpad后生成的文件中會(huì)存在大量多余代碼,所以必須進(jìn)行優(yōu)化處理[4]。建模過程如圖2所示:
圖2 建模過程
2)動(dòng)態(tài)環(huán)境:主要是指器材的功能顯示。即模仿真實(shí)實(shí)驗(yàn)的操作效果,例如用鼠標(biāo)單擊開關(guān)按鈕后產(chǎn)生的按下和彈起的動(dòng)態(tài)過程、點(diǎn)擊導(dǎo)線之后出現(xiàn)的自動(dòng)連線效果等。
2.2 交互控制的設(shè)計(jì)
該部分的設(shè)計(jì)是實(shí)現(xiàn)系統(tǒng)功能的關(guān)鍵。本虛擬實(shí)驗(yàn)系統(tǒng)不僅根據(jù)實(shí)驗(yàn)要求提供了面包板、連線等實(shí)驗(yàn)器材,并且還提供了一個(gè)操作標(biāo)記,指導(dǎo)實(shí)驗(yàn)者完成操作。學(xué)生通過鼠標(biāo)將指令直接傳送給虛擬空間,空間接到用戶請(qǐng)求,將消息傳遞給相應(yīng)的腳本程序,腳本程序經(jīng)過一系列的計(jì)算,然后以相應(yīng)的虛擬現(xiàn)實(shí)效果反饋給學(xué)生。
該部分功能的實(shí)現(xiàn)主要依靠各種接觸傳感器節(jié)點(diǎn)(TouchSensor)、VRMLScript編寫的腳本程序以及ROUTE語(yǔ)句[3]。首先在系統(tǒng)中定義一系列的TouchSensor分布在每個(gè)需要進(jìn)行交互操作的虛擬物體上,當(dāng)實(shí)驗(yàn)進(jìn)行到一定步驟時(shí),將下步的傳感器激活,同時(shí)把其他步驟上需要的傳感器全置為無(wú)效,這樣即可實(shí)現(xiàn)讓實(shí)驗(yàn)者根據(jù)實(shí)驗(yàn)內(nèi)容的要求按步進(jìn)行操作。在這個(gè)過程中,使用設(shè)置好的Script(腳本)節(jié)點(diǎn)來控制這些觸發(fā)事件的實(shí)現(xiàn),這些腳本可以將用戶的操作進(jìn)行轉(zhuǎn)化,控制相應(yīng)的對(duì)象,進(jìn)而實(shí)現(xiàn)虛擬交互功能。交互式虛擬實(shí)驗(yàn)事件驅(qū)動(dòng)體系的流程圖如圖3所示[5]
圖3 事件交互體系流程
下面以實(shí)現(xiàn)連線為例:
實(shí)驗(yàn)者按照實(shí)驗(yàn)要求,點(diǎn)擊相應(yīng)的面包板上的插座,這時(shí)系統(tǒng)將會(huì)出現(xiàn)自動(dòng)連線。為了模擬這個(gè)過程,建模時(shí)事先使用Extrusion節(jié)點(diǎn)在相應(yīng)位置建成實(shí)驗(yàn)所需的全部連線,但是開始時(shí)用Switch節(jié)點(diǎn)將它們隱藏起來。隨著實(shí)驗(yàn)過程的進(jìn)展,當(dāng)學(xué)生用鼠標(biāo)單擊指定位置時(shí),在腳本程序的控制下,相應(yīng)位置就會(huì)顯示連線。圖4為連線完成后的效果:
圖4 連線完成效果圖
以下是實(shí)現(xiàn)該功能的部分程序代碼:
1)初始建模時(shí)隱藏導(dǎo)線的設(shè)置(以第一根導(dǎo)線為例)
DEF line_M2_VCC1_switch Switch {
#定義了插座M2和VCC1之間的連線
whichChoice -1 #表示初始時(shí)處于隱藏狀態(tài)
choice [
DEF line_M2_VCC1 Transform {
children[
Transform {
…… #省略了導(dǎo)線線身和插頭的定義
2) 控制導(dǎo)線顯示的腳本程序
DEF change_line0 Script {
eventIn SFBool input
eventOut SFInt32 output
function input (value,time)
{
if (value==1)
output=0;
}"}
……
3) 路由表設(shè)置如下
ROUTE touch_vcc1.isActive TO change_line0.input
ROUTE change_line0.output TO line_M2_VCC1_switch.set_whichChoice
上述代碼表示當(dāng)插座VCC1上的觸發(fā)器被激活時(shí),將發(fā)送一個(gè)消息給控制導(dǎo)線顯示腳本,腳本接到消息并經(jīng)過處理后,再發(fā)送命令給Switch節(jié)點(diǎn),這樣就可以達(dá)到顯示導(dǎo)線的目的了。
3 實(shí)驗(yàn)系統(tǒng)網(wǎng)上發(fā)布
結(jié)合其它網(wǎng)絡(luò)技術(shù),對(duì)構(gòu)建完成的三維虛擬實(shí)驗(yàn)室場(chǎng)景進(jìn)行整合[6],如圖5所示。之后把該虛擬實(shí)驗(yàn)系統(tǒng)傳送到Web服務(wù)器上,學(xué)生只需要登錄就可以隨時(shí)隨地進(jìn)行遠(yuǎn)程實(shí)驗(yàn)。
圖5 實(shí)驗(yàn)場(chǎng)景
4 結(jié)束語(yǔ)
該實(shí)驗(yàn)系統(tǒng)的設(shè)計(jì)突破了傳統(tǒng)實(shí)驗(yàn)方式的時(shí)空限制,使實(shí)驗(yàn)教學(xué)在時(shí)間和空間上得到有效的延伸。虛擬實(shí)驗(yàn)作為傳統(tǒng)實(shí)驗(yàn)的一個(gè)有益的補(bǔ)充,既能節(jié)約大量的實(shí)驗(yàn)設(shè)備經(jīng)費(fèi),也有助于提高實(shí)驗(yàn)教學(xué)的效果。
參考文獻(xiàn):
[1] 王愛英.計(jì)算機(jī)組成與結(jié)構(gòu)[M].3版.北京:清華大學(xué)出版社,2000.
[2] 黃幕雄.高校教學(xué)型虛擬實(shí)驗(yàn)室建設(shè)的現(xiàn)狀與建議[J].電化教育研究,2005(09):77-80.
[3] 胡小強(qiáng).虛擬現(xiàn)實(shí)技術(shù)[M].北京:北京郵電大學(xué)出版社,2005:192-288.
[4] 張?jiān)圃?虛擬現(xiàn)實(shí)技術(shù)中3DS MAX建模的應(yīng)用[J].電腦知識(shí)與技術(shù),2006:189-190.
[5] 李斯萌,楊雪.虛擬實(shí)驗(yàn)系統(tǒng)的自適應(yīng)調(diào)節(jié)機(jī)制研究[J].吉林大學(xué)學(xué)報(bào):信息科學(xué)版,2012,30(4):403-408.
[6] 宋淑彩,周麗莉,趙巍.基于網(wǎng)絡(luò)的計(jì)算機(jī)組成原理虛擬實(shí)驗(yàn)的設(shè)計(jì)與開發(fā)[J].微計(jì)算機(jī)信息,2006,22(5-3):286-288.