999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Three.js的大學(xué)物理在線仿真實驗開發(fā)

2024-04-18 03:49:36嚴(yán)華剛張智河許莉莉黃曉清
實驗室研究與探索 2024年1期
關(guān)鍵詞:實驗教學(xué)物理效果

曲 典, 嚴(yán)華剛, 張智河, 許莉莉, 黃曉清, 師 煒

(首都醫(yī)科大學(xué)生物醫(yī)學(xué)工程學(xué)院,北京 100069)

0 引 言

虛擬仿真實驗很好地豐富了教學(xué)輔助手段,完善了物理實驗教學(xué)環(huán)節(jié),克服了實驗教學(xué)長期受到課堂、課時限制的困擾,使實驗教學(xué)在時間和空間上得到延伸[1-2]。虛擬仿真實驗和實操實驗相結(jié)合,為創(chuàng)建更有利于學(xué)生自主學(xué)習(xí)的線上和線下相結(jié)合的實驗教學(xué)模式提供可能[3]。同時,實驗教學(xué)中發(fā)現(xiàn),有些實驗儀器操作復(fù)雜,學(xué)習(xí)難度較大,學(xué)生難以通過講義和實驗講解視頻進(jìn)行有效預(yù)習(xí),影響實驗學(xué)習(xí)的效果。目前大學(xué)物理的虛擬仿真實驗多為二維場景下的實驗操作。而有些實驗,如“分光計實驗”,對學(xué)生空間思維能力要求較高,二維場景下學(xué)生無法看到實驗儀器內(nèi)部結(jié)構(gòu)或者光路,導(dǎo)致對實驗原理的理解存在較大困難。研究開發(fā)設(shè)計的虛擬仿真實驗是以三維實驗場景和動畫形式完成實驗具體操作,很好地解決了二維場景下虛擬仿真實驗的局限性;類游戲操作實驗環(huán)境,友好的交互方式,提高了學(xué)生實驗學(xué)習(xí)興趣,從而達(dá)到較好的實驗教學(xué)和實驗學(xué)習(xí)效果;瀏覽器訪問大大提高了學(xué)生在線學(xué)習(xí)便利性,有利于推廣和使用。

1 Three.js簡介

在基于網(wǎng)頁的前端網(wǎng)絡(luò)應(yīng)用開發(fā)中,HTML +CCS+JavaScript是一種常見的開發(fā)模式,其中HTML語言負(fù)責(zé)網(wǎng)頁的內(nèi)容,CCS 負(fù)責(zé)網(wǎng)頁的格式和樣式,而JavaScript語言則負(fù)責(zé)交互與應(yīng)用。WebGL 是一種JavaScript的三維圖形編程接口,給在線三維虛擬仿真程序的開發(fā)創(chuàng)造了新的機遇[4-6]。但原生的WebGL使用難度較高,在實際應(yīng)用和開發(fā)中效率較低。Three.js是由第三方用JavaScript編寫、對WebGL 進(jìn)行了進(jìn)一步封裝的高級開源程序庫,它通過使用scene(場景)、camera(相機)、renderer(渲染器)3 個主要組件可以直接在Web 瀏覽器中創(chuàng)建和渲染場景[7]。通過Three.js可以方便地實現(xiàn)面向?qū)ο蟮脑O(shè)計和開發(fā),如調(diào)用光源、渲染器、材質(zhì)、模型等各種對象來創(chuàng)建實際需要的三維場景[8-10]。此外由于Three.js 是用JavaScript 開發(fā)編寫的,它在IE、Chrome 和Firefox 等主流瀏覽器中均有很好的兼容性[11-12]。同時,Three.js 提供了大量的實例程序,方便開發(fā)人員在這些程序的基礎(chǔ)上針對自己的應(yīng)用進(jìn)行組裝和定制[13-14]。目前Three.js已在不同的學(xué)科領(lǐng)域得到了廣泛應(yīng)用。

2 技術(shù)要點

2.1 實驗設(shè)計

在完成仿真實驗的架構(gòu)和流程的設(shè)計中非常注重實驗內(nèi)容和實驗流程的教學(xué)設(shè)計,盡可能接近真實的實驗情況,以確保與實操實驗教學(xué)結(jié)合時對其有所幫助。通過簡化軟件操作界面,優(yōu)化實驗流程,幫助學(xué)生能夠跟隨仿真實驗在合理的時間內(nèi)完成實驗操作和測量。比如分光計的仿真實驗中,根據(jù)實驗的主干步驟設(shè)計操控面板,每一步只顯示必要的調(diào)節(jié)旋鈕。

