鐘 振,劉高福
(1.貴州師范大學(xué)物理與電子科學(xué)學(xué)院,貴州貴陽(yáng) 550001;2.中科院國(guó)家天文臺(tái)貴州師范大學(xué)天文研究與教育中心,貴州貴陽(yáng) 550001;3.貴州師范學(xué)院物理與電子科學(xué)學(xué)院,貴州貴陽(yáng) 550018)
基于VPython的運(yùn)動(dòng)仿真在大學(xué)物理教學(xué)中的應(yīng)用
鐘 振1,2,劉高福3
(1.貴州師范大學(xué)物理與電子科學(xué)學(xué)院,貴州貴陽(yáng) 550001;2.中科院國(guó)家天文臺(tái)貴州師范大學(xué)天文研究與教育中心,貴州貴陽(yáng) 550001;3.貴州師范學(xué)院物理與電子科學(xué)學(xué)院,貴州貴陽(yáng) 550018)
針對(duì)物理可視化教學(xué)中,如何快速有效地對(duì)復(fù)雜物理現(xiàn)象和規(guī)律進(jìn)行三維仿真,提出利用開(kāi)源免費(fèi)的三維圖形庫(kù)VPython進(jìn)行快速建模與仿真。以小球半圓弧軌道運(yùn)動(dòng)為例,對(duì)其進(jìn)行建模、分析與模擬,驗(yàn)證了VPython仿真分析的高效性。將其應(yīng)用于物理教學(xué),有助于學(xué)生理解和掌握物理規(guī)律,在一定程度上有助于VPython的應(yīng)用與推廣,為教師及學(xué)生VPython的應(yīng)用提供有益的參考。
大學(xué)物理;VPython;模擬仿真;可視化教學(xué)
目前,大學(xué)物理這門(mén)課程已成我國(guó)大部分高等院校理工科專(zhuān)業(yè)開(kāi)設(shè)的通識(shí)課程。該門(mén)課程立足物理學(xué)科的內(nèi)在特點(diǎn),有助于激發(fā)學(xué)生的科研熱情,對(duì)培養(yǎng)學(xué)生的科研思維和研究方法起著積極的作用。伴隨教育改革的實(shí)施,大學(xué)物理課程的學(xué)時(shí)數(shù)不斷減少,以及受當(dāng)前高度發(fā)達(dá)的信息技術(shù)的沖擊,學(xué)生的學(xué)習(xí)取向和價(jià)值觀發(fā)生了巨大的變化,如何激發(fā)學(xué)生學(xué)習(xí)大學(xué)物理這類(lèi)基礎(chǔ)課程的熱情,已成當(dāng)前重要關(guān)注的問(wèn)題[1-3]。目前信息技術(shù)的普及,計(jì)算機(jī)可視化技術(shù)的發(fā)展,促進(jìn)了多媒體技術(shù)在課程教學(xué)中的普及。多媒體技術(shù)的引入,使得抽象的物理問(wèn)題變得形象生動(dòng),同時(shí)也容易激發(fā)學(xué)生的科研熱情。目前常用的模擬軟件較多,每種軟件都各有利弊,主流數(shù)值分析軟件側(cè)重于數(shù)值計(jì)算,動(dòng)畫(huà)模擬比較復(fù)雜。大多數(shù)課件制作軟件,要么收費(fèi)較高,要么數(shù)值計(jì)算較弱,不利于一線(xiàn)物理教師的課件制作。
近十年來(lái),Python語(yǔ)言以其豐富和強(qiáng)大的庫(kù),在科研領(lǐng)域得到了極大的發(fā)展。十分寶貴的是Python的許多庫(kù)都是開(kāi)源免費(fèi)的,非常有利于普通一線(xiàn)物理教師科研和教學(xué)工作的開(kāi)展。例如,Python語(yǔ)言加載 NumPy、SymPy、SciPy、Mayavi、matplotlib和VPython庫(kù)后,可以輕松地實(shí)現(xiàn)眾多數(shù)學(xué)軟件的符號(hào)處理、數(shù)值分析和模擬、圖象處理、多維可視化和動(dòng)畫(huà)模擬等[4]。不用像傳統(tǒng)高級(jí)語(yǔ)言那樣編寫(xiě)較多的代碼,減輕了物理教師的負(fù)擔(dān),教師可以騰出更多的時(shí)間來(lái)開(kāi)展教學(xué)活動(dòng)。VPython是一套簡(jiǎn)單易用的三維圖形庫(kù),可以快速創(chuàng)建三維場(chǎng)景和動(dòng)畫(huà)。其精妙之處在于:只要在一個(gè)循環(huán)體中不斷地修改場(chǎng)景中的各處模型及相關(guān)屬性,即可實(shí)現(xiàn)動(dòng)畫(huà)效果,對(duì)一線(xiàn)教師開(kāi)展大學(xué)物理教學(xué)大有裨益。本文以小球半圓弧軌道運(yùn)動(dòng)為例,首先推導(dǎo)了半圓弧運(yùn)動(dòng)的非線(xiàn)性軌道方程,然后應(yīng)用龍格-庫(kù)塔方法對(duì)運(yùn)動(dòng)方程進(jìn)行了求解,最后應(yīng)用VPython對(duì)小球不同初始條件的半圓弧運(yùn)動(dòng)進(jìn)行了模擬,借以實(shí)現(xiàn)VPython在大學(xué)物理可視化教學(xué)中的應(yīng)用與推廣,以供同行及學(xué)生參考。
一質(zhì)量為m的小球以一初速度v0,不考慮阻力作用,在自身重力作用下沿半圓弧軌道運(yùn)動(dòng),仿真分析小球不同初速度v0的運(yùn)動(dòng)軌跡。建立如圖1所示的直角坐標(biāo)系,假設(shè)小球某時(shí)刻上升至圖示虛線(xiàn)位置,此時(shí)小球與y軸成θ角。
圖1 小球半圓弧軌道運(yùn)動(dòng)示意圖
由幾何關(guān)系可知,此時(shí)小球所受重力與徑向也成θ角。在運(yùn)動(dòng)方向上,有如下關(guān)系:
方程(2)是典型的非線(xiàn)性二階常微分方程,該方程沒(méi)有解析解,只有數(shù)值解。為了求解方程(2),引入角速度ω,那么方程(2)可以變形為:
初始條件:t=0時(shí),w0=v0/r,θ0=0。
為了精確求解方程(3),采用四階龍格-庫(kù)塔對(duì)其進(jìn)行求解。根據(jù)文獻(xiàn)[5],假設(shè)時(shí)間步長(zhǎng)為dt,對(duì)(3)式中兩個(gè)方程分別采用四階龍格-庫(kù)塔進(jìn)行計(jì)算,其計(jì)算式如下所示:
其中,ti表示上一時(shí)刻,θ(ti)表示小球上一時(shí)刻相對(duì)圓心O'轉(zhuǎn)過(guò)的角度,相應(yīng)的角速度為ω(ti);ti+1表示當(dāng)前時(shí)刻,θ(ti+1)表示小球當(dāng)前時(shí)刻相對(duì)圓心O'轉(zhuǎn)過(guò)的角度,相應(yīng)的角速度為ω(ti+1)。
取半圓弧軌道半徑r=1 m,并取重力加速度g=10 m/s2,應(yīng)用VPython對(duì)小球運(yùn)動(dòng)進(jìn)行模擬。模擬過(guò)程中,需要注意,當(dāng)小球脫離軌道時(shí),小球?qū)⒆髌綊佭\(yùn)動(dòng)或類(lèi)平拋運(yùn)動(dòng)。由于不考慮阻力作用,根據(jù)機(jī)械能守恒定律,小球通過(guò)最高點(diǎn)時(shí)的最小初速度為v01=m/s。同理,可知小球運(yùn)動(dòng)至1/4圓弧軌道后,再沿圓弧軌道返回的最大初速度為v02=m/s。當(dāng)小球的初速度小于v02時(shí),小球最大限度地運(yùn)動(dòng)至1/4圓弧之間某處后,將按原路徑返回起點(diǎn)所在平面。當(dāng)小球的初速度介于v02和v01之間時(shí),小球?qū)⑼ㄟ^(guò)1/4圓弧,并在1/4圓弧與半圓弧之間脫離軌道后作類(lèi)平拋運(yùn)動(dòng)。當(dāng)小球的初速度大于v01時(shí),可以通過(guò)最高點(diǎn),然后作平拋運(yùn)動(dòng)。
小球初始速度v0=m/s時(shí)的運(yùn)動(dòng)軌跡如圖2所示,由于該初始速度小于1/4圓弧的最大初速度v02=m/s,小球在t=0.66 s時(shí)達(dá)到最大高度,之后沿圓弧軌道返回起點(diǎn)所在水平面。當(dāng)小球初速度v0=m/s時(shí),其大小介于v02和v01之間,其運(yùn)動(dòng)軌跡如圖3所示。在t =0.62 s時(shí),達(dá)到最大高度,隨后脫離軌道做類(lèi)平拋運(yùn)動(dòng)。當(dāng)小球初速度v0=m/s時(shí),其運(yùn)動(dòng)軌跡如圖4所示。由于該初速度大于通過(guò)最高點(diǎn)的最小速度v01=m/s,因此,小球可以通過(guò)最高點(diǎn),并在t=0.58 s后脫離軌道,隨后做平拋運(yùn)動(dòng)。很顯然仿真結(jié)果與理論分析一致,表明本文構(gòu)建的模型(2)式及其數(shù)值計(jì)算(4)式具有一定的合理性和實(shí)用性。在實(shí)際教學(xué)過(guò)程中,通過(guò)調(diào)節(jié)初始速度,學(xué)生可以很容易地理解小球在半圓弧軌道上的運(yùn)動(dòng)規(guī)律,使得枯燥的物理過(guò)程變得形象生動(dòng)。形象的三維仿真不僅吸引了學(xué)生的學(xué)習(xí)興趣,更激發(fā)他們探究、鉆研物理問(wèn)題、學(xué)習(xí)查閱資料、動(dòng)手實(shí)踐的能力,在一定程度上促進(jìn)了教學(xué)活動(dòng)的開(kāi)展。有關(guān)本文不同初速度決定的小球運(yùn)動(dòng)軌跡的VPython腳本如圖5所示,小球的實(shí)際運(yùn)動(dòng)軌跡可以通過(guò)圖5(a)中的初速度變量v0進(jìn)行調(diào)節(jié)。
圖2 小球初速度v0=m/s時(shí),在不同時(shí)刻的運(yùn)動(dòng)軌跡
圖3 小球初速度v0=m/s時(shí),在不同時(shí)刻的運(yùn)動(dòng)軌跡
圖4 小球初速度v0=m/s時(shí),在不同時(shí)刻的運(yùn)動(dòng)軌跡
圖5 由不同初速度決定的小球圓弧運(yùn)動(dòng)軌跡的VPython腳本
大學(xué)物理作為普通高等院校的通識(shí)課,是理工科專(zhuān)業(yè)的基礎(chǔ)課程。伴隨教育改革的實(shí)施,大學(xué)物理課程的學(xué)時(shí)數(shù)不斷減少。以及受當(dāng)前高度發(fā)達(dá)的信息技術(shù)的沖擊,學(xué)生的學(xué)習(xí)取向和價(jià)值觀發(fā)生了巨大的變化。以多媒體技術(shù)為媒介,輔以學(xué)術(shù)研究前沿,有助于學(xué)生了解該門(mén)基礎(chǔ)課程在當(dāng)前高新技術(shù)中扮演的重要角色,配合可視化教學(xué),可以使枯燥的理論變得生動(dòng)形象,進(jìn)而激發(fā)學(xué)生的學(xué)習(xí)熱情,塑造潛在的科研能力。當(dāng)前常用的模擬軟件各有利弊,而且費(fèi)用昂貴,動(dòng)畫(huà)仿真復(fù)雜,數(shù)據(jù)綜合處理能力不完善,不利于一線(xiàn)物理教師可視化教學(xué)的開(kāi)展。VPython作為Python一個(gè)開(kāi)源免費(fèi)的三維圖形庫(kù),可以快速創(chuàng)建三維場(chǎng)景和動(dòng)畫(huà),對(duì)一線(xiàn)教師開(kāi)展大學(xué)物理教學(xué)大有裨益。由于篇幅所致,本文僅以小球半圓弧軌道運(yùn)動(dòng)為例,通過(guò)運(yùn)動(dòng)方程的建立及求解,應(yīng)用VPython成功地模擬了不同初始速度的小球運(yùn)動(dòng)軌跡。對(duì)同行教師可視化教學(xué)的開(kāi)展,以及學(xué)生對(duì)實(shí)際物理問(wèn)題的建模、分析和仿真具有一定的參考,在一定程度上有助于VPython在可視化教學(xué)中的應(yīng)用與推廣。
[1]寧長(zhǎng)春,索郎桑姆.以科學(xué)工作介紹的融入促進(jìn)大學(xué)物理教學(xué)[J].大學(xué)物理,2012(8):39-43.
[2]周武雷,蔡托,潘曉慧.基于原始物理問(wèn)題的大學(xué)物理教學(xué)實(shí)踐[J].大學(xué)物理,2010(6):43-48.
[3]李明.對(duì)加強(qiáng)和改進(jìn)大學(xué)物理教學(xué)中多媒體技術(shù)的探討[J].大學(xué)物理,2005(12):48-62.
[4]張若愚.Python科學(xué)計(jì)算[M].北京:清華大學(xué)出版社,2012.
[5]李慶揚(yáng),王能超,易大義.?dāng)?shù)值分析[M].北京:清華大學(xué)出版社,2002.
[責(zé)任編輯:周冬梅]
VPython application in the animational simulation of college physics teaching
ZHONG Zhen1,2,LIU Gao-fu3
(1.School of Physics and Electronic Science,Guizhou Normal University,Guiyang,Guizhou,550001; 2.NAOC-GZNU Center for Astronomy Research and Education,Guizhou Normal University,Guiyang,Guizhou,550001; 3.School of Physics and Electronic Science,Guizhou Education University,Guiyang,Guizhou,550018)
As to the visualization of college physics teaching,it is necessary to take a 3D simulation of the complicated physical principles and phenomenon.This paper proposes an applications of the free and open source 3D graphics library VPython in the rapid modeling and simulation.We take a little ball moving along a semicircle orbit as an example.We then take a modeling,analysis and simulation.Results demonstrate the reasonability of our model and the effectiveness of the library,which can help the application and promotion of the library and could provide a beneficial reference for college teachers and students.
College physics;VPython;Simulation;Visualization teaching
G642
A
1674-7798(2016)09-0059-04
10.13391/j.cnki.issn.1674-7798.2016.09.012
2016-09-05
國(guó)家自然科學(xué)基金(41404021)、貴州省科學(xué)技術(shù)基金(黔科合J字[2014]2128)和貴州師范大學(xué)博士科研項(xiàng)目資助。
鐘 振(1982-),男,博士,貴州師范大學(xué)副教授,研究方向:月球重力場(chǎng)和月球內(nèi)部結(jié)構(gòu)方面。
貴州師范學(xué)院學(xué)報(bào)2016年9期