基于VPython的运动仿真在大学物理教学中的应用
2016-02-20刘高福
钟 振,刘高福
(1.贵州师范大学物理与电子科学学院,贵州贵阳 550001;2.中科院国家天文台贵州师范大学天文研究与教育中心,贵州贵阳 550001;3.贵州师范学院物理与电子科学学院,贵州贵阳 550018)
基于VPython的运动仿真在大学物理教学中的应用
钟 振1,2,刘高福3
(1.贵州师范大学物理与电子科学学院,贵州贵阳 550001;2.中科院国家天文台贵州师范大学天文研究与教育中心,贵州贵阳 550001;3.贵州师范学院物理与电子科学学院,贵州贵阳 550018)
针对物理可视化教学中,如何快速有效地对复杂物理现象和规律进行三维仿真,提出利用开源免费的三维图形库VPython进行快速建模与仿真。以小球半圆弧轨道运动为例,对其进行建模、分析与模拟,验证了VPython仿真分析的高效性。将其应用于物理教学,有助于学生理解和掌握物理规律,在一定程度上有助于VPython的应用与推广,为教师及学生VPython的应用提供有益的参考。
大学物理;VPython;模拟仿真;可视化教学
目前,大学物理这门课程已成我国大部分高等院校理工科专业开设的通识课程。该门课程立足物理学科的内在特点,有助于激发学生的科研热情,对培养学生的科研思维和研究方法起着积极的作用。伴随教育改革的实施,大学物理课程的学时数不断减少,以及受当前高度发达的信息技术的冲击,学生的学习取向和价值观发生了巨大的变化,如何激发学生学习大学物理这类基础课程的热情,已成当前重要关注的问题[1-3]。目前信息技术的普及,计算机可视化技术的发展,促进了多媒体技术在课程教学中的普及。多媒体技术的引入,使得抽象的物理问题变得形象生动,同时也容易激发学生的科研热情。目前常用的模拟软件较多,每种软件都各有利弊,主流数值分析软件侧重于数值计算,动画模拟比较复杂。大多数课件制作软件,要么收费较高,要么数值计算较弱,不利于一线物理教师的课件制作。
近十年来,Python语言以其丰富和强大的库,在科研领域得到了极大的发展。十分宝贵的是Python的许多库都是开源免费的,非常有利于普通一线物理教师科研和教学工作的开展。例如,Python语言加载 NumPy、SymPy、SciPy、Mayavi、matplotlib和VPython库后,可以轻松地实现众多数学软件的符号处理、数值分析和模拟、图象处理、多维可视化和动画模拟等[4]。不用像传统高级语言那样编写较多的代码,减轻了物理教师的负担,教师可以腾出更多的时间来开展教学活动。VPython是一套简单易用的三维图形库,可以快速创建三维场景和动画。其精妙之处在于:只要在一个循环体中不断地修改场景中的各处模型及相关属性,即可实现动画效果,对一线教师开展大学物理教学大有裨益。本文以小球半圆弧轨道运动为例,首先推导了半圆弧运动的非线性轨道方程,然后应用龙格-库塔方法对运动方程进行了求解,最后应用VPython对小球不同初始条件的半圆弧运动进行了模拟,借以实现VPython在大学物理可视化教学中的应用与推广,以供同行及学生参考。
1 半圆弧运动的轨道方程
一质量为m的小球以一初速度v0,不考虑阻力作用,在自身重力作用下沿半圆弧轨道运动,仿真分析小球不同初速度v0的运动轨迹。建立如图1所示的直角坐标系,假设小球某时刻上升至图示虚线位置,此时小球与y轴成θ角。
图1 小球半圆弧轨道运动示意图
由几何关系可知,此时小球所受重力与径向也成θ角。在运动方向上,有如下关系:
方程(2)是典型的非线性二阶常微分方程,该方程没有解析解,只有数值解。为了求解方程(2),引入角速度ω,那么方程(2)可以变形为:
初始条件:t=0时,w0=v0/r,θ0=0。
2 应用龙格-库塔方法求解运动方程
为了精确求解方程(3),采用四阶龙格-库塔对其进行求解。根据文献[5],假设时间步长为dt,对(3)式中两个方程分别采用四阶龙格-库塔进行计算,其计算式如下所示:
其中,ti表示上一时刻,θ(ti)表示小球上一时刻相对圆心O'转过的角度,相应的角速度为ω(ti);ti+1表示当前时刻,θ(ti+1)表示小球当前时刻相对圆心O'转过的角度,相应的角速度为ω(ti+1)。
3 应用VPython模拟小球半圆弧轨道运动
取半圆弧轨道半径r=1 m,并取重力加速度g=10 m/s2,应用VPython对小球运动进行模拟。模拟过程中,需要注意,当小球脱离轨道时,小球将作平抛运动或类平抛运动。由于不考虑阻力作用,根据机械能守恒定律,小球通过最高点时的最小初速度为v01=m/s。同理,可知小球运动至1/4圆弧轨道后,再沿圆弧轨道返回的最大初速度为v02=m/s。当小球的初速度小于v02时,小球最大限度地运动至1/4圆弧之间某处后,将按原路径返回起点所在平面。当小球的初速度介于v02和v01之间时,小球将通过1/4圆弧,并在1/4圆弧与半圆弧之间脱离轨道后作类平抛运动。当小球的初速度大于v01时,可以通过最高点,然后作平抛运动。
小球初始速度v0=m/s时的运动轨迹如图2所示,由于该初始速度小于1/4圆弧的最大初速度v02=m/s,小球在t=0.66 s时达到最大高度,之后沿圆弧轨道返回起点所在水平面。当小球初速度v0=m/s时,其大小介于v02和v01之间,其运动轨迹如图3所示。在t =0.62 s时,达到最大高度,随后脱离轨道做类平抛运动。当小球初速度v0=m/s时,其运动轨迹如图4所示。由于该初速度大于通过最高点的最小速度v01=m/s,因此,小球可以通过最高点,并在t=0.58 s后脱离轨道,随后做平抛运动。很显然仿真结果与理论分析一致,表明本文构建的模型(2)式及其数值计算(4)式具有一定的合理性和实用性。在实际教学过程中,通过调节初始速度,学生可以很容易地理解小球在半圆弧轨道上的运动规律,使得枯燥的物理过程变得形象生动。形象的三维仿真不仅吸引了学生的学习兴趣,更激发他们探究、钻研物理问题、学习查阅资料、动手实践的能力,在一定程度上促进了教学活动的开展。有关本文不同初速度决定的小球运动轨迹的VPython脚本如图5所示,小球的实际运动轨迹可以通过图5(a)中的初速度变量v0进行调节。
图2 小球初速度v0=m/s时,在不同时刻的运动轨迹
图3 小球初速度v0=m/s时,在不同时刻的运动轨迹
图4 小球初速度v0=m/s时,在不同时刻的运动轨迹
图5 由不同初速度决定的小球圆弧运动轨迹的VPython脚本
4 结语
大学物理作为普通高等院校的通识课,是理工科专业的基础课程。伴随教育改革的实施,大学物理课程的学时数不断减少。以及受当前高度发达的信息技术的冲击,学生的学习取向和价值观发生了巨大的变化。以多媒体技术为媒介,辅以学术研究前沿,有助于学生了解该门基础课程在当前高新技术中扮演的重要角色,配合可视化教学,可以使枯燥的理论变得生动形象,进而激发学生的学习热情,塑造潜在的科研能力。当前常用的模拟软件各有利弊,而且费用昂贵,动画仿真复杂,数据综合处理能力不完善,不利于一线物理教师可视化教学的开展。VPython作为Python一个开源免费的三维图形库,可以快速创建三维场景和动画,对一线教师开展大学物理教学大有裨益。由于篇幅所致,本文仅以小球半圆弧轨道运动为例,通过运动方程的建立及求解,应用VPython成功地模拟了不同初始速度的小球运动轨迹。对同行教师可视化教学的开展,以及学生对实际物理问题的建模、分析和仿真具有一定的参考,在一定程度上有助于VPython在可视化教学中的应用与推广。
[1]宁长春,索郎桑姆.以科学工作介绍的融入促进大学物理教学[J].大学物理,2012(8):39-43.
[2]周武雷,蔡托,潘晓慧.基于原始物理问题的大学物理教学实践[J].大学物理,2010(6):43-48.
[3]李明.对加强和改进大学物理教学中多媒体技术的探讨[J].大学物理,2005(12):48-62.
[4]张若愚.Python科学计算[M].北京:清华大学出版社,2012.
[5]李庆扬,王能超,易大义.数值分析[M].北京:清华大学出版社,2002.
[责任编辑:周冬梅]
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
国家自然科学基金(41404021)、贵州省科学技术基金(黔科合J字[2014]2128)和贵州师范大学博士科研项目资助。
钟 振(1982-),男,博士,贵州师范大学副教授,研究方向:月球重力场和月球内部结构方面。