物理學(xué)專業(yè)畢業(yè)論文-基于vrml的實(shí)驗(yàn)室演示功能的實(shí)現(xiàn)_第1頁
已閱讀1頁,還剩14頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、<p>  本 科 生 畢 業(yè) 論 文</p><p>  論 文 題 目 基于VRML的實(shí)驗(yàn)室演示功能實(shí)現(xiàn) </p><p>  學(xué) 生 姓 名 </p><p>  學(xué) 號(hào) </p><p>  專 業(yè) 名 稱 物 理

2、 學(xué) </p><p>  論文提交日期 2010年 4 月7 日 </p><p>  申請(qǐng)學(xué)位級(jí)別 理學(xué)學(xué)士學(xué)位 </p><p>  論文評(píng)審等級(jí) </p><p>  指導(dǎo)教師姓名

3、 </p><p>  職 稱 教授 </p><p>  工 作 單 位 </p><p>  學(xué)位授予單位 </p><p><b>  物理系</b></p>

4、<p><b>  二○一○年四月</b></p><p>  基于VRML的實(shí)驗(yàn)室演示功能的實(shí)現(xiàn)</p><p>  摘要: 本論文利用VRMLPad創(chuàng)建虛擬物理實(shí)驗(yàn)室進(jìn)而實(shí)現(xiàn)了物理演示功能實(shí)現(xiàn)。</p><p>  關(guān)鍵詞:虛擬現(xiàn)實(shí); VRML;演示實(shí)驗(yàn) </p><p><b>  1.引言

5、</b></p><p>  1.1.虛擬現(xiàn)實(shí)概念及VRLM特征</p><p>  1.1.1. 虛擬現(xiàn)實(shí)的概念</p><p>  虛擬現(xiàn)實(shí)(VR-virtual Reality)是一種可以創(chuàng)建和體驗(yàn)虛擬世界(Virtual word)的計(jì)算機(jī)系統(tǒng)。它通常是指用立體眼鏡和傳感手套等一系列傳感輔助設(shè)備來實(shí)現(xiàn)的一種三維現(xiàn)實(shí),人們可以通過這些設(shè)施以自然的技

6、能向計(jì)算機(jī)送入各種動(dòng)作信息,并且通過視覺、聽覺以及觸覺設(shè)施使人們感受到三維的視覺、聽覺及觸覺等感官刺激。它創(chuàng)建一個(gè)既酷似客觀環(huán)境又超越客觀時(shí)空,既能沉浸在其中又能駕馭其上的和諧的人機(jī)環(huán)境,也就是一個(gè)由多維信息所構(gòu)成的可操縱的空間。它的目標(biāo)就是真實(shí)的體驗(yàn)和方便自然的人機(jī)交互,能夠達(dá)到或部分達(dá)到這樣目標(biāo)的系統(tǒng)就統(tǒng)稱為虛擬現(xiàn)實(shí)系統(tǒng)[2]。虛擬現(xiàn)實(shí)技術(shù)是一門直接來自于應(yīng)用的、涉及眾多學(xué)科的、新的實(shí)用技術(shù),是集先進(jìn)的計(jì)算機(jī)技術(shù)、傳感與測量技術(shù)、仿

7、真技術(shù)、微電子技術(shù)等為一體的綜合集成技術(shù)。</p><p>  VRML ( virtual reality modeling language)虛擬現(xiàn)實(shí)建模語言是一種三維造型和渲染的圖形描述語言,通過創(chuàng)建一個(gè)虛擬場景以達(dá)到現(xiàn)實(shí)中的效果。它是第二代Web程序設(shè)計(jì)語言,可以在網(wǎng)頁上實(shí)現(xiàn)三維動(dòng)畫效果及基于三維對(duì)象用戶的交互,特別是可以改變當(dāng)前網(wǎng)絡(luò)與用戶交互的局限性,使得人機(jī)交互更加方便、靈活,使虛擬世界的真實(shí)性、交互

8、性和動(dòng)態(tài)性得到充分的體現(xiàn)。</p><p>  1.1.2.虛擬現(xiàn)實(shí)的基本特征</p><p>  (1)沉浸感是指用戶作為主角存在于虛擬環(huán)境中的真實(shí)程度。理想的虛擬環(huán)境應(yīng)該達(dá)到使用戶難以分辨真假的程度(例如可視場景應(yīng)隨著視點(diǎn)的變化而變化),甚至超越真實(shí),如實(shí)現(xiàn)比現(xiàn)實(shí)更逼真的照明和音響效果等。</p><p>  (2)交互性是指用戶對(duì)虛擬環(huán)境內(nèi)的物體的可操作程度和

9、從環(huán)境得到反饋的自然程度(包括實(shí)時(shí)性)。例如,用戶可以用手直接抓取虛擬環(huán)境中的物體,這時(shí)手有觸摸感,并可以感覺物體的重量,場景中被抓的物體也立刻隨著手的移動(dòng)而移動(dòng)。</p><p>  (3)想象力是指用戶沉浸在多維信息空間中,依靠自己的感知和認(rèn)知能力全方位地獲取知識(shí),發(fā)揮主觀能動(dòng)性,尋求解答,形成新的概念。</p><p>  1.2.虛擬現(xiàn)實(shí)在教學(xué)中的作用及應(yīng)用</p>