此外,仿真實驗的設(shè)計除了要與真實實驗相似之外,還要體現(xiàn)自己的優(yōu)勢:即能幫助學(xué)生對儀器的構(gòu)造和工作原理獲得感性認(rèn)識,可重復(fù)操作嘗試等。在這方面,Three.js的優(yōu)勢很明顯:它可以給任何模型提供半透明的視圖,使學(xué)生能容易看到儀器的內(nèi)部結(jié)構(gòu)和光路(這一點對分光計實驗而言尤為重要);直接刷新網(wǎng)頁就可以開始實驗,幾乎所有的瀏覽器都支持虛擬實驗的載入,也能像游戲那樣保存載入進(jìn)度。

2.2 實驗場景、光源和相機的創(chuàng)建

實驗場景主要是指實驗儀器和實驗臺。很多仿真實驗只需要對實驗儀器進(jìn)行三維建模,可以不顯示實驗臺。如果實驗儀器有可以相對移動的部件,那么這些部件需要獨立建模。Three.js除了提供了創(chuàng)建一些簡單幾何體(如球體、柱體、椎體等)的函數(shù)外,還提供了豐富的導(dǎo)入外部三維模型的接口,如stlloader、objloader、plyloader等,可將在其他應(yīng)用程序中制作的stl、obj、ply 等多種格式的三維模型導(dǎo)入到仿真程序的場景中。此外,借用一些外部的函數(shù),還能在程序中對這些三維模型進(jìn)行合并、切割等操作,以創(chuàng)建更為復(fù)雜的幾何體。對于有相對運動的部件,可以根據(jù)相對運動的層次,創(chuàng)建多級群組(Group),每一個群組內(nèi)的對象可以相對運動,還可以與上一級群組中的其他部件一起運動。這些對象的運動能方便同步到整個場景中[15]。如分光計實驗中的目鏡、望遠(yuǎn)鏡筒、望遠(yuǎn)鏡筒支架和分光計底座,就分別屬于不同層次的對象,目鏡可以有相對于望遠(yuǎn)鏡筒的前后移動,望遠(yuǎn)鏡筒可以有相對于其支架的俯仰角度變化,而望遠(yuǎn)鏡筒支架又能繞分光計底座旋轉(zhuǎn)。

Three.js提供了幾種在三維動畫中常見的光源,如點光源和平行光光源,用于場景的照明和光影效果。注意,目前Three.js的光源除了有影子效果外,并不能產(chǎn)生真正物理意義上的反射和折射。那些逼真的反射和折射效果是通過一些算法“偽造”的,真實的物理反射和折射在仿真實驗中對系統(tǒng)的計算需求太大,在普通的應(yīng)用場景中無法實現(xiàn)。因此,對于光學(xué)實驗而言,不能采用系統(tǒng)提供的光源作為實驗用光源,換言之,反射和折射也都不能用有照明效果的光來實現(xiàn)。由于分光計實驗的難點在于理解光路和儀器各部件運動的關(guān)系,因此直接利用明亮直線的可視化來代替光線,并通過編程讓這些光線在特定的鏡面上或透鏡中產(chǎn)生反射或折射,如圖1 所示。為在模擬實驗中觀察到分劃板上光點的效果,Three.js提供了加載紋理的工具,每個光點可以顯示為一個真實實驗中看到的十字像,不同十字像重合時表示聚焦,如圖2 所示。

圖1 光線的反射和折射(為方便顯示,望遠(yuǎn)鏡筒暫處于不可視狀態(tài))

圖2 分劃板上光點的聚焦(左)和失焦(右)

Three.js 提供了有遠(yuǎn)景(perspective)效果和無遠(yuǎn)景效果的兩種相機,有遠(yuǎn)景效果的相機畫面立體感更強,可在多數(shù)場合下使用,但有些實驗,例如密立根油滴實驗則需要用到無遠(yuǎn)景效果的相機。如圖3 所示,左邊為無遠(yuǎn)景效果相機的畫面,右邊為有遠(yuǎn)景效果相機的畫面。左邊畫面觀察到的油滴下降對于遠(yuǎn)近不同油滴而言是一樣的,方便測量油滴下降特定距離的時間,而右邊畫面可以通過調(diào)焦觀察遠(yuǎn)近不同的油滴。利用不同的相機,還可以在網(wǎng)絡(luò)頁面上顯示不同位置和角度看到的畫面,例如在分光計實驗中,可以開啟專門觀察目鏡視野的畫面,也可以有載物臺(見圖4)或游標(biāo)讀數(shù)的特寫畫面。畫面布局的變化可在適當(dāng)?shù)膶嶒灢襟E中通過鼠標(biāo)和鍵盤的操作實現(xiàn)。

圖3 密立根油滴實驗界面(左側(cè)為無遠(yuǎn)景效果視圖,右側(cè)為有遠(yuǎn)景效果視圖。左側(cè)視圖中油滴下降相同的格子數(shù)代表相同的下降距離,與油滴的遠(yuǎn)近無關(guān))

