基于数值积分的物理学Flash课件

2015-01-10 07:50
科技视界 2015年35期
关键词:龙格数值积分库塔

彭 亮

(武汉铁路职业技术学院,湖北 武汉 430205)

0 前言

物理学是一门实验科学,单纯从数学角度来记忆公式是无法深入理解物理规律的。在物理教学过程中,传统的以粉笔和黑板作为媒介的教学方式比较死板,通过借助计算机技术,将物理运动过程制作成多媒体课件,形象、直观的展示出来,能够加深学生对物理规律的感性认识,从而提高教学的效果。

Flash是常用的动画软件之一,具有使用方便、动画效果好的优点,最为重要的是内置一套Action Script编程语言,能够通过程序的方式实现其他软件难以实现的动态效果。在物理学课件的制作过程中,传统静态动画制作方式过程繁琐,而且难以精确的再现物理运动过程。借助Flash提供的Action Script编程语言,制作过程得到了简化,还具有精确、通用性强的优点。

1 Flash中实时展现物理过程的方法

1.1 基于运动方程的方法

Flash采用帧的方式运行,通过改变图形在不同帧的位置、大小等属性来实现动画的效果,属于时间离散的过程,而真实的物理运动过程则是时间连续的。为了在Flash中精确的再现物理运动过程必须对时间连续的过程进行离散化。

物理运动过程可以由运动方程来描述,例如:

运动方程直接给出了位置与时间的关系,通过在每帧中使用方程计算出位置坐标就能再现运动过程。

这种方法精准度高,只有计算过程中的舍入误差,且误差不会累积。但该方法必须事先求出运动方程,而且不同场景的运动方程差异极大,所以通用性不是很好。

1.2 采用数值积分的方法

由于基于运动方程的方法不够灵活,通用性差,有必要直接从影响物体运动的物理规律出发,寻找一种通用的方法。

根据牛顿定律可知:物体的运动过程由初始状态(位置、速度)以及受到的力决定,而日常中出现的力可以看成和时间、物体位置和速度有关的函数,因此可以用以下微分方程来表示物体运动过程。

在物体的初始位置和速度已知的情况下,通过数值积分的方法,计算出下一帧的位置和速度,然后以此类推,也能够再现物体运动过程。这种方法通用性较好,但精度比采用运动方程的方法要差,因为使用数值积分递推计算位置和速度,不仅存在舍入误差,还有数值积分方法带来的截断误差,且误差会累积。不过通过采用高精度的计算方法,误差能做到可以接受的程度。

2 数值积分过程

2.1 欧拉方法

首先将式1改写为以下形式

采用欧拉方法求解上式的过程如下:

2.2 龙格库塔方法

采用龙格库塔方法求解式2的过程如下:

3 实例及性能分析

以斜抛运动为例,其运动过程可由以下微分方程描述:

上述式子第一项描述水平方向的运动过程,第二项描述垂直方向的运动过程。

3.1 采用欧拉方法的程序

程序中sx表示水平方向的位置,vx表示水平方向的速度,sy表示垂直方向的位置,vy表示垂直方向的速度,t表示时间,h表示积分步长。方法caculateAccX和caculateAccY用于求取加速度,与式2中的函数 v′=f(t,x,v)对应。

3.2 采用龙格库塔方法的程序

以上程序为水平方向的计算过程,垂直方向的计算过程与之类似,程序中的变量和函数与欧拉方法程序的变量和函数相同。可以看到龙格库塔法的计算过程要比欧拉方法复杂,接下来将会对两者的性能进行比对分析。

3.3 性能分析

图1

图1中为取h=0.2s时的运行结果,图中实线为运动方程表示的运动过程,+记号的点序列表示欧拉方法计算结果,×记号的点序列表示龙格库塔方法计算结果。可以看出欧拉方法在初段与运动方程的结果相近,但随着步数增加,误差越来越大,而龙格库塔法的误差几乎可以忽略。

4 结束语

本文介绍了基于数值积分的物理学Flash课件制作方法,给出了采用两种不同数值积分的实现过程,并对两者的性能进行比对,得出结论:欧拉方法计算过程简单,但误差较大,适合在步长较短且运行时间也比较短的场合使用,龙格库塔法计算过程复杂,但误差很小,适合在步长较长且运行时间也比较长的场合使用。

[1]陈誌敏.龙格-库塔法及其Mathematica实现[J].武汉工程职业技术学院学报,2006,18(2).

[2]黄晓红,胡振华.浅析龙格-库塔方法[J].黑龙江科技信息,2012(23).

[3]陆映红.基于物理学原理Flash行为动画的实现[J].广西民族学院学报,2005,11(4).

猜你喜欢
龙格数值积分库塔
基于计算前沿面的实时仿真数值积分并行构造及其数值模型解耦加速方法
库塔克《四首随想曲》的音高材料与创作观念研究
基于辛普生公式的化工实验中列表函数的一种积分方法
锚段关节式电分相过电压的龙格-库塔解法及抑制
库塔东干渠施工阶段遇到的问题及处理措施
库塔垦区早中熟陆地杂交棉品种区域试验