10、<p>  1.2.1.虛擬現(xiàn)實(shí)在教學(xué)中的作用</p><p>  (1) 彌補(bǔ)教學(xué)條件的不足。在教學(xué)中,往往會(huì)因?yàn)閷?shí)驗(yàn)設(shè)備、實(shí)驗(yàn)場地、教學(xué)經(jīng)費(fèi)等方面的原因,而使一些應(yīng)該開設(shè)的教學(xué)實(shí)驗(yàn)無法進(jìn)行。利用虛擬現(xiàn)實(shí)系統(tǒng),可以彌補(bǔ)這些方面的不足,學(xué)生足不出戶便可以做各種各樣的實(shí)驗(yàn),獲得與真實(shí)實(shí)驗(yàn)一樣的體會(huì),從而豐富感性認(rèn)識(shí),加深對(duì)教學(xué)內(nèi)容的理解。</p><p>  (2)避免真實(shí)實(shí)驗(yàn)或操

11、作所帶來的各種危險(xiǎn)。以往對(duì)于危險(xiǎn)的或?qū)θ梭w健康有危害的實(shí)驗(yàn),一般采用電視錄像的方式來取代實(shí)驗(yàn),學(xué)生無法直接參與實(shí)驗(yàn),獲得感性認(rèn)識(shí)。學(xué)生在虛擬實(shí)驗(yàn)環(huán)境中,可以放心地去做各種危險(xiǎn)的或危害人體的實(shí)驗(yàn)。</p><p>  (3)徹底打破空間、時(shí)間的限制。利用虛擬現(xiàn)實(shí)技術(shù),可以徹底打破空間的限制。大到宇宙天體,小至原子粒子,學(xué)生都可以進(jìn)入這些物體的內(nèi)部進(jìn)行觀察。虛擬技術(shù)還可以突破時(shí)間的限制,一些需要幾十年甚至上百年才能觀

12、察的變化過程,通過虛擬現(xiàn)實(shí)技術(shù),可以在很短的時(shí)間內(nèi)呈現(xiàn)給學(xué)生觀察。</p><p>  (4)可以虛擬人物形象。虛擬現(xiàn)實(shí)系統(tǒng)可以虛擬歷史人物、偉人、名人、教師、學(xué)生、醫(yī)生等各種人物形象,創(chuàng)設(shè)一個(gè)人性化的學(xué)習(xí)環(huán)境,使學(xué)生能夠在自然、親切的氣氛中進(jìn)行學(xué)習(xí)。</p><p>  1.2.2. 虛擬現(xiàn)實(shí)在教學(xué)中的應(yīng)用</p><p>  虛擬現(xiàn)實(shí)在教學(xué)中的應(yīng)用主要有以下二個(gè)

13、方面。</p><p>  (1)知識(shí)學(xué)習(xí)。知識(shí)學(xué)習(xí)是指學(xué)生利用虛擬現(xiàn)實(shí)系統(tǒng)學(xué)習(xí)各種知識(shí)。它的應(yīng)用有兩個(gè)方面:一是再現(xiàn)實(shí)際生活中無法觀察到的自然現(xiàn)象或事物的變化過程,為學(xué)生提供生動(dòng)、逼真的感性學(xué)習(xí)材料,幫助學(xué)生解決學(xué)習(xí)中的知識(shí)難點(diǎn)。虛擬現(xiàn)實(shí)在知識(shí)學(xué)習(xí)中的另一個(gè)應(yīng)用是,使抽象的概念、理論直觀化、形象化,方便學(xué)生對(duì)抽象概念的理解。</p><p>  (2)探索學(xué)習(xí)。虛擬現(xiàn)實(shí)技術(shù)可以對(duì)學(xué)生學(xué)習(xí)

14、過程中所提出的各種假設(shè)模型進(jìn)行虛擬,通過虛擬系統(tǒng)便可直觀地觀察到這一假設(shè)所產(chǎn)生的結(jié)果或效果,有利于激發(fā)學(xué)生的創(chuàng)造性思維,培養(yǎng)學(xué)生的創(chuàng)新能力。</p><p>  通過資料查閱可知,國外的虛擬現(xiàn)實(shí)技術(shù)發(fā)展已經(jīng)較為成熟,在很多領(lǐng)域有著廣泛的應(yīng)用,帶來了可觀的經(jīng)濟(jì)價(jià)值和社會(huì)價(jià)值。國內(nèi)的虛擬現(xiàn)實(shí)技術(shù)的研究與開發(fā)尚處于初級(jí)階段,有很多的領(lǐng)域及技術(shù)有待我們?nèi)ラ_發(fā)和研究。通過相關(guān)的資料可知,VRML技術(shù)在物理教學(xué)上的應(yīng)用有其獨(dú)

