版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 TOC o 1-3 h z u HYPERLINK l _Toc137313477 前言 PAGEREF _Toc137313477 h 2 HYPERLINK l _Toc137313478 第一章研究背景和意義 PAGEREF _Toc137313478 h 3 HYPERLINK l _Toc137313479 1.1關(guān)于虛擬實驗室 PAGEREF _Toc137313479 h 3 HYPERLINK l _Toc137313480 虛擬實驗出現(xiàn)的背景 PAGEREF _Toc137313480 h 3 HYPERLINK l _Toc137313481 虛擬實驗室的構(gòu)成 PAGER
2、EF _Toc137313481 h 5 HYPERLINK l _Toc137313482 虛擬實驗室關(guān)鍵技術(shù) PAGEREF _Toc137313482 h 6 HYPERLINK l _Toc137313483 1.2 開發(fā)微機原理虛擬實驗平臺的意義 PAGEREF _Toc137313483 h 7 HYPERLINK l _Toc137313484 第二章8255并行接口實驗介紹 PAGEREF _Toc137313484 h 8 HYPERLINK l _Toc137313485 2.1 8255小鍵盤實驗 PAGEREF _Toc137313485 h 8 HYPERLINK l
3、 _Toc137313486 2.2 8255開關(guān)狀態(tài)實驗 PAGEREF _Toc137313486 h 8 HYPERLINK l _Toc137313487 第三章 開發(fā)工具與開發(fā)環(huán)境 PAGEREF _Toc137313487 h 8 HYPERLINK l _Toc137313488 3.1 VRML介紹 PAGEREF _Toc137313488 h 8 HYPERLINK l _Toc137313489 3.1.1 VRML語言發(fā)展史 PAGEREF _Toc137313489 h 9 HYPERLINK l _Toc137313490 3.1.2 VRML的工作原理 PAGER
4、EF _Toc137313490 h 10 HYPERLINK l _Toc137313491 3.1.3 VRML的應用 PAGEREF _Toc137313491 h 11 HYPERLINK l _Toc137313492 3.1.4 VRML語法結(jié)構(gòu)簡介 PAGEREF _Toc137313492 h 12 HYPERLINK l _Toc137313493 3.2 VRMLPad簡介 PAGEREF _Toc137313493 h 16 HYPERLINK l _Toc137313494 3.3 Cortona VRML Client簡介 PAGEREF _Toc137313494
5、h 19 HYPERLINK l _Toc137313495 第四章 詳細設計 PAGEREF _Toc137313495 h 20 HYPERLINK l _Toc137313496 4.1設計思想 PAGEREF _Toc137313496 h 20 HYPERLINK l _Toc137313497 4.2 模塊設計 PAGEREF _Toc137313497 h 22 HYPERLINK l _Toc137313498 4.2.1 外觀設計 PAGEREF _Toc137313498 h 22 HYPERLINK l _Toc137313499 4.2.2 按鈕功能實現(xiàn) PAGEREF
6、 _Toc137313499 h 23 HYPERLINK l _Toc137313500 4.2.2 連線功能實現(xiàn) PAGEREF _Toc137313500 h 26 HYPERLINK l _Toc137313501 4.3 整體設計 PAGEREF _Toc137313501 h 29 HYPERLINK l _Toc137313502 4.3.1 8255小鍵盤實驗仿真 PAGEREF _Toc137313502 h 30 HYPERLINK l _Toc137313503 4.3.2 8255 開關(guān)狀態(tài)實驗仿真 PAGEREF _Toc137313503 h 30 HYPERLIN
7、K l _Toc137313504 第五章 設計總結(jié) PAGEREF _Toc137313504 h 30 HYPERLINK l _Toc137313505 參考文獻 PAGEREF _Toc137313505 h 30 HYPERLINK l _Toc137313506 致謝 PAGEREF _Toc137313506 h 30前言虛擬現(xiàn)實(VR-Virtual Reality)是發(fā)展到一定水平上的計算機技術(shù)與思維科學相結(jié)合的產(chǎn)物,它的出現(xiàn)為人類認識世界開辟了一條新途徑。虛擬現(xiàn)實的最大特點是:用戶可以用自然的方式與虛擬環(huán)境進行交互操作,改變了過去人類除了親身經(jīng)歷,就只能間接了解環(huán)境的模式,
8、從而有效的擴展了自己的認知手段和領(lǐng)域。另外,虛擬現(xiàn)實不僅僅是一個演示媒體,而且還是一個設計工具,它以視覺形式產(chǎn)生一個仿真的多維信息空間,為我們創(chuàng)建和體驗虛擬世界提供了有利的支持。虛擬現(xiàn)實技術(shù)可以廣泛應用于各個領(lǐng)域。這些領(lǐng)域包括仿真建模、計算機輔助設計與制造、可視化計算、遙控機器人、計算機藝術(shù)、先期技術(shù)與概念演示、教育與培訓、數(shù)據(jù)和模型可視化、娛樂和藝術(shù)、設計與規(guī)劃及遠程操作等。雖然虛擬現(xiàn)實技術(shù)使用戶接觸到的只是一個虛擬的環(huán)境,但這個虛擬環(huán)境所體現(xiàn)出來的各項特征和現(xiàn)實環(huán)境的各項特征基本上是一致的,這樣,即使用戶并沒有進入到真實的場景中,他也能身臨其境地感受所模擬的現(xiàn)實場景。正是由于虛擬現(xiàn)實技術(shù)所
9、特有的虛擬及仿真特性,使得人們在需要進行一些高成本、高難度、高危險的實驗時,能夠采用虛擬現(xiàn)實技術(shù)來進行虛擬仿真,這樣無疑能夠降低實驗的難度和成本,大大提高人們實踐活動的效率。虛擬實驗室正是虛擬現(xiàn)實技術(shù)在教育及科研領(lǐng)域的一項重要應用,以Internet為傳播途徑的網(wǎng)絡虛擬試驗室實現(xiàn)了對傳統(tǒng)實驗室的有力補充,是對傳統(tǒng)實驗室的時間上拓展和空間上的延伸。網(wǎng)絡虛擬實驗是指用戶在遠程通過Internet訪問特定網(wǎng)站,在一定的虛擬環(huán)境下(即用虛擬設備替代實際設備,用仿真實驗替代真實實驗),按一定步驟完成實驗及相關(guān)參數(shù)選擇和設定,最終獲得實驗結(jié)果。實驗結(jié)果包括通過虛擬儀器或虛擬對象體現(xiàn)出來的實驗過程,各個過程
10、變量歷史曲線和歷史數(shù)據(jù)等。而網(wǎng)絡虛擬實驗室則是提供網(wǎng)絡虛擬實驗的場所。本文介紹了當前進行虛擬現(xiàn)實應用開發(fā)所要用到的關(guān)鍵技術(shù),對其進行比較,并且著重介紹了使用VRML(虛擬現(xiàn)實建模語言)來開發(fā)微機原理實驗8255并行接口實驗的虛擬實驗平臺的全過程。意義關(guān)于虛擬實驗室網(wǎng)絡虛擬實驗可以為學生提供一些在現(xiàn)實中無法體驗的情景,可以幫助學生就一些需要進行實驗而缺少實驗條件和實驗環(huán)境的研究性學習內(nèi)容提供幫助。網(wǎng)絡虛擬實驗是在Web中創(chuàng)建出一個可視化的三維環(huán)境,其中每一個可視化的三維物體代表一種實驗對象。通過鼠標的點擊以及拖曳操作,用戶可以進行虛擬的實驗。網(wǎng)絡虛擬實驗室實現(xiàn)的基礎是多媒體計算機技術(shù)、網(wǎng)絡技術(shù)與
11、儀器技術(shù)的結(jié)合。虛擬儀器技術(shù)與認知模擬方法的結(jié)合也賦予虛擬實驗室的智能化特征,無論是學生還是教師,都可以自由地、無顧慮地隨時進入虛擬實驗室操作儀器,進行各種實驗。不但為實驗類課程的教學改革及遠程教育提供了條件和技術(shù)支持,還可以隨時為學生提供更多、更新、更好的儀器。通過網(wǎng)絡虛擬實驗室,能夠通過計算機在網(wǎng)絡中模擬一些實驗現(xiàn)象。它不僅僅能夠提高遠程教育的教學效果,更加重要的是對一些缺乏實驗條件的學生,通過網(wǎng)絡同樣能夠“身臨其境”的觀察實驗現(xiàn)象,甚至和異地的學生合作進行實驗。虛擬實驗出現(xiàn)的背景人類社會發(fā)展的歷程其實也就是人類向未知世界進行探索的過程,在這個探索過程中,不斷實踐是最直接,也是最有效率的手
12、段。當人們在實踐中遇到一些之前從來沒有遇到過的問題,或者要驗證某種新的理論時,通過做實驗來獲得答案無疑是最為直觀的選擇。通常人們會針對某個具體問題來設計對應的實驗,這些實驗能夠很好地體現(xiàn)出問題的關(guān)鍵點,人們通過對實驗過程,實驗現(xiàn)象及實驗結(jié)果的分析來得出問題的大致解決方案或者是理論的實踐結(jié)果。實驗實際上就是把實際問題進行模型化,精簡化的一種手段。不管是哪個學科,在哪個時代,實驗總是解決問題,創(chuàng)新理論的重要依據(jù),正是由于人類不斷地進行探索,不斷地進行各種實驗,才發(fā)展到今天的現(xiàn)代化社會。到了現(xiàn)代,隨著社會科學越來越快的發(fā)展,人們所要面對的各種問題也越來越復雜,難度也越來越大,通過傳統(tǒng)的模型實驗來解決
13、問題的方法已經(jīng)很難滿足要求,甚至是根本不能解決問題,如一些大規(guī)模,高難度的問題研究對象,采用傳統(tǒng)的模型實驗根本體現(xiàn)不出問題的實質(zhì),或者難于進行直接實驗模擬。像在工程結(jié)構(gòu)分析中有時需要進行建筑物及構(gòu)筑物抗地震能力的分析,橋梁受到汽車高速碰撞的檢驗分析等。又如在高速荷載作用下,結(jié)構(gòu)反應很快,人們在模擬實驗中只能觀察到最終結(jié)果,而不能觀察試驗的全過程。這些問題都是不能直接通過實驗來分析,或者難以進行實驗觀測的事例。在當今社會各個學科領(lǐng)域中,這些問題還不是最重要的,類似的問題以及更重要的問題還有很多很多,如航空航天、原子反應堆等,這些都是屬于造價昂貴、建設周期長、危險性大、難以實現(xiàn)實際系統(tǒng)實驗的領(lǐng)域。
14、面對這些復雜的技術(shù)問題時,如果仍然采用傳統(tǒng)的實驗方法來研究,顯然不能達到解決問題的目的,長此以往,積累的問題越來越多,勢必影響到科學技術(shù)發(fā)展的整體進程,進而影響到整個社會的發(fā)展,所以必須要找到一種全新的技術(shù)手段來進行問題研究。好在20世紀中期出現(xiàn)的計算機技術(shù)發(fā)展越來越快,其硬件體系、軟件體系以及計算機網(wǎng)絡系統(tǒng)日益完善,計算機的應用領(lǐng)域也深入到各個學科中,計算機高精度,高速度的數(shù)據(jù)處理能力為人們解決了很多棘手的問題。特別是在虛擬仿真領(lǐng)域,依托當今較為完備的計算機軟硬件體系,人們可以通過計算機虛擬仿真來完成一些高難度的實驗,研究一個已經(jīng)存在,或者正在研究設計中的系統(tǒng)。在進行計算機虛擬仿真時,首先人
15、們需要把研究對象的各項關(guān)鍵參數(shù)輸入計算機中,運用專門的虛擬仿真軟件系統(tǒng)在計算機內(nèi)建立起真實系統(tǒng)的計算機仿真數(shù)學模型,然后利用模型代替真實系統(tǒng)在計算機上進行實驗和研究。由于采用了虛擬的計算機模型來替代現(xiàn)實系統(tǒng),而不涉及對真實系統(tǒng)的操作修改,所以虛擬仿真實驗系統(tǒng)具有經(jīng)濟、可靠、實用、安全、靈活和可以多次重復使用的特點,現(xiàn)在已經(jīng)成為對各種復雜系統(tǒng)(工程的、非工程的)進行分析、設計、實驗、評估的重要手段,而且隨著計算機科學的迅速發(fā)展,虛擬實驗體系的技術(shù)手段、應用范圍也越來越廣闊。由于虛擬實驗系統(tǒng)不需要采用真實的實驗儀器,能夠節(jié)約大量的實驗成本,因此現(xiàn)在除了那些高科技領(lǐng)域采用虛擬實驗系統(tǒng)外,普通學科領(lǐng)域
16、也開始采用虛擬實驗系統(tǒng)來將其各種實驗進行虛擬化,這樣既能節(jié)約投資,又能方便管理。但是最開始的虛擬實驗體系都是單機版的,許多科研單位、學校等都建立起專門的實驗機房作為虛擬實驗室。要進行虛擬實驗只能在安裝了虛擬實驗系統(tǒng)的PC上進行,必須進到專門建立的實驗機房里去上機,這無疑在時間、空間上對實驗者制造了障礙。特別是在學校,像一些較為基礎的實驗,需要做這些實驗的學生人數(shù)較多,機房配備的PC數(shù)量很難完全滿足全部學生的上機要求,這個問題更是突出。因此必須解決好這個限制虛擬實驗發(fā)展的問題。隨著Web技術(shù)的發(fā)展,人們開始考慮利用Internet全球互通的優(yōu)勢來解除虛擬實驗室在時間、空間上對實驗者的種種限制。具
17、體的做法就是建立網(wǎng)絡虛擬實驗室,通過在網(wǎng)絡上建立起專門的網(wǎng)站,將虛擬實驗系統(tǒng)搬到網(wǎng)站上去,這樣實驗者只需要使用一臺連接了網(wǎng)絡的電腦,就能連到虛擬實驗網(wǎng)站進行各種實驗了。這也是我們這次設計開發(fā)所要研究的對象。虛擬實驗室的構(gòu)成網(wǎng)絡為虛擬實驗室的實現(xiàn)提供了一種基礎平臺,基于WEB的瀏覽器/服務器(B/S)計算模式也是實現(xiàn)網(wǎng)上虛擬實驗室的一種基本模式(如圖1.1所示)。服務器數(shù)據(jù)庫虛擬設備客戶終端1網(wǎng)絡客戶終端2客戶終端n圖1.1 虛擬實驗室的組成虛擬實驗室主要有以下幾個部分組成:服務器:用于處理大量模擬操作數(shù)據(jù)。數(shù)據(jù)庫:用于存儲模擬資料初始條件和邊界條件以及實驗結(jié)果。虛擬設備:具有計算機接口,能夠進
18、行實驗仿真的虛擬實驗設備??蛻艚K端:安裝實驗處理客戶端軟件(或者支持Java、VRML等腳本的瀏覽器插件)的聯(lián)網(wǎng)PC機,用于數(shù)據(jù)處理、分析、存儲并使之可視化。服務器端通過軟件技術(shù)仿真各種實驗環(huán)境,接收來自客戶端的實驗操作請求,根據(jù)客戶端對虛擬實驗設備不同的實驗參數(shù)設置,調(diào)整儀器的狀態(tài),模擬產(chǎn)生實驗的現(xiàn)象,輸出對應的實驗數(shù)據(jù)或?qū)嶒灛F(xiàn)象到客戶端。學習者在客戶端進行實驗操作,其中實驗過程中的數(shù)據(jù)和實驗結(jié)果數(shù)據(jù)通過網(wǎng)絡在客戶端顯示出來,也可以放置于服務器端進行保存,對于一些需要保密數(shù)據(jù)也可以在單獨在客戶端存放。在實驗過程中,如果是多人合作實驗,還可以附加一套網(wǎng)絡通信系統(tǒng),如BBS等,以保證多人在合作實
19、驗過程保持同步,服務器端的后臺數(shù)據(jù)庫提供了可以共享的實驗數(shù)據(jù)和實驗方法。虛擬實驗室關(guān)鍵技術(shù)基于網(wǎng)絡的虛擬實驗室的設計除了實驗內(nèi)容和結(jié)構(gòu)設計以外,關(guān)鍵技術(shù)主要是軟件工程方面的技術(shù),如JAVA技術(shù)、ActiveX技術(shù)、VRML技術(shù)和QuickTime VR技術(shù)等。下面就虛擬實驗室實現(xiàn)的有關(guān)技術(shù)要求作一概括介紹。(1)數(shù)據(jù)資源的共享。虛擬實驗室涉及大量數(shù)據(jù)信息,為了能更好地管理數(shù)據(jù),提高數(shù)據(jù)資源的共享能力,應實現(xiàn)實驗教程的多媒體呈現(xiàn)形式;建立實驗數(shù)據(jù)信息庫,用以存儲實驗測量數(shù)據(jù)、用戶個人數(shù)據(jù)和實驗報告等信息;建立智能檢索系統(tǒng),以便實現(xiàn)檢索并進入某個具體實驗,搜索用戶信息等功能。(2)建立共享軟件庫。
20、如虛擬測量儀器、數(shù)據(jù)處理等程序的遠程共享、隊列問題等。(3)支持用戶與教師間以及用戶與用戶間的交互??赏ㄟ^WEB頁面、BBS、個人目錄等手段實現(xiàn)。(4)可靠的安全機制。安全性是所有合作環(huán)境和共享資源建立的基礎。主要技術(shù)有用戶的鑒別注冊和權(quán)限驗證技術(shù),郵件、個人數(shù)據(jù)的加密和數(shù)字簽名技術(shù)等。(5)協(xié)同虛擬環(huán)境實現(xiàn)技術(shù)。即基于網(wǎng)絡環(huán)境下的多個用戶遠程共同研討同一個問題的實現(xiàn)技術(shù)。這是一個難點,必須解決一致性、協(xié)作性、擴展性、交互性、實時性等問題。(6)面向?qū)ο缶幊谭椒ǖ膶崿F(xiàn)。利用面向?qū)ο蟮姆椒ǎY(jié)合構(gòu)筑虛擬實驗室中所涉及到的信息,抽象為以下各類:用戶類:封裝對實驗室用戶的各種權(quán)限設置以及對用戶數(shù)據(jù)庫
21、的各種操作控制。用戶數(shù)據(jù)類:封裝用戶之間交流信息的各屬性以及信息的分類、轉(zhuǎn)儲、轉(zhuǎn)發(fā)、排序等管理操作。虛擬儀器類:封裝VI(虛擬儀器)在網(wǎng)絡上的地址、儀器狀態(tài)、對儀器進行的操作控制、對儀器進行操作控制的權(quán)限等??刂茀?shù)類:封裝如硬件中斷號、I/O地址內(nèi)存基址、各種端口地址等參數(shù)以及運行參數(shù)的設置、讀寫性能檢查、總線標準、性能結(jié)構(gòu)描述等。測試數(shù)據(jù)類:封裝對各種測試數(shù)據(jù)進行存儲、操作、用戶定制等操作,并可形成報表、測試數(shù)據(jù)的顯示等功能。結(jié)果數(shù)據(jù)類:封裝對應的VI和測試數(shù)據(jù)以及用戶信息等屬性,以及對分析結(jié)果進行數(shù)據(jù)管理操作。1.2 開發(fā)微機原理虛擬實驗平臺的意義隨著計算機科學的迅速發(fā)展和技術(shù)的普及,其
22、應用范圍已涉及到當今社會的各行各業(yè),幾乎是無孔不入。在這種情形下,非計算機專業(yè)的技術(shù)人員對微型計算機的工作原理有個基本的了解也成為了必要,因此很多高校非計算機專業(yè)也開始為其學生開設有關(guān)微型計算機原理及應用的課程。如我校的微機原理及應用課程即專門面向非計算機專業(yè)學生開設。學習微機原理及應用課程及其他電子類課程必定離不開上機實驗操作,由于學校非計算機專業(yè)學生人數(shù)眾多,計算機學院本專業(yè)的學生也不在少數(shù),這就要求專業(yè)實驗室實驗設備數(shù)目和質(zhì)量要能滿足需要。而事實上存在這樣一個問題,就是微機原理及應用課程上機操作所需要的儀器設備價格昂貴,而且如果操作不當,極易損壞,一旦損壞的話維修起來既費錢又費時間。我校
23、實驗室目前的現(xiàn)狀就是設備數(shù)目少,能用的設備數(shù)目更少,而需要上機的學生數(shù)量眾多,實驗室很難滿足大量學生實驗的需求,這就在一定程度上影響了學生學習該課程的學習進度和學習質(zhì)量。因此當務之急就是要找到一個好的解決方案。當前網(wǎng)絡技術(shù)已經(jīng)十分成熟,而虛擬現(xiàn)實技術(shù)也在各個領(lǐng)域得到應用,并體現(xiàn)出許多以往舊技術(shù)沒有的新特點。所以現(xiàn)在很多高校和科研單位開始結(jié)合網(wǎng)絡技術(shù)和虛擬現(xiàn)實技術(shù)來開發(fā)網(wǎng)絡虛擬實驗室。這是一種很好的技術(shù)方案,首先,它能夠解決實驗室設備數(shù)量不足的缺陷,只要網(wǎng)站服務器性能過硬,網(wǎng)絡狀態(tài)良好,便能滿足成千上萬的學生同時實驗;其次,它能解決設備易損壞的問題,由于學生操作的是用虛擬現(xiàn)實技術(shù)開發(fā)出的虛擬設備
24、,不存在損壞設備的情況,這樣還可以讓學生更加自主地放手操作;再次,它大大提高了學生實驗時間、空間上的便利,學生無論何時,無論何地,只要能連接網(wǎng)絡,即可通過電腦連接到虛擬實驗平臺進行實驗;最后,它還能為實驗室設備更新升級提供便利,可以隨時用新的虛擬設備替換虛擬實驗室的舊的虛擬設備;由于不需要真正的設備,虛擬實驗室唯一的成本就是網(wǎng)站建設和虛擬設備開發(fā)的成本,這和建立一個真實的實驗機房相比,無疑能夠節(jié)省大量的資金。隨著學校教學體系的不斷完善,將來也許還會建立起更多學科的虛擬網(wǎng)絡實驗室,如醫(yī)學、機械、化工等學科。因此,我們進行微機原理虛擬網(wǎng)絡實驗平臺的開發(fā)是一項很有意義的工作,不僅為計算機學院解決了微
25、機原理實驗的問題,同時也為我校虛擬實驗系統(tǒng)的開發(fā)邁開了第一步。8255并行接口實驗介紹 2.1 8255小鍵盤實驗2.2 8255開關(guān)狀態(tài)實驗第三章 開發(fā)工具與開發(fā)環(huán)境我們在開發(fā)微機原理虛擬實驗平臺的過程中,采用的開發(fā)語言是VRML虛擬現(xiàn)實建模語言,開發(fā)工具是VRMLPad2.1,指定的瀏覽器插件是Cortona VRML Client。 3.1 VRML介紹熟悉WWW的人們都知道,受HTML語言的局限性,VRML之前的網(wǎng)頁只能是簡單的平面結(jié)構(gòu),就算Java語言能夠為WWW增色不少,但也僅僅停留在平面設計階段,而且實現(xiàn)環(huán)境與參與者的動態(tài)交互是非常煩瑣的。于是,VRML就應運而生了。第一代Web
26、是以HTML為核心的二維瀏覽技術(shù),第二代Web是以VRML為核心的三維瀏覽技術(shù)。第二代Web把VRML與HTML、Java、媒體信息流等技術(shù)有機地結(jié)合起來,形成一種新的三維超媒體Web。VRML被稱為繼HTML之后的第二代Web語言,它本身是一種建模語言,也就是說,它是用來描述三維物體及其行為的,可以構(gòu)建虛擬境界(Virtural World), 可以集成文本、圖像、音響、MPEG影像等多種媒體類型,還可以內(nèi)嵌用Java、ECMAScript等語言編寫的程序代碼。VRML的基本目標是建立因特網(wǎng)上的交互式三維多媒體,基本特征包括分布式、三維、交互性、多媒體集成、境界逼真性等。 VRML語言發(fā)展史
27、VRML(Virtual Reality Modeling Language)虛擬現(xiàn)實建模語言,是由非營利的VRML聯(lián)盟制定的三維網(wǎng)絡應用標準。VRML聯(lián)盟在1994年推出了VRML1.0版本,制定了網(wǎng)絡上描述三維圖形的格式標準。由于VRML 1.0規(guī)格只定義了靜態(tài)的對象展示、材質(zhì)、光源以 及網(wǎng)絡連結(jié)功能,缺少互動的處理,VAG于1996年初著手制定新一代的VRML規(guī)格,并于網(wǎng)絡上公開征求VRML 2.0的建議書。在1997年,VRML1.0重新地編寫為VRML2.0,加入了許多交互的功能。VRML2.0在1998年真是通過ISO組織審議成為三維網(wǎng)絡的國際標準并命名為VRML97。VRML97
28、相當于二維網(wǎng)絡中的HTML標準。許多大公司都開始支持VRML97,例如SGI的Cosmo軟件部門推出Cosmo Player瀏覽器插件和Cosmo World可視化場景編輯器,微軟也在IE 5中捆綁PLATINUM WorldView瀏覽器插件,大多數(shù)的3D軟件如AutoCAD、3DSMAX、Maya也開始提供VRML97場景導入導出的支持。然而VRML97并沒有一統(tǒng)三維網(wǎng)絡的天下。此后又不斷地有大量的例如3DML、Cult3D、Viewpoint、Shockwave3D這樣的新的三維網(wǎng)絡格式出現(xiàn)。這些新軟件提供了更出色的視覺效果和更小的文件體積,以及相對完整和便捷的創(chuàng)作工具。而這時,SGI放
29、棄了Cosmo軟件部門,PLATINUM收購了Cosmo軟件部門,后來CA公司收購了PLATINUM。CA現(xiàn)在基本上放棄了PLATINUM和Cosmo軟件的開發(fā)工作,也沒有在推出新的VRML軟件。PLATINUM Worldview作為一個老舊的軟件,也沒有再整和在微軟的IE 6中。VRML給人的印象就一直停留在它1998年的影響上,VRML似乎在人們的視野中逐漸消失,很多人甚至以為VRML已經(jīng)消亡。1999年底,VRML的又一種編碼方案X3D草案發(fā)布。X3D整合正在發(fā)展的XML、JAVA、流技術(shù)等先進技術(shù),包括了更強大、更高效的3D計算能力、渲染質(zhì)量和傳輸速度。以及對數(shù)據(jù)流強有力的控制,多種
30、多樣的交互形式。2000年6月世界web3D協(xié)會發(fā)布了VRML2000國際標準(草案),2000年9月又發(fā)布了VRML2000國際標準(草案修訂版)。 2002年7月23日,web3d聯(lián)盟日前發(fā)布了可擴展3D(X3D)標準草案并且配套推出了軟件開發(fā)工具供人們下載和對這個標準提出意見。這項技術(shù)是虛擬現(xiàn)實建模語言(VRML)的后續(xù)產(chǎn)品,是用XML語言表述的。X3D基于許多重要廠商的支持,可以與MPEG-4兼容,同時也與VRML 97及其之前的標準兼容。它把VRML的功能封裝到一個輕型的、可擴展的核心之中,開發(fā)者可以根據(jù)自己的需求,擴展其功能。X3D標準的發(fā)布,為Web3D圖形的發(fā)展提供了廣闊的前景
31、。 VRML的工作原理VRML是一種用在Internet和Web超鏈上的,多用戶交互的,獨立于計算機平臺的,網(wǎng)絡虛擬現(xiàn)實建模語言。虛擬世界的顯示、交互及網(wǎng)絡互連都可以用VRML來描述。 VRML的設計是從在WEB上欣賞實時3D圖象開始的。VRML瀏覽器既是插件,又是幫助應用程序,還是獨立運行的應用程序,它是傳統(tǒng)的虛擬現(xiàn)實中同樣也使用的實時3D著色引擎。這使得VRML應用從三維建模和動畫應用中分離出來,在三維建模和動畫應用中可以預先對前方場景進行著色,但是沒有選擇方向的自由。VRML提供了6+1度的自由,用戶可以沿著三個方向移動,也可以沿著三個方向旋轉(zhuǎn),同時還可以建立與其它3D空間的超鏈接。因此
32、VRML是超空間的。 VRML定義了一種把3D圖形和多媒體集成在一起的文件格式。從語法角度看,VRML文件是顯式地定義和組織起來的3D多媒體對象集合;從語義角度看,VRML文件描述的是基于時間的交互式3D多媒體信息的抽象功能行為。VRML文件描述的基于時間的3D空間稱為虛擬境界(Virtual World),簡稱境界,所包含的圖形對象和聽覺對象可通過多種機制動態(tài)修改。 VRML文件可以包含對其他標準格式文件的引用。可以把JPEG、PNG和MPEG文件用于對象紋理映射,把WAV和MIDI文件用于在境界中播放的聲音。另外,還可以引用包含Java或ECMAScript代碼的文件,從而實現(xiàn)對象的編程行
33、為。所有這些都是由其他標準提供的,之所以在VRML中選用它們,是因為它們在Internet上的廣泛應用。VRML 97規(guī)范描述了它們在VRML中的用法。 VRML使用場景圖(Scene Graph)數(shù)據(jù)結(jié)構(gòu)來建立3D實境,這種數(shù)據(jù)結(jié)構(gòu)是以SGI開發(fā)的Open Inventor3D工具包為基礎的一種數(shù)據(jù)格式。VRML的場景圖是一種代表所有3D世界靜態(tài)特征的節(jié)點等級:幾何關(guān)系、質(zhì)材、紋理、幾何轉(zhuǎn)換、光線、視點以及嵌套結(jié)構(gòu)。幾乎所有生產(chǎn)廠商,無論是CAD、建模、動畫、VR,還是VRML,他們的結(jié)構(gòu)核心都有場景圖。 境界中的對象及其屬性用節(jié)點(Node)描述,節(jié)點按照一定規(guī)則構(gòu)成場景圖(Scene G
34、raph),也就是說,場景圖是境界的內(nèi)部表示。場景圖中的第一類節(jié)點用于從視覺和聽覺角度表現(xiàn)對象,它們按照層次體系組織起來,反映了境界的空間結(jié)構(gòu)。另一類節(jié)點參與事件產(chǎn)生和路由機制,形成路由圖(Route Graph),確定境界隨時間的推移如何動態(tài)變化。 VRML文件的解釋、執(zhí)行和呈現(xiàn)通過瀏覽器實現(xiàn),這與利用瀏覽器顯示HTML文件的機制完全相同。瀏覽器把場景圖中的形態(tài)和聲音呈現(xiàn)給用戶,這種視聽覺呈現(xiàn)即所謂的虛擬世界(境界)。用戶通過瀏覽器獲得的視聽覺效果如同從某個特定方位體驗到的,境界中的這種位置和朝向稱為取景器(Viewer)。 VRML的訪問方式是基于客戶/服務器模式的。其中服務器提供VRML
35、文件及支持資源(圖像、視頻、聲音等),客戶端通過網(wǎng)絡下載希望訪問的文件,并通過本地平臺上的VRML瀏覽器交互式地訪問該文件描述的虛擬境界。由于瀏覽器是本地平臺提供的,從而實現(xiàn)了平臺無關(guān)性。下圖描述了VRML的工作方式。VRML是一個開發(fā)標準,為了加強協(xié)作,避免技術(shù)重復和市場沖突,而鼓勵其他技術(shù)引用VRML或成為VRML的一部分。與VRML關(guān)系密切的三項技術(shù)是Java3D、MPEG-4和Chrome。其中,Java3D和VRML都把3D Web作為關(guān)鍵應用對象,前者的優(yōu)勢在于程序設計,后者的優(yōu)勢在于場景構(gòu)造,二者在可編程性3D Web應用方面密切合作。MPEG-4面向基于內(nèi)容的交互式視訊應用,可
36、以為VRML提供流技術(shù)、壓縮和音響同步技術(shù),而MPEG-4用VRML來描述3D內(nèi)容。在2D頁面集成方面,可以探索VRML和Microsoft的Chrome協(xié)作的可能性。3.1.3 VRML的應用VRML在電子商務、教育、工程技術(shù)、建筑、娛樂、藝術(shù)等領(lǐng)域的廣泛應用,將會促使它迅速發(fā)展,并成為構(gòu)建網(wǎng)絡虛擬現(xiàn)實應用系統(tǒng)的基礎。虛擬現(xiàn)實作為一種全新的人機接口技術(shù),必須研究用戶和計算機之間的協(xié)調(diào)關(guān)系問題,這樣一個問題只有通過大量的使用才能逐步解決,VRML以因特網(wǎng)作為應用平臺,最有希望成為構(gòu)筑虛擬現(xiàn)實應用的基本構(gòu)架。 國內(nèi)還開發(fā)過一些基于VRML97的應用系統(tǒng),如浙江公眾信息產(chǎn)業(yè)有限公司的3Dworld
37、。 VRML將創(chuàng)造一種融多媒體、三維圖形、網(wǎng)絡通訊、虛擬現(xiàn)實為一體的新型媒體,兼具先進性和普及性,是關(guān)心三維圖形、多媒體、新一代網(wǎng)頁開發(fā)和虛擬現(xiàn)實技術(shù)的人士應密切注意的。 3.1.4 VRML語法結(jié)構(gòu)簡介VRML語言風格類似于面向?qū)ο缶幊陶Z言。在面向?qū)ο缶幊陶Z言中,程序都是由一系列“對象”組成的,而在VRML語言中,一個完整的程序是由一系列的“節(jié)點”(nodes)組成的。正如每個“對象”或者“類”都有一組方法和變量一樣,VRML中的“節(jié)點”也是由一組能夠規(guī)定該節(jié)點屬性的值構(gòu)成,每個“節(jié)點”都是由四個特性值構(gòu)成的,它們分別是:1、節(jié)點種類如 立方體、球體、錐體等2、節(jié)點參數(shù)稱為“域”(Field
38、s),規(guī)定節(jié)點形態(tài)各項參數(shù)3、節(jié)點名稱識別某個節(jié)點的唯一名稱,可以缺省4、子節(jié)點從屬于主節(jié)點的一系列節(jié)點 VRML中節(jié)點可以分為三類:形狀節(jié)點(Shape)指明幾何特性,如立方體、球體、圓錐體及ASCII字符節(jié)點屬性節(jié)點(Property)影響節(jié)點的外在表現(xiàn),如 外觀、位置、翻轉(zhuǎn)度、光照效果等組節(jié)點(Group)集合其它節(jié)點,以整體形式呈現(xiàn) VRML中的域規(guī)定節(jié)點形態(tài)各項參數(shù),分為exposedField(暴露域)和field(非暴露域),其中暴露域允許外部操作對它的值進行修改,而非暴露域則不允許。按照域的結(jié)構(gòu)類型,又分為單值域(SF.)和多值域(MF.)兩大類, VRML共定義了11個單值域
39、和9個多值域 VRML語句結(jié)構(gòu):第一行文字是:#VRML V2.0 utf8這是VRML文件的標志,所有2.0版本的VRML文件都以這行文字打頭,VRML97是由VRML2.0版修訂而成的,符合VRML97規(guī)范的VRML文件也以這行文字打頭。其中“#”表示這是一個注釋。而utf8表示此文件采用的是utf8編碼方案,這在標準中有詳細說明。 先加入一個Group節(jié)點(組節(jié)點): Group #這是一個多值節(jié)點組節(jié)點的花括號之內(nèi)的所有內(nèi)容視為一個整體,利用組節(jié)點可以把虛擬場景組織成條理清晰的樹形分支結(jié)構(gòu)。下面定義組節(jié)點的children域(孩子域): children #這是一個多值節(jié)點在child
40、ren后的方括號內(nèi)定義Group節(jié)點的所有孩子對象,第一個孩子是一個Shape節(jié)點(形態(tài)節(jié)點),它描述一個幾何形狀及其顏色等特征: Shape #這是一個單值節(jié)點在Shape 節(jié)點內(nèi)定義一個幾何體Box(方盒節(jié)點): geometry Box #這是一個單值節(jié)點注意我們沒有為Box定義任何域,這意味著它的尺寸和坐標位置等特性取缺省值(單位立方體)。隨后補齊各右括號: 這是一個最簡單的VRML文件,呈現(xiàn)出來的將是一個白色的正方體,下面是完整的文件: #VRML V2.0 utf8 Group #組節(jié)點children #子節(jié)點列表 Shape #子節(jié)點中的形狀節(jié)點 geometry Box #幾
41、何域,定義一個立方體 圖3.1.1 圖3.1.2VRML程序的基本格式大體上在這個簡單程序中體現(xiàn)出來了,如果要想生成更為復雜多樣的物體,就必須要用到另外一些高級的節(jié)點或域。如下例,加入了translation域(控制位移量)、rotation 域(控制節(jié)點翻轉(zhuǎn)方式)Appearance節(jié)點(控制外觀)、diffuseColor(定義反射色調(diào))域和size(定義立方體尺寸)域。呈現(xiàn)出來的將是一個外觀為紅色,尺寸為2,中心位置處于坐標(3 ,0 ,0)處的正方體,如圖3.1.2。#VRML V2.0 utf8Transform #類似于Group節(jié)點,但能夠增加平移、旋轉(zhuǎn)和縮放變換的相關(guān)域tran
42、slation 3 0 0 平移向右3個單位 rotation 0 1 1 1.57 #以原點與點(0 1 1)連線為軸轉(zhuǎn)1.57弧度children Shape appearance Appearance material Material diffuseColor 1 0 0紅色 geometry Box size 2 2 2 #尺寸為2個單位 另外,VRML中基本形狀還有球形sphere、圓錐cone兩種。同一個VRML程序中允許存在多個Transform節(jié)點,我們可以為不同的節(jié)點定義不同的形狀、外觀、尺寸以及位移坐標,這些都是根據(jù)程序的需要來定義,這樣我就能夠使用不同形狀的幾何體組成一
43、定外觀的物體。格式如下:Transform #節(jié)點一ChildrenTransform #節(jié)點二ChildrenTransform #節(jié)點三Children 在VRML程序中,有時候會要求有交互的功能,這就要求用到觸發(fā)器節(jié)點(TouchSensor),這個節(jié)點附和在某個實體節(jié)點上,作為其子節(jié)點,當鼠標指針移動到該實體節(jié)點上時,便會出現(xiàn)一個手掌形觸摸提示標志。使用方法即在要添加觸發(fā)器的節(jié)點的children節(jié)點中加上一行TouchSensor即可。一般情況下不同的觸發(fā)點將觸發(fā)不同的事件,這就要為觸發(fā)器取名,使用DEF定義即可,使用方法如下,這樣就為圖3.1中的正方體附加了一個觸發(fā)器,名為touc
44、h。TransformChildrenDEF touch TouchSensorShape #子節(jié)點中的形狀節(jié)點 geometry Box #幾何域,定義一個立方體 在VRML程序中,普通的線段也是一類幾何節(jié)點,定義為IndexedLineSet,一條線由若干個索引點連接而成,這些索引點屬于一個point域,這個域中包含了一系列的三維坐標點,編號從0開始遞增。而連接這些點還有一定的順序關(guān)系,這個順序關(guān)系由coordIndex域定義,編號從任意一個坐標點開始。示例如下:Transform children Shape geometry IndexedLineSetcoord Coordinate
45、 point 3 4 0-2 4 0-2 -3 02 -4 0coordIndex 0,1,2,3,0這樣就定義了一條連接了四個坐標點的封閉連線,如圖3.3。圖3.1.3 在VRML2.0中新引入的功能就是交互,即能控制動作的發(fā)生,這就要用到一個新的節(jié)點,這個節(jié)點被命名為Script,所有對事件動作進行控制的代碼都放在這個節(jié)點中,寫腳本的語言可以是java、javascript、vrmlscript,其中javascript和vrmlscript腳本可以直接放在script節(jié)點中,而java寫的腳本代碼必須以class文件的形式引入VRML文件。這些腳本語言的用法和特性在這里就不多介紹了。 V
46、RML中動作的產(chǎn)生與控制除必須依賴腳本代碼外,還必須使用路由機制,即ROUTE,這個機制實際上就是用來引導事件進行方向的。比如最簡單也是最常用的觸發(fā)事件,當用戶點擊某個包含了觸發(fā)器的實體節(jié)點后,按照設計要求,將觸發(fā)script節(jié)點中的某個函數(shù),這個函數(shù)負責產(chǎn)生某個動作,實現(xiàn)對某個實體節(jié)點的操作,如改變節(jié)點位置、顏色、尺寸等。這樣事件發(fā)生的方向即:被觸發(fā)的節(jié)點腳本節(jié)點要操作的對象,示例如下:#VRML V2.0 utf8Transform children DEF tou TouchSensor#為正方體定義一個觸發(fā)器 Shape appearance Appearance material D
47、EF box Material diffuseColor 1 0 0 #將其材質(zhì)節(jié)點命名#為boxgeometry Box DEF script Script #定義腳本節(jié)點,命名為scripteventInSFBool touch #定義一個布爾型入事件,對應touch函數(shù)eventOut SFColor setcolor #定義一個單值顏色型出事件field SFColor newcolor 0 1 0#定義一個單值顏色域,綠色 url javascript: #腳本段,使用javascript語言 function touch() #觸發(fā)響應函數(shù),把newcolor域賦給出事件setco
48、lor setcolor=newcolor; ROUTE tou.isActiveTO script.touch #觸發(fā)器的觸發(fā)事件路由到script的touch入事件,從而觸發(fā)touch函數(shù) ROUTE script.setcolor TO box.diffuseColor#script節(jié)點的setcolor出事件路由到box的顏色域,將其修改這個例子的功能就是定義一個紅色的正方體,點擊它后,其顏色就改變?yōu)榫G色。以上介紹的就是VRML的一些基本的語法結(jié)構(gòu),也是在本次設計中用到最多的語法結(jié)構(gòu),限于篇幅,在這里只做一個大致的介紹。3.2 VRMLPad簡介談到VRML開發(fā),不得不提的開發(fā)工具就是
49、VRMLPad了,這個工具是由Web3D 公司 ParallelGraphics開發(fā)的,是目前為止用得最多,也是比較好用的VRML開發(fā)工具。其界面如圖3.3所示:圖3.2.1由于VRMLPad界面簡潔易用,查錯及提示功能強大,一直是VRML開發(fā)者的首選開發(fā)工具。VRMLPad界面左邊是文件的場景樹、路徑圖,以及本地資源文件列表,右邊部分則是代碼編輯區(qū),最右邊是節(jié)點縮略圖預覽區(qū),提供單個節(jié)點或組的預覽功能。下面就VRMLPad的一些特性進行簡單介紹。a、智能自動完成在編輯 VRML 文本時能夠根據(jù)上下文關(guān)系及其在場景圖中的位置給出一個包含合適的 VRML 標識文本的列表以供選擇。這些 VRML
50、標識文本關(guān)鍵字關(guān)鍵字、PROTO 原型定義名稱、節(jié)點名稱、域的名稱、域類型、SFNode 節(jié)點和 MFNode 節(jié)點的子域、標準 VRML 腳本對象及其屬性和方法的名稱。 b、動態(tài)錯誤檢測VrmlPad 可以提示用戶語法、值類型的錯誤或警告。提供域值是否在適當范圍中??梢孕r炇欠裼兄貜偷墓?jié)點定義,是否有不匹配的域名或路由。 c、語法強調(diào)顯示支持可定制的 VRML 語法強調(diào)顯示(包括關(guān)鍵詞、域和節(jié)點的類型)。d、多文檔同時編輯在同一個 VrmlPad 中同時打開多個文件以便進行文件之間的復制、剪切、粘貼的操作, 或方便的查找替換文本。同一個文件也可以使用兩個窗口來瀏覽同一文件的不同部分。根據(jù)當前
51、打開的文件能夠很容易的找到與之相關(guān)的文件(例如 Inlines、Anchor、EXTERNPROTOs)并進行編輯。e、自動化操作與自定義腳本操作VrmlPad 允許開發(fā)者通過外部應用程序界面(API)使用 C、C+、Visual Basic、Borland Delphi 這樣的語言來操控 Vrmlpad。另外高級用戶還可以通過建立來插件、VBScript、JavaScript 宏命令來在 VrmlPad 環(huán)境中執(zhí)行自定義的任務。f、整合腳本調(diào)試器可以使用此整合的腳本調(diào)試器在內(nèi)嵌的 vrmlscript 腳本中,或在用 Cortona 控件插入VRML的網(wǎng)頁中查找并修復。這個調(diào)試器有這些控制腳
52、本的執(zhí)行的功能:可以暫停腳本的執(zhí)行,運行至指定行,設置斷點,一步步的運行腳本。監(jiān)視腳本的數(shù)據(jù)狀態(tài):當前調(diào)用的堆棧;相關(guān)的前后代碼中變量,數(shù)組,對象;計算包含這些數(shù)據(jù)的表達式。在調(diào)試階段修改變量,數(shù)組,或?qū)ο蟮闹?。在調(diào)試階段添加并測試新的腳本代碼。使用 Quick Watch window(快速監(jiān)視窗口)檢驗或修改變化的數(shù)據(jù)。使用CodeTips(代碼上的彈出提示)快速監(jiān)視腳本中的變量值。 g.預覽使用系統(tǒng)里安裝的 VRML 瀏覽器預覽場景??梢宰詣訖z測系統(tǒng)中安裝的 VRML 瀏覽器,也可以指定在其中某個特定的瀏覽器中預覽場景??梢詥为氼A覽選定的節(jié)點或組。h.節(jié)點縮略圖在文本編輯區(qū)旁邊同步顯示節(jié)
53、點的縮略圖。i.發(fā)布組織并優(yōu)化所有的相關(guān)文件,對場景可以采用 Gzip 壓縮格式以優(yōu)化網(wǎng)絡下載的速度。把所有資源打包并上傳到服務器上或作為郵件附件發(fā)送出去。3.3 Cortona VRML Client簡介Cortona VRML Client是一款VRML 瀏覽器,也是由Web3D 公司 ParallelGraphics 發(fā)布的,其控制面板如下圖所示,由一個豎直的工具條和一個水平的工具條組成。如果電腦上沒有安裝VRML瀏覽器,將不能打開VRML文件,當試圖打開一個VRML文件時,系統(tǒng)會提示需要下載VRML瀏覽器插件,下載安裝的便是Cortona VRML Client或者其他種類的VRML瀏
54、覽器。我們只有借助了VRML瀏覽器才能夠瀏覽.WRL文件,與VRML場景進行交互,以及進行虛擬實驗。其控制按鈕為 : walk, fly, study, plan, pan, turn, roll; goto, align, view, restore,fit圖3.3.1各個按鈕功能分別是:walk:即象我們平時走路一樣,它考慮重力的影響,也就是說我們的替身必須腳底下有可以支撐他的實物(這里指的是虛擬的實物),默認觀察方式為plan。fly: 飛行,它不考慮重力的影響,即我們可以任意的前進、后退、上升、下降,默認觀察方式為planstudy:結(jié)合plan,pan,turn,roll等方式可以全
55、方位的觀察虛擬物體,默認觀察方式為turn。plan:控制自己的替身前進、后退、側(cè)前進,側(cè)后退。結(jié)合不同的navigation有不同的效果。pan:控制自己的替身上升、下降、左移,右移。該選項不改變視角。turn:當navigation為walk時,瀏覽器會先把替身著陸,然后以替身為中心全方位改變視角;當navigation為fly時,以替身為中心全方位改變視角;當navigation為study時,不改變視角,而是以所觀察的物體的體中心為中心全方位的旋轉(zhuǎn)物體,這樣便于從不同的角度觀察事物。roll:與navigation 的結(jié)合使用與turn類似goto:可以使替身瞬移,而能夠觀察所要仔細觀
56、察的局部物體。align:使替身的腳底平面與水平重合。restore:使視角回到default view ,即網(wǎng)頁回到初始狀態(tài)。fit:使替身能在特定的位置觀察到所有的虛擬物體。view:切換不同的預定視角。Cortona VRML Client的使用方法簡單明了,使用者很容易就能學會如何使用。第四章 詳細設計 4.1設計思想 首先,必須使用VRML語言建立起虛擬實驗設備的外觀,包括其中的各個部件,如按鈕、連線點、連線、開關(guān)、標志等。由于所用到的微機原理實驗儀器外型比較簡單,只需要用到VRML基本的立方體、球體、錐體進行合理的組合就能夠制作出較為理想的外觀模型,所以這里不需要借助第三方的3D模
57、型開發(fā)工具。在開發(fā)過程中,虛擬實驗設備的外觀、比例都嚴格按照真實的設備進行設計。其次,虛擬實驗設備由一些基本的部件組成,其中一些部件如按鈕、連線點、開關(guān)等都需要具備一定的交互功能。比如當用戶按下某個按鈕將產(chǎn)生某種實驗現(xiàn)象,如亮燈;點擊兩個連線點,將在這兩個連線點間生成一條連線,等等。而且每次實驗開始之前,都必須檢查所有的連線是否已經(jīng)完成,否則實驗將無法生成應有的實驗現(xiàn)象,或者是產(chǎn)生因連線錯誤而造成的某種結(jié)果。這些功能就需要通過腳本代碼編程來實現(xiàn)。在本次開發(fā)中采用的腳本語言是javascript。之所以采用javascript語言來編寫腳本代碼,是考慮到VRML文件最后將嵌入到網(wǎng)頁中,而且可能要
58、和網(wǎng)頁之間進行一些數(shù)據(jù)通信,而當前的網(wǎng)頁所使用的HTML語言同樣能夠很好的支持javascript腳本,這樣就比較容易實現(xiàn)HTML程序與VRML程序之間的通信。再次,必須解決好網(wǎng)頁與VRML文件之間的通信問題。在真實的微機原理上機實驗中,最重要的環(huán)節(jié)就是編寫運行實驗驅(qū)動程序。針對某個具體的實驗,某個具體的芯片來編寫匯編程序,通過運行匯編程序來指定芯片控制口地址以及數(shù)據(jù)口地址,建立起PC和實驗平臺某個芯片之間的連接,以實現(xiàn)對芯片工作方式及控制字的設定。驅(qū)動程序運行就緒之后,再按照實驗指導連接線路,進行相應的實驗操作后便能觀察到正確的實驗結(jié)果或者實驗現(xiàn)象。而在虛擬實驗平臺的設計思想中,編寫匯編程序
59、以及對匯編程序進行檢驗、查錯的功能都由VRML虛擬實驗設備所在的網(wǎng)頁的代碼檢驗模塊來完成,VRML虛擬實驗設備本身不具備代碼驗證的能力。在這里,網(wǎng)頁中的代碼檢驗模塊的功能相當于真實實驗中PC機的作用,而VRML編寫的虛擬實驗設備則替代了真實的實驗設備。按照真實實驗的流程,如果實驗的驅(qū)動程序沒有運行,或者運行錯誤,將不能產(chǎn)生正確的實驗結(jié)果,或者只能產(chǎn)生一個初始狀態(tài),且不能響應用戶的操作,如8255開關(guān)狀態(tài)實驗,如果沒有正確運行驅(qū)動程序,不管12個開關(guān)的狀態(tài)如何,顯示出來的十二位狀態(tài)數(shù)字應該是全1,因為8255芯片未初始化,不能按實驗要求工作,所以讀不出與其B口C口連接的開關(guān)的狀態(tài)。所以在虛擬實驗
60、平臺的設計過程中也必須充分考慮到這點,也就是說網(wǎng)頁的代碼驗證模塊必須對所輸入的匯編程序代碼進行檢驗,當檢驗結(jié)果正確無誤,且VRML虛擬實驗設備中的連線都已經(jīng)完成后,才能正確地模擬實驗的過程,否則虛擬設備產(chǎn)生的實驗結(jié)果應該和未運行驅(qū)動程序產(chǎn)生的實驗結(jié)果一致。4.2 模塊設計在概要設計中,主要探究如何設計虛擬實驗設備的外觀,以及虛擬實驗設備各類部件(按鈕、連線點、開關(guān)等)的模型及交互功能的實現(xiàn)。4.2.1 外觀設計這里主要設計的設備外觀即微機原理實驗箱的底座(箱蓋忽略不采用)。這個底座由于形狀簡單,且不需要進行交互,因此設計比較簡單,采用兩個立方體組合在一起即可形成實驗箱底座的外形。效果如圖4.2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個人股權(quán)贈與協(xié)議(公益捐贈)4篇
- 2025年度個人與公司承包旅游服務合同范本2篇
- 2025版明星肖像使用權(quán)獨家轉(zhuǎn)讓合同2篇
- 2025版?zhèn)€人二手房交易房屋抵押貸款服務協(xié)議
- 2025年度個人獨資企業(yè)數(shù)據(jù)安全管理與隱私保護合同3篇
- 2025年度個人向非營利組織貸款合同樣本2篇
- 2025年度大型橋梁鋼管腳手架施工勞務承包合同
- 2025-2030全球法庭口譯服務行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球環(huán)網(wǎng)配電單元行業(yè)調(diào)研及趨勢分析報告
- 2025年度個人汽車租賃合同違約責任條款
- GB/T 33629-2024風能發(fā)電系統(tǒng)雷電防護
- 常州市2023-2024學年八年級上學期期末地理試卷(含答案解析)
- 道路安全教育課件
- 2023年浙江省衢州市中考語文試題(含答案解析)
- 深靜脈血栓(DVT)課件
- 2023年四川省廣元市中考數(shù)學試卷
- 醫(yī)務科運用PDCA循環(huán)提高門診醫(yī)生準時出診率PDCA成果匯報
- GB/T 19885-2005聲學隔聲間的隔聲性能測定實驗室和現(xiàn)場測量
- GB/T 17387-1998潛油電泵裝置的操作、維護和故障檢查
- 高標準基本農(nóng)田建設規(guī)范培訓課件
- 學校委托管理協(xié)議書范本
評論
0/150
提交評論