圖4 分光計實驗界面(中間靠右的兩個視圖為目鏡視野和載物臺俯視圖的特寫)

2.3 實驗的交互控制

Three.js可以編程實現(xiàn)物體的運動(動畫)。物體的運動也可以交互地用鼠標(biāo)或鍵盤實現(xiàn)。這時可用一個小型的圖形交互工具——dat.gui 來實現(xiàn)[16]。它提供可以以一個很小步長改變某變量的滑塊、勾選布爾變量的單選框以及從多個參數(shù)中選擇某個參數(shù)的菜單選框等控件(見圖5),能實時地改變程序的參數(shù),且程序能實時地作出響應(yīng)。通過這些控件可對場景中的對象進(jìn)行操作和控制,例如望遠(yuǎn)鏡筒轉(zhuǎn)動及聚焦的調(diào)節(jié)。為了改善操作的體驗,還將這些控件的調(diào)節(jié)和顯示關(guān)聯(lián)到了鼠標(biāo)的滾輪,通過滾動鼠標(biāo)滾輪,也能調(diào)節(jié)相關(guān)的參數(shù)。

圖5 dat.gui提供的各種圖形交互控件(最上面“打開十字光源”為布爾變量的單選框,載物臺放置的器件可從一個下拉菜單中選擇,其他變量通過拖動滑塊來控制)

3 討 論

Three.js是一個開源的開發(fā)平臺,他官網(wǎng)提供了海量的示例,可以在這些示例的基礎(chǔ)上進(jìn)行開發(fā)。文獻(xiàn)8 由淺入深地提供了可供學(xué)習(xí)和直接使用的范例。這些都大大簡化了開發(fā)的難度,只要對JavaScript有基礎(chǔ)性學(xué)習(xí),即可進(jìn)行實驗開發(fā)。用JavaScript開發(fā)還有一個優(yōu)勢,就是網(wǎng)上有很多范例可供免費使用,例如計時器,其代碼即可從網(wǎng)上找到。可以說這是一個相對比較容易入門的仿真實驗開發(fā)工具,利于不同學(xué)科的教師進(jìn)行在線虛擬實驗開發(fā),具有較高的應(yīng)用價值。

本文開發(fā)的虛擬仿真實具有如下特點:①具有豐富的物理內(nèi)涵。該模擬實驗,能夠真實地反映物理過程,在程序控制中融入了物理方程。盡管由于透鏡三維模型的精度有限,無法實現(xiàn)完美聚焦(見圖2 左圖),但在模擬光的折射中,該軟件是利用折射定律計算出射光線方向,而不是簡單地用牛頓方程根據(jù)物距和焦距算出像距;在密立根油滴實驗中,虛擬實驗嚴(yán)格地計算了油滴的速度和加速度,并盡可能多地用實際實驗的參數(shù)(如重力加速度、油滴密度、空氣黏度等)來進(jìn)行仿真。②程序使用體驗感好。類似電腦游戲仿真物理實驗是通過鼠標(biāo)和鍵盤實現(xiàn)調(diào)節(jié),雖然符合學(xué)生操作習(xí)慣,但如果設(shè)計不好,操作起來比真實儀器的調(diào)節(jié)可能更難。因此仿真實驗,充分利用了鼠標(biāo)和鍵盤的各種功能。如仿真實驗項目“密立根油滴實驗”中利用鍵盤上位置靠近的幾個鍵,實現(xiàn)油滴電壓的控制;仿真實驗項目“分光計”中使用鼠標(biāo)直接在場景中點擊完成螺絲的選擇,利用滾輪滾動即可實現(xiàn)載物臺高低調(diào)節(jié),完成載物臺的3 個調(diào)節(jié)螺絲。操作便捷,程序運行流暢。③仿真實驗難度適當(dāng)。由于大學(xué)物理仿真實驗與科研性質(zhì)的仿真實驗不同,其目的是讓學(xué)生在無真實儀器的情況下了解實驗的流程,對實驗原理和操作獲得一些感性認(rèn)識。仿真實驗作為真實操作實驗預(yù)習(xí)和實驗學(xué)習(xí)的輔助手段,完成實驗的時間一般控制在30 ~45 min 之間。合理的流程設(shè)計能引導(dǎo)學(xué)生按正確的步驟來操作,可一定程度上降低難度。此外,通過調(diào)整實驗初始參數(shù)的設(shè)置來實現(xiàn)難度的控制。

4 結(jié) 語