15、特的優(yōu)勢(shì),它可以使抽象的概念和理論直觀化形象化, VRML創(chuàng)建的動(dòng)態(tài)環(huán)境直觀性強(qiáng),形象逼真,易于學(xué)生學(xué)習(xí)掌握?;谝陨显?,在本論文的選題上,重點(diǎn)選取典型和具有代表性的演示實(shí)驗(yàn)來研究。在物理教學(xué)的演示實(shí)驗(yàn)中,有很多實(shí)驗(yàn)可以由VRML 來實(shí)現(xiàn),有些簡單的演示實(shí)驗(yàn)(如拋物運(yùn)動(dòng))比較容易實(shí)現(xiàn),而類似于分子的布朗運(yùn)動(dòng)等物理現(xiàn)象的演示實(shí)驗(yàn),需要投入較多的時(shí)間和精力,由于本論文研究的時(shí)間關(guān)系,綜合考慮多方面因素,選取本論文的主要研究內(nèi)容包括以下2個(gè)

16、方面:借助于VRML語言構(gòu)建實(shí)驗(yàn)室的三維場景的描述;借助于VRML語言建立動(dòng)態(tài)仿真物理三維場景,完成實(shí)驗(yàn)的三維演示演示。</p><p>  1.3.1.VRML文件的具體使用條件</p><p>  瀏覽VRML文件的環(huán)境條件:硬件上,無需其他的設(shè)備,目前的PC機(jī)完全可以滿足要求;軟件上,只需要安裝VRML瀏覽器插件,目前最流行的兩種VRML瀏覽器插件是Parallel Graphics

17、公司的Cortona瀏覽器插件和blaxxun公司的blaxxun Contact瀏覽器插件,另外還有一款常見的瀏覽器插件Cosmo player,如果使用的瀏覽器是Netscape 4.0以上的瀏覽器,則不用再裝Cosmo player,因?yàn)樗呀?jīng)內(nèi)置了Cosmo player2.0瀏覽器插件。</p><p>  Cortona瀏覽器插件也稱為Cortvrml插件,網(wǎng)絡(luò)上稱之為蝴蝶瀏覽器,現(xiàn)在流行的主要有4.

18、1版本和5.0版本,二者在使用和視覺效果上無明顯區(qū)別,不同的一點(diǎn)在于5.0版本的具有一個(gè)藍(lán)色徽標(biāo)。</p><p>  在對(duì)VRML文件進(jìn)行瀏覽的過程中,會(huì)因所用計(jì)算機(jī)安裝的操作系統(tǒng)不同而決定使用的瀏覽器插件也不同: Cortvrml 插件,適用于Windows XP系統(tǒng); Cosmo player 插件,適用于Windows 98/2000/2003系統(tǒng)。 </p><p>  1.3.

19、2.VRML文件的編輯方法</p><p>  1.用文本編輯器,如記事本直接編寫VRML文件;保存時(shí),保存類型選擇所有文件,保存文件名稱后綴擴(kuò)展名改為.wrl;</p><p>  2.用轉(zhuǎn)換工具從3DMAX、AUTODESK 3DVIZ、White Dune、分子模型編輯器等轉(zhuǎn)換。在設(shè)計(jì)中我使用編輯器來進(jìn)行建模,模型創(chuàng)建好后直接輸出.wrl格式的文件。,在使用解釋器進(jìn)行瀏覽時(shí),在對(duì)其進(jìn)

20、行旋轉(zhuǎn)、縮放、平移時(shí),會(huì)因刷新頻率的原因而導(dǎo)致效果不明顯,甚至出現(xiàn)模糊現(xiàn)象。</p><p>  1.4.用于創(chuàng)建基于VRML虛擬現(xiàn)實(shí)的可行性分析</p><p>  VRML是一種有著強(qiáng)大發(fā)展?jié)摿Φ奶摂M現(xiàn)實(shí)建模語言,它尤其適合創(chuàng)建桌面虛擬現(xiàn)實(shí)。VRML創(chuàng)建的活動(dòng)場景具有沉浸性、交互性和多感知性等一般虛擬現(xiàn)實(shí)場景的特征。首先,學(xué)習(xí)者通過VRML瀏覽器進(jìn)入VRML場景后,憑借簡單的二維鼠標(biāo),

21、只要選擇VRML瀏覽器上不同的瀏覽方式(如Fly、Go、Rotate等)即可實(shí)現(xiàn)在場景中6+1個(gè)自由度的漫游,即三個(gè)方向的移動(dòng)和旋轉(zhuǎn),以及和其它三維空間的超鏈接。因而學(xué)習(xí)者完全可以根據(jù)個(gè)人的意志選擇場景中不同的視點(diǎn)方向和位置。雖然沒有頭戴式顯示器所帶來的完全沉浸的感覺,但學(xué)習(xí)者在場景中自由遨游,能體味到相當(dāng)?shù)某两小A硗?,通過編程控制VRML場景能實(shí)現(xiàn)一定的交互性。這種交互性可以允許學(xué)習(xí)者與場景中的3D實(shí)體進(jìn)行一定的交互。 </p

