朱韶平
(湖南財(cái)政經(jīng)濟(jì)學(xué)院 信息管理系, 湖南 長沙 410205)
電子技術(shù)是電子信息工程及其相關(guān)專業(yè)的重要基礎(chǔ)課和專業(yè)必修課,一直是許多高等院校和科研院所考研的主要專業(yè)課程.該課程著重介紹了模擬和數(shù)字電子技術(shù)及其典型電路的分析和設(shè)計(jì),對學(xué)生掌握本科階段所有專業(yè)課程以及課程之間的有機(jī)聯(lián)系、建立完整的學(xué)科知識體系起著重要作用.它是一門原理性和實(shí)踐性很強(qiáng)的課程,其實(shí)驗(yàn)實(shí)踐環(huán)節(jié)極其重要.有效并有趣的實(shí)驗(yàn)操作能使學(xué)生擺脫枯燥的理論學(xué)習(xí),可將抽象的理論學(xué)習(xí)與現(xiàn)實(shí)世界結(jié)合起來,提高學(xué)生的實(shí)踐能力和應(yīng)用能力.傳統(tǒng)的電子技術(shù)實(shí)驗(yàn)實(shí)踐教學(xué)環(huán)節(jié)受時(shí)間和空間的限制,學(xué)生實(shí)驗(yàn)機(jī)會相對較少,而近年來新興的虛擬實(shí)驗(yàn)室可以使學(xué)生實(shí)驗(yàn)不受時(shí)空的限制,學(xué)生能夠隨時(shí)隨地進(jìn)行實(shí)驗(yàn),是一種開放式網(wǎng)絡(luò)化和數(shù)字化的虛擬實(shí)驗(yàn)教學(xué)系統(tǒng),它是對傳統(tǒng)實(shí)驗(yàn)室教學(xué)的有力補(bǔ)充,有著廣闊的應(yīng)用前景.
隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)和虛擬現(xiàn)實(shí)技術(shù)的不斷發(fā)展,虛擬現(xiàn)實(shí)技術(shù)引入到了高校教學(xué)尤其是實(shí)踐實(shí)訓(xùn)教學(xué)中.虛擬實(shí)驗(yàn)室具有低成本、效率高、靈活性等特點(diǎn),其在高校實(shí)踐實(shí)訓(xùn)教學(xué)中的應(yīng)用改變了傳統(tǒng)的實(shí)踐教學(xué)模式,教學(xué)不再受時(shí)空等因素的限制,使得教與學(xué)的方式發(fā)生了根本的改變.目前,絕大多數(shù)的虛擬實(shí)驗(yàn)系統(tǒng)是二維平面的,其真實(shí)感不強(qiáng),在一定程度上存在數(shù)據(jù)通用性差,系統(tǒng)較難兼容,實(shí)驗(yàn)過程中用戶與系統(tǒng)的交互性差等不足.本文充分利用Java新技術(shù)的面向?qū)ο?、分布式、通用性、健壯性、安全性、高效性和可移植性等特點(diǎn),和Web3D新技術(shù)的網(wǎng)絡(luò)性、三維性和交互性的特點(diǎn),構(gòu)建基于Java的Web3D電子技術(shù)虛擬實(shí)驗(yàn)室,它能夠跨應(yīng)用程序、跨平臺和跨網(wǎng)絡(luò)運(yùn)行,解決了系統(tǒng)數(shù)據(jù)通用性差,實(shí)驗(yàn)過程中用戶與系統(tǒng)的交互性差等問題,實(shí)現(xiàn)三維逼真的動畫效果,達(dá)到三維人機(jī)交互的目的,給人身臨其境的感受.
Java是由Sun公司在1995年5月推出的Java程序設(shè)計(jì)語言和Java平臺的總稱.Java語言是簡單、面向?qū)ο?、分布式、健壯、安全與系統(tǒng)無關(guān)、可移植、解釋型、高性能、多線程和動態(tài)的語言.Java平臺是基于Java語言的平臺,它由Java虛擬機(jī)和Java應(yīng)用編程接口(API)構(gòu)成.Java 應(yīng)用編程接口可分為基本部分和擴(kuò)展部分,它為Java應(yīng)用提供了一個(gè)獨(dú)立于操作系統(tǒng)的標(biāo)準(zhǔn)接口.只需在硬件或操作系統(tǒng)平臺上安裝一個(gè)Java平臺,Java應(yīng)用程序就可運(yùn)行.Java平臺現(xiàn)在已經(jīng)嵌入了幾乎所有的操作系統(tǒng).Java程序只編譯一次,就可以在各種系統(tǒng)中運(yùn)行.Java語言的優(yōu)良特性使得Java應(yīng)用具有無比的健壯性和可靠性,減少了應(yīng)用系統(tǒng)的維護(hù)費(fèi)用.Java平臺內(nèi)嵌的API及Java對對象技術(shù)的全面支持能縮短應(yīng)用系統(tǒng)的開發(fā)時(shí)間和降低成本.Java編譯一次,到處可運(yùn)行的特性使得它能夠提供一個(gè)隨處可用的開放性結(jié)構(gòu)和在多平臺之間傳遞信息的低成本方式,具有卓越的通用性、高效性、平臺移植性和安全性.[1]
Web3D技術(shù)是基于Internet和依靠計(jì)算機(jī)軟件技術(shù)來實(shí)現(xiàn)的虛擬現(xiàn)實(shí)技術(shù).它綜合了計(jì)算機(jī)仿真技術(shù)、多媒體技術(shù)、傳感技術(shù)等,是一種能逼真地模擬人在自然環(huán)境中的視覺、聽覺和運(yùn)動等行為的高級人機(jī)交互技術(shù).它能將計(jì)算機(jī)獲得的各種數(shù)字化信息轉(zhuǎn)換為人能感受到的具有各種表現(xiàn)形式的多維信息,是虛擬現(xiàn)實(shí)技術(shù)的實(shí)現(xiàn)形式.它具有沉浸性、構(gòu)想性、多感知性、三維性和交互性等特點(diǎn),是互聯(lián)網(wǎng)展示技術(shù)的核心,廣泛應(yīng)用于遠(yuǎn)程教育、城市規(guī)劃、數(shù)字城市建設(shè)、企業(yè)宣傳、產(chǎn)品營銷及展示、旅游推廣、文博展覽、軍事模擬、房產(chǎn)裝修等.Web3D的實(shí)現(xiàn)技術(shù)主要包括建模技術(shù)、顯示技術(shù)和三維場景中的交互技術(shù)三大部分.其中三維復(fù)雜模型的實(shí)時(shí)建模與動態(tài)顯示是Web3D技術(shù)的基礎(chǔ),它分為基于幾何模型的實(shí)時(shí)建模與動態(tài)顯示和基于圖像的實(shí)時(shí)建模與動態(tài)顯示兩大類.建模采用虛擬現(xiàn)實(shí)建模語言(VRML).VRML定義三維圖形和多媒體集成在一起的文件格式,用來描述基于時(shí)間的三維空間,設(shè)計(jì)支持多個(gè)分布式文件的多種對象和機(jī)制,利用層次性文件的包含關(guān)系創(chuàng)建任意虛擬現(xiàn)實(shí)環(huán)境.VRML定義傳感器節(jié)點(diǎn)類型,決策用戶和虛擬環(huán)境中幾何造型的交互動作、用戶在虛擬環(huán)境中的行為以及時(shí)間推移等.傳感器提供的信息通過由VRML定義的整個(gè)事件體系產(chǎn)生視覺或聽覺效果,用戶通過安裝支持VRML的瀏覽器插件可以使用IE或Natscape訪問虛擬場景[2].顯示技術(shù)是將建立的三維模型轉(zhuǎn)換成人們所見到的圖像,它是用軟件通過計(jì)算機(jī)的運(yùn)算完成的,在客戶端用一個(gè)Java解釋包來解釋.Web3D實(shí)現(xiàn)用戶和場景之間的交互是相當(dāng)豐富的,交互功能的強(qiáng)弱由Web3D軟件本身決定.
電子技術(shù)虛擬實(shí)驗(yàn)室是利用計(jì)算機(jī)仿真技術(shù),在計(jì)算機(jī)上進(jìn)行電路分析、模擬電子技術(shù)和數(shù)字電子技術(shù)等課程的電路分析與設(shè)計(jì)、仿真和調(diào)試等實(shí)驗(yàn).它的本質(zhì)是以虛擬儀器設(shè)備等代替真實(shí)的實(shí)驗(yàn)儀器設(shè)備,以軟件代替硬件.基于Java技術(shù)的電子技術(shù)虛擬實(shí)驗(yàn)室設(shè)計(jì)采用Java技術(shù)和Web3D技術(shù)相結(jié)合,能實(shí)現(xiàn)復(fù)雜的人機(jī)交互功能,模擬真實(shí)的實(shí)驗(yàn)場景和實(shí)驗(yàn)儀器,具有很強(qiáng)的沉浸感和真實(shí)感.
基于Java的電子技術(shù)虛擬實(shí)驗(yàn)室是運(yùn)用Web3D技術(shù)模擬真實(shí)實(shí)驗(yàn)的計(jì)算機(jī)軟件.它采用Java和Web3D技術(shù)在計(jì)算機(jī)上建立虛擬實(shí)驗(yàn)環(huán)境,提供可操作的虛擬實(shí)驗(yàn)儀器,學(xué)生在互聯(lián)網(wǎng)上通過接近真實(shí)的人機(jī)交互界面完成實(shí)驗(yàn).基于Java的電子技術(shù)虛擬實(shí)驗(yàn)室由虛擬實(shí)驗(yàn)?zāi)K、實(shí)驗(yàn)管理模塊和系統(tǒng)管理模塊等主要功能模塊組成[3],其系統(tǒng)功能結(jié)構(gòu)如圖1.
圖1 基于Java的電子技術(shù)虛擬實(shí)驗(yàn)室功能結(jié)構(gòu)圖
虛擬實(shí)驗(yàn)?zāi)K是電子技術(shù)虛擬實(shí)驗(yàn)室的主要功能模塊,具有實(shí)驗(yàn)預(yù)約、軟件下載、實(shí)驗(yàn)操作、實(shí)驗(yàn)報(bào)告和疑難解答等主要功能.實(shí)驗(yàn)管理模塊具有實(shí)驗(yàn)項(xiàng)目管理、虛擬儀器管理和教學(xué)管理等主要功能,是基于Java的電子技術(shù)虛擬實(shí)驗(yàn)室的核心模塊.系統(tǒng)管理模塊具有用戶管理及安全管理等主要功能,為系統(tǒng)提供安全保障.
基于Java的電子技術(shù)虛擬實(shí)驗(yàn)室采用虛擬仿真軟件模擬真實(shí)實(shí)驗(yàn)中所使用的各種實(shí)驗(yàn)設(shè)備及實(shí)驗(yàn)器材,提供逼真的虛擬實(shí)驗(yàn)環(huán)境和視覺、聽覺、觸覺及味覺等各種自然、直觀的實(shí)時(shí)感知交互手段,使學(xué)生完全沉浸在由虛擬實(shí)驗(yàn)室所創(chuàng)建的虛擬實(shí)驗(yàn)環(huán)境中,并獲得身臨其境的感受[4].它營造了一種“自主學(xué)習(xí)”和多樣化及個(gè)性化的實(shí)踐學(xué)習(xí)環(huán)境,實(shí)驗(yàn)內(nèi)容豐富,且更加靈活,學(xué)生通過虛擬實(shí)驗(yàn)室可自主選擇實(shí)驗(yàn)內(nèi)容、設(shè)計(jì)實(shí)驗(yàn)方案、自主完成實(shí)驗(yàn);可根據(jù)不同學(xué)校的具體培養(yǎng)目標(biāo)合理設(shè)置實(shí)驗(yàn)內(nèi)容,既可設(shè)置基礎(chǔ)性和綜合性的實(shí)驗(yàn)內(nèi)容,還可設(shè)置創(chuàng)新性等設(shè)計(jì)型實(shí)驗(yàn)內(nèi)容,為高校實(shí)踐實(shí)訓(xùn)教學(xué)提供了有利條件.所需的硬件投入少,具有明顯的經(jīng)濟(jì)優(yōu)勢;學(xué)生可自行設(shè)計(jì)并完成實(shí)驗(yàn),可鍛煉學(xué)生解決實(shí)際問題的能力;虛擬實(shí)驗(yàn)中幾乎不存在元件的損耗和器械磨損等情況,基本沒有元器件等的損耗問題;實(shí)驗(yàn)與實(shí)際工程實(shí)踐最為接近,可以了解實(shí)際問題的解決過程;大量的范例,可供學(xué)生參考處理,有助于培養(yǎng)學(xué)生的協(xié)作能力和鍛煉學(xué)生的自主學(xué)習(xí)和創(chuàng)新能力;基于Java的電子技術(shù)虛擬實(shí)驗(yàn)室支持網(wǎng)絡(luò)環(huán)境,實(shí)現(xiàn)了實(shí)驗(yàn)室的虛擬化和網(wǎng)絡(luò)化,學(xué)生實(shí)驗(yàn)不受時(shí)空限制,可大大提供實(shí)驗(yàn)室的使用效率和范圍,從而給學(xué)生提供了更多獨(dú)立自主操作、實(shí)踐動手的機(jī)會,實(shí)現(xiàn)真正意義上的全開放式實(shí)驗(yàn)教學(xué).
基于Java的電子技術(shù)虛擬實(shí)驗(yàn)室采用B/S結(jié)構(gòu)[5,6],系統(tǒng)分為數(shù)據(jù)層、業(yè)務(wù)層和應(yīng)用層,以業(yè)務(wù)層為核心,結(jié)合應(yīng)用層、數(shù)據(jù)層形成一個(gè)多層次的應(yīng)用結(jié)構(gòu),系統(tǒng)邏輯結(jié)構(gòu)如圖2.
圖2 基于Java的電子技術(shù)虛擬實(shí)驗(yàn)室系統(tǒng)構(gòu)
采用MVC模式設(shè)計(jì)用戶界面,實(shí)現(xiàn)了邏輯層和表示層的分離.在客戶端,開發(fā)了用戶實(shí)驗(yàn)頁面、實(shí)驗(yàn)設(shè)備組件和虛擬場景.服務(wù)器端,通過控制器聯(lián)接視圖層和業(yè)務(wù)邏輯層并使其匹配,完成虛擬場景響應(yīng)及接受并響應(yīng)用戶請求.用戶通過瀏覽器進(jìn)入系統(tǒng),經(jīng)過身份認(rèn)證后方可對系統(tǒng)進(jìn)行操作,客戶端的信息由瀏覽器以超文本的形式向服務(wù)器提出請求,服務(wù)器解釋JSP代碼和JavaBean組件,并執(zhí)行Servlet代碼,通過JDBC和數(shù)據(jù)庫聯(lián)接,實(shí)現(xiàn)數(shù)據(jù)的讀寫操作.數(shù)據(jù)層完成在數(shù)據(jù)庫中設(shè)計(jì)數(shù)據(jù)庫表和合理存儲數(shù)據(jù)等功能.用戶通過Applet小程序?yàn)g覽虛擬場景和完成場景漫游,通過Applet和Servlet建立通信,完成虛擬實(shí)驗(yàn)操作.
基于Java的電子技術(shù)虛擬實(shí)驗(yàn)室選用具有很強(qiáng)三維描述功能的Web3D技術(shù)從形狀、顏色和紋理來對場景實(shí)物進(jìn)行建模[7],并在VRML編輯環(huán)境下進(jìn)行優(yōu)化,保證了模型的逼真,由Java3D來調(diào)用模型,大大提高了系統(tǒng)的開發(fā)效率.Java3D可提供用來導(dǎo)入一些常用3D圖形文件的接口,通過這些接口將3D圖形文件轉(zhuǎn)化為Java3D可識別的數(shù)據(jù)結(jié)構(gòu),實(shí)現(xiàn)在程序中可以顯示復(fù)雜的幾何形體.在主向場景中安裝特定的Behavior對象,在Behavior對象中定義鍵盤響應(yīng),控制世界坐標(biāo).由Java3D提供對鼠標(biāo)輸入進(jìn)行交互的KeyNavigatorBehavior類,通過該類響應(yīng)鍵盤的輸入來控制觀察者的移動.將各類Behavior對象加入到虛擬場景中,虛擬場景通過Applet嵌入到網(wǎng)頁中,實(shí)現(xiàn)場景漫游功能.
基于Java的電子技術(shù)虛擬實(shí)驗(yàn)室設(shè)計(jì)采用Java技術(shù)和Web3D技術(shù)相結(jié)合,運(yùn)用MVC的設(shè)計(jì)模式構(gòu)建系統(tǒng),減少了系統(tǒng)開發(fā)的工作量,大大提高了虛擬實(shí)驗(yàn)室組件的開發(fā)效率.采用B/S結(jié)構(gòu)分層設(shè)計(jì)體系,很好地實(shí)現(xiàn)了系統(tǒng)的數(shù)據(jù)、邏輯與應(yīng)用的分離,使系統(tǒng)層次分明、架構(gòu)清晰,具有良好的可擴(kuò)展性.利用Java的平臺獨(dú)立性,增強(qiáng)了系統(tǒng)的通用性、可移植性和高效性,優(yōu)化了數(shù)據(jù)的共享機(jī)制,增強(qiáng)了數(shù)據(jù)的安全性.應(yīng)用Web3D的網(wǎng)絡(luò)性、三維性和交互性的特點(diǎn)對場景實(shí)物建模,渲染三維逼真的虛擬實(shí)驗(yàn)場景,實(shí)現(xiàn)三維動畫效果,達(dá)到人機(jī)交互的目的,并給人身臨其境的感受.基于Java的電子技術(shù)虛擬實(shí)驗(yàn)室很好地解決了絕大多數(shù)虛擬實(shí)驗(yàn)室存在的數(shù)據(jù)通用性、系統(tǒng)兼容性和交互性差、沉浸感和真實(shí)感不強(qiáng)等問題.它為大學(xué)實(shí)驗(yàn)實(shí)訓(xùn)教學(xué)提供了一種全新的教學(xué)手段,打破了傳統(tǒng)實(shí)踐實(shí)訓(xùn)教學(xué)受時(shí)空等條件的限制,具有開放性高、真實(shí)感強(qiáng)、交互性好和實(shí)踐性強(qiáng)等優(yōu)點(diǎn),有助于解決大學(xué)實(shí)踐實(shí)訓(xùn)教學(xué)中不可視、不可摸、不可入、危險(xiǎn)性場所實(shí)驗(yàn)等問題和實(shí)驗(yàn)實(shí)訓(xùn)設(shè)備落后及不足等實(shí)踐條件差的困難,在高校實(shí)踐實(shí)訓(xùn)教學(xué)中具有廣闊的應(yīng)用前景.
〔1〕邱進(jìn)冬.基于Web的虛擬現(xiàn)實(shí)的開發(fā)與應(yīng)用[J].計(jì)算機(jī)應(yīng)用研究,2003(3):92-94.
〔2〕朱韶平.基于Web ActiveX數(shù)據(jù)控件的網(wǎng)絡(luò)虛擬實(shí)驗(yàn)室構(gòu)建 [J].計(jì)算機(jī)技術(shù)與自動化,2010(12):104-106.
〔3〕朱杰杰.基于VRML的虛擬網(wǎng)絡(luò)教學(xué)研究與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用,2002,22(8):97-98.
〔4〕李仁發(fā),周祖德.虛擬實(shí)驗(yàn)室網(wǎng)絡(luò)體系結(jié)構(gòu)研究[J].系統(tǒng)仿真學(xué)報(bào),2002,14(33):59-62.
〔5〕吳訪升,潘志庚,陳田,等.家具 3D 虛擬展示與定制分布式原型系統(tǒng)[J].計(jì)算機(jī)應(yīng)用,2003(3):78-81.
〔6〕吳明贊,陳曉寧,等.基于 LabVIEW 的電機(jī)虛擬實(shí)驗(yàn)室平臺設(shè)計(jì)[J].電氣電子教學(xué)學(xué)報(bào),2008,30(6):70-71.
〔7〕張剛.構(gòu)建網(wǎng)絡(luò)虛擬實(shí)驗(yàn)室技術(shù)研究[J].實(shí)驗(yàn)室研究與探索,2008,27(3):55-58.