作為真實物理實驗的補充,將虛擬仿真實驗引入教學(xué),可以打破學(xué)生實驗學(xué)習(xí)空間的限制,實現(xiàn)線上線下混合式實驗學(xué)習(xí),提高物理實驗預(yù)習(xí)和學(xué)習(xí)的效率,提升教學(xué)效果。學(xué)生通過生動、直觀的三維場景下的虛擬仿真實驗可有效地完成實驗學(xué)習(xí),很好地解決了難以通過紙質(zhì)實驗講義和視頻獲取對實驗原理及儀器結(jié)構(gòu)直觀認(rèn)識的問題。可以期望,在線虛擬仿真實驗的開發(fā)和應(yīng)用將解決學(xué)生對復(fù)雜物理實驗預(yù)習(xí)效果不佳、課堂難以高質(zhì)量完成實驗的問題,對提高學(xué)生實驗學(xué)習(xí)的積極性和主動性大有裨益,還能有效訓(xùn)練學(xué)生對實際問題的洞察以及動手解決問題的能力。

由于JavaScript是單線程編程語言,對于復(fù)雜的應(yīng)用,有可能出現(xiàn)運行很慢的問題。但WebGL 有web worker這樣一個可充分利用計算機多線程資源的工具,可擴展Three.js 功能的庫——Physi.js,可以對三維場景中的對象應(yīng)用重力效果、碰撞效果等。期望將來能利用這些技術(shù)開發(fā)出更為復(fù)雜、物理內(nèi)涵更為豐富的虛擬仿真實驗。

猜你喜歡
實驗教學(xué)物理效果
只因是物理
井岡教育(2022年2期)2022-10-14 03:11:44
按摩效果確有理論依據(jù)
小議初中化學(xué)演示實驗教學(xué)
甘肅教育(2020年4期)2020-09-11 07:42:36
電容器的實驗教學(xué)
物理之友(2020年12期)2020-07-16 05:39:20
對初中化學(xué)實驗教學(xué)的認(rèn)識和體會
甘肅教育(2020年8期)2020-06-11 06:10:04
處處留心皆物理
迅速制造慢門虛化效果
抓住“瞬間性”效果
中華詩詞(2018年11期)2018-03-26 06:41:34
三腳插頭上的物理知識
幾何體在高中數(shù)學(xué)實驗教學(xué)中的應(yīng)用
主站蜘蛛池模板: 日韩在线视频网| 亚洲视频在线青青| a在线亚洲男人的天堂试看| 天天色综合4| 国产91熟女高潮一区二区| 久久精品人人做人人爽电影蜜月| 91免费观看视频| 思思热在线视频精品| 伊人婷婷色香五月综合缴缴情| 久久国产拍爱| 四虎国产成人免费观看| 亚洲国产精品VA在线看黑人| 国产在线高清一级毛片| A级全黄试看30分钟小视频| 精品视频一区二区三区在线播| 99久久人妻精品免费二区| 亚洲精品手机在线| 色婷婷色丁香| 国产免费一级精品视频| 久久semm亚洲国产| 二级毛片免费观看全程| www.亚洲天堂| 幺女国产一级毛片| 婷婷六月天激情| 国产精品观看视频免费完整版| 日本一区二区三区精品国产| 亚洲AV成人一区国产精品| 国产精品性| 一级一级一片免费| 三上悠亚一区二区| 国产人成在线观看| 欧美成人怡春院在线激情| 久久亚洲欧美综合| 亚洲热线99精品视频| 99er这里只有精品| 欧美精品综合视频一区二区| 狠狠五月天中文字幕| 美臀人妻中出中文字幕在线| 亚洲视频免费在线看| 伊人久久大香线蕉影院| 亚洲VA中文字幕| 亚洲一区国色天香| 99久久国产自偷自偷免费一区| 一级毛片在线免费看| 久草视频精品| 好紧好深好大乳无码中文字幕| 成人免费视频一区| 四虎AV麻豆| 无码免费的亚洲视频| 久久福利网| 国产在线高清一级毛片| 一级毛片在线播放免费| 日日噜噜夜夜狠狠视频| 国产三级精品三级在线观看| 亚洲成人网在线播放| 特级做a爰片毛片免费69| 天堂成人av| 丝袜美女被出水视频一区| 成年av福利永久免费观看| 老色鬼欧美精品| 免费又爽又刺激高潮网址| 久久国产精品嫖妓| 久久久久久久蜜桃| 伊人成色综合网| 日韩国产高清无码| 国产三级a| 欧美一区日韩一区中文字幕页| 亚洲男人的天堂在线观看| 国产高清又黄又嫩的免费视频网站| 亚洲欧洲日本在线| 欧美中文字幕在线视频| 漂亮人妻被中出中文字幕久久 | 国产原创自拍不卡第一页| 欧美亚洲综合免费精品高清在线观看| 亚洲天堂免费观看| 成人免费网站在线观看| 国产人成在线视频| 日韩免费毛片| 精品久久国产综合精麻豆| 免费人成网站在线观看欧美| 伊人激情综合| 亚洲系列无码专区偷窥无码|