22、><p>  VRML能控制立體聲音的播放,并能對(duì)聲音的方位和強(qiáng)度進(jìn)行控制。如雷電場景中,雷聲的強(qiáng)度和方位就是根據(jù)代理人的實(shí)時(shí)位置來改變的。因而通過VRML境界學(xué)習(xí)者能體味到一種近乎自然界的聲音。而將來,隨著VRML技術(shù)的進(jìn)一步發(fā)展和完善,冷熱、質(zhì)感等感知信息的體現(xiàn)必將變成完全可能的事情。</p><p>  VRML是一種實(shí)用化的虛擬現(xiàn)實(shí)建模語言。VRML文件是以擴(kuò)展名.wrl或.wrz等結(jié)

23、尾的,是一種用來描述幾何形體的簡單的ASCII文本文件,VRML的編輯工具可以是任意一種文本編輯器。VRML文件不需要任何編譯,直接由瀏覽器解釋執(zhí)行,可以方便的實(shí)現(xiàn)桌面虛擬現(xiàn)實(shí)。VRML瀏覽器一般是作為Web瀏覽器的插件使用的,因而又稱為瀏覽器插件。當(dāng)學(xué)習(xí)者通過Web瀏覽器請(qǐng)求一個(gè)VRML文件時(shí),服務(wù)器端接收到請(qǐng)求,并將VRML文件代碼傳輸?shù)娇蛻舳?,客戶端瀏覽器通過VRML瀏覽插件對(duì)代碼進(jìn)行解釋,將VRML語言中的信息解釋成空間中目標(biāo)的

24、幾何體描述,如長方體、球體、不規(guī)則的其它三維物體等等,同時(shí)它將提供實(shí)時(shí)顯示,一秒顯示多次,這樣在學(xué)習(xí)者的計(jì)算機(jī)上就會(huì)有一個(gè)活動(dòng)場景的感覺。而學(xué)習(xí)者只需用簡單的2D鼠標(biāo),通過切換不同的瀏覽方式即可遨游于整個(gè)虛擬境界,與境界中的物體進(jìn)行交互。</p><p>  VRML文件能通過包含關(guān)系(Inline節(jié)點(diǎn))把不同的文件組織在一起,能實(shí)現(xiàn)和管理較大規(guī)模的場景。另外,VRML,文件具有超鏈接功能,通過Anchor節(jié)點(diǎn)可

25、以實(shí)現(xiàn)VRML文件與WINE文件,VRML文件與HTML文件之間的超鏈接。因而VRML文件用于Web課件中,可以實(shí)現(xiàn)課件中HTIVIL頁面與虛擬現(xiàn)實(shí)頁面的自然過渡,以及不同虛擬現(xiàn)實(shí)場景之間的隨意跳轉(zhuǎn)。與之相比,動(dòng)畫文件和圖片文件因?yàn)槭窍嗷オ?dú)立的,文件之間要建立鏈接只能通過HTML的超鏈接功能。如果用于展示較大的場景和進(jìn)行復(fù)雜的交互性操作,需要有較多的文件通過HTIVIL的超鏈結(jié)進(jìn)行鏈接,這種鏈接將使系統(tǒng)缺乏流暢性,場景展示的實(shí)時(shí)性也會(huì)降

26、低,而且過于復(fù)雜的使用HTML的超鏈在操作時(shí)容易出現(xiàn)混亂。</p><p>  基于以上分析,VRML是一種基于www的實(shí)用的、功能較完善的、具有強(qiáng)大發(fā)展?jié)摿Φ奶摂M現(xiàn)實(shí)建模語言。因?yàn)閂RML具有強(qiáng)大的網(wǎng)絡(luò)功能,所以它尤其適合創(chuàng)建Web上的虛擬現(xiàn)實(shí)。VRML對(duì)硬件設(shè)備要求不高(僅僅用最簡單的臺(tái)式顯示器、2D鼠標(biāo)、音箱就能實(shí)現(xiàn)),能為教學(xué)中的大多數(shù)學(xué)習(xí)者所接受。VRML文件設(shè)計(jì)使用簡單,能創(chuàng)建出簡單的桌面虛擬現(xiàn)實(shí),隨

27、著它的逐步發(fā)展和完善功能必將更強(qiáng)大。所以用VRML創(chuàng)建虛擬現(xiàn)實(shí)場景應(yīng)用于教學(xué)具有相當(dāng)?shù)目尚行?。選取本論文的主要研究內(nèi)容包括以下2個(gè)方面:一是借助于VRML語言構(gòu)建實(shí)驗(yàn)室的三維場景的描述;二是借助于VRML語言完成演示實(shí)驗(yàn)功能實(shí)現(xiàn)。。</p><p>  2.系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  2.1.1整個(gè)設(shè)計(jì)流程</p><p><b>  程序設(shè)計(jì)思

28、路</b></p><p>  首先:選擇要實(shí)現(xiàn)虛擬實(shí)驗(yàn)室場景的工具。有以下2種方法。第一是利用3DMAX、AUTODESK 3DVIZ、White Dune等工具建立模型在轉(zhuǎn)換成VRML的形式。但其生成的文件一般很大。第二直接利用VRML代碼來實(shí)現(xiàn)。其特點(diǎn)是要花費(fèi)時(shí)間較長。但文件叫小,我選擇第二種方法。</p><p>  其次:重點(diǎn)內(nèi)容的設(shè)計(jì)——建立物理實(shí)驗(yàn)?zāi)P偷膶?shí)現(xiàn),物理

