怎样使弹簧振子动起来
——用“椭圆缺”绘画弹簧的方法和制作程序介绍
看过很多弹簧振子作简谐振动的动画,总觉得不大象样。我学习了用FLASH4制作物理课件第一个想做的就是想攻克这个题目。经过一段时间的努力,解决了这个问题。同行反映很好,纷纷要我打开谜底。下面我将详细介绍它的制作过程。
一、 画好一个弹簧
(应放在我前面介绍过“三层三帧”制作法的第二层第一个关键帧上。)
1、 画一个椭圆(线条粗细取2)
2、 擦去这个椭圆下端的一部分。成为一个“椭圆缺”。
3、 将“椭圆缺”复制为多个“椭圆缺”,并把它们首尾相连,就成为一个象样的弹簧了。(移动每一个“椭圆缺”时,可用放大工具并结合定位窗口选定一定的数值,以保证连接绝对准确)。
二、 建立电影夹a和b。
1、 选取连接好的弹簧,将其变为“图组”。(按Ctrl +G键)。
2、 定义该“图组”为电影夹格式,并命名为 a (如何定义、命名电影夹要参考FLASH有关章节)
3、 把“图组”的中心十字线移到图组左边线的中点,以保证弹簧左端点固定。
4、 还在第二层第一帧上画振子小球并变为“图组”。(按Ctrl +G键)。
5、 定义小球为电影夹格式,并命名为 b。
6、 将小球移到弹簧的右端边线中点处(相切)。到此弹簧和振子初始大小和位置就确定了。同时选取这两个电影夹,把第二层的第二帧设定为关键帧,这时第一帧的两个电影夹应已复制到这个关键帧上。
三、 编写第二层这两个关键帧的程序。
1、在时间轴窗口,双击第二层第一帧,打开编程窗口,编程如下:
stop ();
s0 = GetProperty("a",_x); 确定电影夹a的初始位置属性。
setProperty ("k", _xscale, 100);
确定电影夹b的水平方向初始大小属性。
a = 40; 设置初始振幅值
f = 0.05; 设置初始频率值
2、在时间轴窗口,双击第二层第二帧,打开编程窗口,编程如下:
t = t+1; 设置电影夹播放时间递增值
p = Math.PI; (设P=圆周率)
b = A*Math.sin (2*p*f*t); (设b=A*sin(wt))
setProperty ("k", _xscale, 100+b);设置电影夹函数水平大小比例属性,以及与变量b的关系
setProperty ("a", _x, s); 设置电影夹函数水平位置属性
s = s0+b; 设置函数与变量的关系
x = s-s0; 设置水平位移的瞬时值(振幅为A)
四、 按“三层三帧”制作法完成另外两层的制作。
1、添加新层为第一层,第一层为主界面。包括场景界面装饰;播放、暂停、返回按钮;设置可输入变量数值和得出结论的标签,分别命名为A、x、t等。(设置标签的方法请参考FLASH的有关章节)。
2、添加新层为第三层,第三层控制动画连续播放。在它的第三帧处设置关键帧,双击该关键帧,编程如下:
Go to and Play (2) 播放至第三帧时总是返回第二帧处
至此已基本完成看制作,可试运行调整。
还需要提提按钮和标签:
播放按钮:On (Release)
Play
End On
标签3个,分别命名为a、x、f。
测试过程输入不同的a和f,可看到振子的运动情况和它对应的瞬时位移值x。
用FLASH制作物理课件十分方便。只要你能想得到,它都可以做出来。变量函数的运用使得一个课件的交互、思考、答疑成为可能。输入一个数值,等待你的思考,按下播放按钮,其模拟效果,未知答案都会呈现出来。这些都是我们当前教学所必须的。由于用FLASH做的课件字节数小,能在网上直接打开,更方便了现今的网络教学。
本文相关的应用例子我已于6月5日上传到K12软件交流中心。名为:“弹簧振子的原程序”。或请查阅我的网站:http://xiefs.best.163.com
需要源程序的请电邮索取,我会给你。邮箱地址:xie_fs@163.net
|