29、實(shí)驗(yàn)是實(shí)驗(yàn)室的重要組成部分,實(shí)驗(yàn)?zāi)芊裾_\(yùn)行的關(guān)鍵。</p><p>  再次:實(shí)驗(yàn)內(nèi)容的構(gòu)建。</p><p><b>  最后:調(diào)試修改。</b></p><p>  框架結(jié)構(gòu)如圖2.1所示: </p><p><b>  圖2.1 設(shè)計(jì)流程</b></p><p>  

30、(1)系統(tǒng)分析與設(shè)計(jì)</p><p>  首先通過查閱資料,根據(jù)自己的想法并結(jié)合指導(dǎo)教師的指導(dǎo)意見進(jìn)而對(duì)系統(tǒng)進(jìn)行分析設(shè)計(jì)。</p><p><b> ?。?)系統(tǒng)實(shí)現(xiàn)</b></p><p>  通過代碼編寫創(chuàng)建物理實(shí)驗(yàn)的演示結(jié)構(gòu),設(shè)置交互功能。</p><p><b> ?。?)系統(tǒng)測試</b>&

31、lt;/p><p>  通過交互功能,看是否達(dá)到預(yù)期的效果在修改相關(guān)的代碼。</p><p><b>  2.1.2.模塊化</b></p><p>  VRML支持代碼的模塊化,即可以將一個(gè)復(fù)雜場景中的各部分,分別做成一個(gè)個(gè)獨(dú)立的VRML文件,然后在一個(gè)主控文件中調(diào)用(內(nèi)聯(lián))這些獨(dú)立的文件,完成場景中相應(yīng)部分的創(chuàng)建[1]。VRML網(wǎng)頁代碼的模塊化

32、是指將一個(gè)比較復(fù)雜的虛擬場景,分解成一個(gè)基礎(chǔ)環(huán)節(jié)和若干個(gè)實(shí)際物對(duì)像。基礎(chǔ)環(huán)境及實(shí)物對(duì)象都用一個(gè)獨(dú)立的VRML來完成。</p><p>  制作基礎(chǔ)的VRML文件稱為主控文件,制作實(shí)物對(duì)象的VRML文件稱為對(duì)象文件。主控文件通常包括空間背景、地面和若干視點(diǎn)等。當(dāng)對(duì)象文件完成了以后,可以在主控文件中調(diào)用對(duì)象文件,實(shí)現(xiàn)在基礎(chǔ)環(huán)境中添加實(shí)物對(duì)象。</p><p>  2.1.4.VrmlPad創(chuàng)建

33、主控文件</p><p>  VRML文件用層次化的場景圖來描述三維對(duì)象和世界。 首先來制作基礎(chǔ)的VRML主控文件即空間背景、地面、走廊、臺(tái)階和若干視點(diǎn)。 </p><p>  其視點(diǎn)及背景部分代碼如下:</p><p>  #VRML V2.0 utf8 #文件頭</p><p>  Group #主編組結(jié)點(diǎn)</p&

34、gt;<p><b>  {</b></p><p><b>  children</b></p><p><b>  [</b></p><p>  WorldInfo {</p><p>  title "Windmill"</p&g

35、t;<p>  info "wsf2006021126"</p><p><b>  }</b></p><p>  Viewpoint { #視點(diǎn)</p><p>  Position 0.0 1.65 35.0 #視點(diǎn)的位置</p><p>  Or

36、ienttation 1.0 0.0 0.0 0.2 #瀏覽者的視線方向</p><p>  Descryption "Entry View" #視點(diǎn)名稱字符串</p><p><b>  }</b></p><p>  Viewpoint { #視點(diǎn)</p><p>  po

37、sition 0.0 1.65 15.0 #視點(diǎn)的位置</p><p>  orientation 1.0 0.0 0.0 0.5 #瀏覽者的視線方向</p><p>  description "Close-up" #視點(diǎn)名稱字符串</p><p><b>  }</b></p>

38、<p>  Viewpoint { #視點(diǎn) </p><p>  position 7.05 1.65 7.05 #視點(diǎn)的位置</p><p>  orientation 0.0 1.0 0.0 0.785 #瀏覽者的視線方向</p><p>  description "Front door&

39、quot; #視點(diǎn)名稱字符串</p><p><b>  }</b></p><p>  Viewpoint { #視點(diǎn) </p><p>  position 35.0 1.65 -35.0 #視點(diǎn)的位置</p><p>  ori

40、entation 0.0 1.0 0.0 2.356 #瀏覽者的視線方向</p><p>  description "Far away" #視點(diǎn)名稱字符串</p><p><b>  }</b></p><p>  Viewpoint { #視

41、點(diǎn) </p><p>  position 0.0 14.43 2.0 #視點(diǎn)的位置</p><p>  orientation 0.00128 0.959 0.282 3.1503 #瀏覽者的視線方向</p><p>  description "Roof top" #視點(diǎn)名稱字符串 </p>

42、<p><b>  }</b></p><p>  Background #背景</p><p><b>  { </b></p><p>  skyColor [ #背景色</p><p>  0.0 0.2 0.7,</p&

43、gt;<p>  0.0 0.5 1.0,</p><p>  1.0 1.0 1.0</p><p><b>  ]</b></p><p>  skyAngle [ 1.309, 1.571 ] #天空角</p><p>  groundColor [ #地面色&

44、lt;/p><p>  0.1 0.10 0.0,</p><p>  0.4 0.25 0.2,</p><p>  0.6 0.60 0.6,</p><p><b>  ]</b></p><p>  groundAngle [ 1.309, 1.571 ] #地面角</p>

45、<p>  上段代碼主要是創(chuàng)建了空間背景、背景色、地面、走廊、臺(tái)階及若干個(gè)視點(diǎn)。其次來創(chuàng)建實(shí)驗(yàn)室,其中為了提高仿真程度人走到門前,不可能穿門而入,必須先開門,所以設(shè)置門自動(dòng)打開,其效果及代碼如下:</p><p><b>  其代碼如下示:</b></p><p>  Transform { </p><p>  translatio

46、n 0.0 0.0 -27.0 #坐標(biāo)變換</p><p>  children [</p><p>  DEF Left Door Transform { #</p><p>  children Transform {</p><p>  translation -5.0 0.0 0.0</p>&

47、lt;p>  children DEF Door Inline { url "door.wrl" }</p><p><b>  }</b></p><p><b>  }</b></p><p>  DEF RightDoor Transform {</p><p>  

48、children Transform {</p><p>  translation 5.0 0.0 0.0</p><p>  children USE Door</p><p><b>  }</b></p><p><b>  }</b></p><p>  # Pro

49、ximity sensor</p><p>  DEF DoorSense ProximitySensor {</p><p>  center 0.0 1.75 0.0</p><p>  size 6.0 3.5 8.0</p><p><b>  }</b></p><p><b>

50、;  ]</b></p><p><b>  }</b></p><p><b>  # Sounds</b></p><p><b>  Sound {</b></p><p>  source DEF OpenSound AudioClip { url &quo

51、t;Sounds/clunk2.wav" }</p><p>  minFront 20.0 minBack 20.0</p><p>  maxFront 60.0 maxBack 60.0</p><p><b>  }</b></p><p><b>  Sound {</b><

52、;/p><p>  source DEF CloseSound AudioClip { url "Sounds/clunk1.wav" }</p><p>  minFront 20.0 minBack 20.0</p><p>  maxFront 60.0 maxBack 60.0</p><p><b>  }

53、</b></p><p>  # Animation clocks</p><p>  DEF OpenClock TimeSensor {</p><p>  cycleInterval 0.5</p><p>  loop FALSE</p><p>  startTime 0.0</p>

54、<p>  stopTime 1.0</p><p><b>  }</b></p><p>  DEF CloseClock TimeSensor {</p><p>  cycleInterval 0.5</p><p>  loop FALSE</p><p>  startTi

55、me 0.0</p><p>  stopTime 1.0</p><p><b>  }</b></p><p>  # Animation paths for the left and right doors</p><p>  DEF LeftOpen PositionInterpolator {</p>

56、;<p>  key [ 0.0, 1.0 ]</p><p>  keyValue [ 0.0 0.0 0.0, -1.3 0.0 0.0 ]</p><p><b>  }</b></p><p>  DEF LeftClose PositionInterpolator {</p><p>  key

57、[ 0.0, 1.0 ]</p><p>  keyValue [ -1.3 0.0 0.0, 0.0 0.0 0.0 ]</p><p><b>  }</b></p><p>  DEF RightOpen PositionInterpolator {</p><p>  key [ 0.0, 1.0 ]</p

58、><p>  keyValue [ 0.0 0.0 0.0, 1.3 0.0 0.0 ]</p><p><b>  }</b></p><p>  DEF RightClose PositionInterpolator {</p><p>  key [ 0.0, 1.0 ]</p><p>  k

59、eyValue [ 1.3 0.0 0.0, 0.0 0.0 0.0 ]</p><p><b>  }</b></p><p><b>  ]</b></p><p><b>  }</b></p><p>  ROUTE DoorSense.enterTime TO Ope

60、nSound.startTime</p><p>  ROUTE DoorSense.exitTime TO OpenSound.stopTime</p><p>  ROUTE DoorSense.enterTime TO OpenClock.startTime</p><p>  ROUTE DoorSense.exitTime TO OpenClock.sto

61、pTime</p><p>  ROUTE DoorSense.exitTime TO CloseSound.startTime</p><p>  ROUTE DoorSense.enterTime TO CloseSound.stopTime</p><p>  ROUTE DoorSense.exitTime TO CloseClock.startTime&l

62、t;/p><p>  ROUTE DoorSense.enterTime TO CloseClock.stopTime</p><p>  ROUTE OpenClock.fraction_changed TO LeftOpen.set_fraction</p><p>  ROUTE OpenClock.fraction_changed TO RightOpen.se

63、t_fraction</p><p>  ROUTE CloseClock.fraction_changed TO LeftClose.set_fraction</p><p>  ROUTE CloseClock.fraction_changed TO RightClose.set_fraction</p><p>  ROUTE LeftOpen.value_c

64、hanged TO LeftDoor.translation</p><p>  ROUTE LeftClose.value_changed TO LeftDoor.translation</p><p>  ROUTE RightOpen.value_changed TO RightDoor.translation</p><p>  ROUTE RightClo

65、se.value_changed TO RightDoor.translation</p><p>  2.1.5.建立物理實(shí)驗(yàn)?zāi)P?lt;/p><p>  1.X射線衍射實(shí)驗(yàn)演示</p><p>  X射線衍射儀主要由X射線發(fā)生器(X射線管)、測角儀、X射線探測器、計(jì)算機(jī)控制處理系統(tǒng)等組成。X射線管主要分密閉式和可拆卸式兩種。測角儀是粉末X射線衍射儀的核心部件,主要由

66、索拉光闌、發(fā)散狹縫、接收狹縫、防散射狹縫、樣品座及閃爍探測器等組成。衍射儀中常用的探測器是閃爍計(jì)數(shù)器(SC),它是利用X射線能在某些固體物質(zhì)(磷光體)中產(chǎn)生的波長在可見光范圍內(nèi)的熒光,這種熒光再轉(zhuǎn)換為能夠測量的電流。由于輸出的電流和計(jì)數(shù)器吸收的X光子能量成正比,因此可以用來測量衍射線的強(qiáng)度。閃爍計(jì)數(shù)管的發(fā)光體一般是用微量鉈活化的碘化鈉(NaI)單晶體。這種晶體經(jīng)X射線激發(fā)后發(fā)出藍(lán)紫色的光。將這種微弱的光用光電倍增管來放大,發(fā)光體的藍(lán)紫色

67、光激發(fā)光電倍增管的光電面(光陰極)而發(fā)出光電子(一次電子),光電倍增管電極由10個(gè)左右的聯(lián)極構(gòu)成,由于一次電子在聯(lián)極表面上激發(fā)二次電子,經(jīng)聯(lián)極放大后電子數(shù)目按幾何級(jí)數(shù)劇增(約106倍),最后輸出幾個(gè)毫伏的脈沖。衍射儀主要操作都由計(jì)算機(jī)控制自動(dòng)完成,掃描操作完成后,衍射原始數(shù)據(jù)自動(dòng)存入計(jì)算機(jī)硬盤中供數(shù)據(jù)分析處理。數(shù)據(jù)分析處理包括平滑點(diǎn)的選擇、背底扣除、自動(dòng)尋峰、d值計(jì)算,衍射峰強(qiáng)度計(jì)算等。</p><p>  根據(jù)

68、X射線衍射實(shí)驗(yàn)的原理并參照了網(wǎng)絡(luò)上的教程完成X射線衍射儀的構(gòu)建其最后效果如下圖示.</p><p><b>  其核心代碼如下:</b></p><p>  DEFscript Script {</p><p>  eventIn SFTime time1 </p><p>  eventInSFTime time2

69、</p><p>  field SFBool aa TRUE </p><p>  field SFBool cc FALSE</p><p>  eventOut SFBool bb</p><p>  url"vrmlscript:</p><p>  function time1(){bb=aa;}

70、</p><p>  function time2(){bb=cc;}"</p><p><b>  }</b></p><p>  DEFcolorscript Script {</p><p>  eventIn SFTime time3 </p><p>  eventInSF

71、Time time4</p><p>  eventOut SFColor diffuseColor </p><p>  field SFColor white .61 .61 .61</p><p>  field SFColor red .54 0 0</p><p>  url "vrmlscript:</p>

72、<p>  function time3(){diffuseColor=red;}</p><p>  function time4(){diffuseColor=white;}"</p><p><b>  }</b></p><p>  ROUTE chuanganqi.rotation_changed TO XRay

73、.set_rotation</p><p>  ROUTE clock.fraction_changed TOrotate1.set_fraction </p><p>  ROUTE rotate1.value_changed TO rotate.set_rotation</p><p>  ROUTE clock.fraction_changedTO ro

74、tate4.set_fraction</p><p>  ROUTE rotate4.value_changed TO shangxuanniu.set_rotation</p><p>  ROUTE clock.fraction_changed TOrotate3.set_fraction</p><p>  ROUTE rotate3.value_chang

75、ed TO xiaxuanniu.set_rotation</p><p>  ROUTE clock.fraction_changed TOrotate2.set_fraction</p><p>  ROUTE rotate2.value_changedTO axis.set_rotation</p><p>  ROUTE openmouse.touchT

76、ime TO script.time1</p><p>  ROUTE script.bb_changedTO clock.set_enabled</p><p>  ROUTE openmouse.touchTime TO clock.startTime</p><p>  ROUTE clock.fraction_changed TOrotate1.set_

77、fraction</p><p>  ROUTE openmouse.touchTime TO clock.startTime</p><p>  ROUTE clock.fraction_changed TO rotate2.set_fraction</p><p>  ROUTE openmouse.touchTime TO clock.startTime<

78、;/p><p>  ROUTE clock.fraction_changed TOrotate3.set_fraction</p><p>  ROUTE openmouse.touchTime TO clock.startTime</p><p>  ROUTE clock.fraction_changed TOrotate4.set_fraction</p

79、><p>  ROUTE openmouse.touchTime TO colorscript.time3</p><p>  ROUTE colorscript.diffuseColor TO color.set_diffuseColor</p><p>  ROUTE closemouse.touchTime TO script.time2</p>&

80、lt;p>  ROUTE script.bb_changedTO clock.set_enabled</p><p>  ROUTE closemouse.touchTime TO colorscript.time4</p><p>  ROUTE colorscript.diffuseColor TO color.set_diffuseColor</p><p

81、>  (2)太陽、地球、月球之間的自轉(zhuǎn)和公轉(zhuǎn)</p><p>  2.1.6.利用Anchor節(jié)點(diǎn)來對(duì)VRML之間的鏈接</p><p>  利用Anchor對(duì)主控文件和對(duì)象文件進(jìn)行鏈接其代碼如下:</p><p><b>  Anchor</b></p><p><b>  {</b><

82、;/p><p>  Url“VRML或HTML的文件名“</p><p>  description“狀態(tài)描述信息”</p><p><b>  children[</b></p><p>  #若干shape或Transform結(jié)點(diǎn)</p><p><b>  ]</b><

83、;/p><p><b>  }</b></p><p><b>  3.結(jié)束語</b></p><p>  本次論文實(shí)現(xiàn)了簡單的實(shí)驗(yàn)室虛擬及簡單的物理實(shí)驗(yàn)?zāi)M。通過一段時(shí)間的分析和設(shè)計(jì),我對(duì)VMRL有了深一步的認(rèn)識(shí),實(shí)現(xiàn)一個(gè)簡易虛擬實(shí)驗(yàn)室演示的功能。但是由于能力和時(shí)間限制,還存在很多的不足和缺點(diǎn),首先,由于時(shí)間和能力的原因?qū)嶒?yàn)

84、室的建立比較粗糙。其次,物理模型的建立和交互功能比較復(fù)雜,所以需要花費(fèi)一些時(shí)間去思考,難免有不妥當(dāng)?shù)牡胤?。目前,該設(shè)計(jì)對(duì)于物理虛擬實(shí)驗(yàn)室實(shí)現(xiàn)還有很多可以擴(kuò)展的空間,比如用simulink來控制VMRL虛擬場景等,總之,我會(huì)繼續(xù)努力學(xué)習(xí),爭取完善。</p><p><b>  致 謝</b></p><p>  本系統(tǒng)在制作過程中得到了倪永勤老師的傾力指導(dǎo)和大力支持,在

85、此表示衷心的感謝!另外對(duì)同學(xué)的幫助及提供參考文獻(xiàn)的編著者也表示謝意!</p><p><b>  參考文獻(xiàn):</b></p><p>  [1] 汪志達(dá),葉偉.VRML虛擬現(xiàn)實(shí)網(wǎng)頁設(shè)計(jì)[M].北京:清華大學(xué)出版社,2006.12</p><p>  [2] 陸昌輝.使用VRML與JAVA創(chuàng)建網(wǎng)絡(luò)虛擬環(huán)境[M].北京:北京大學(xué)出版社,2003.&

86、lt;/p><p>  [3] 劉怡,張洪定、崔欣.虛擬現(xiàn)實(shí)VRML程序設(shè)計(jì)[M].天津:南開大學(xué)出版社,2007. </p><p>  [4] 汪興謙.VRML虛擬造型實(shí)戰(zhàn)演練[M].北京:中國水利水電出版社 2002.</p><p>  [5] 張 肺. 杜可亮. 劉建灼. WWW上的虛擬現(xiàn)實(shí)技術(shù)—VRML技術(shù)[M]. 電子工業(yè)出版社,1998.8 </p

87、><p>  [6] 俞方樺. VRML優(yōu)化技術(shù)[J]. 計(jì)算機(jī)應(yīng)用研究, 1999.4 </p><p>  [7] 郭建才. 虛擬現(xiàn)實(shí)技術(shù)及其在遠(yuǎn)程教學(xué)中的應(yīng)用[J]. 中國電大教育, 1999.6 </p><p>  [8] 王 碩. 基于虛擬現(xiàn)實(shí)建模語言的模擬演示系統(tǒng)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用, 1999.3 </p><p>  [9]

88、石明貴, 史紅星. 關(guān)于教育多媒體軟件的開發(fā)[J]. 中國遠(yuǎn)程教育, 2000.1 </p><p>  Simulation of a virtual physics experiments based on VRML</p><p>  Shi-fa Wan</p><p> ?。―epartment of physics,Yuxi Normal Univer

89、sity,Yuxi 653100)</p><p>  Supervisor:Yong-qin Ni</p><p>  Abstract: In this thesis, VRMLPad create a virtual physics laboratory model provides the first person to learners feeling to realize t

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論