高中数学要接触到许多曲线,如正弦曲线、双曲线、抛物线等,如果在教学中能利用课件动态演示各种曲线,并且能通过改变参数而使曲线形状或位置发生变化,将会有助于学生理解掌握各种曲线的性质及特点。
本人在用Flash制作数学课件时,总结出一个有效绘制各种曲线的方法。原理是巧妙利用曲线的参数方程来绘制曲线,如正弦曲线的参数方程为:x=mt;y=Asin(mФ+Ф0),其中Ф=2Пt/T,曲线上某一点A(X,Y)都是变量t的函数,而在FLASH的时间线中,每帧之间有一定的时间间隔,我们可以把这一时间间隔看作为参数方程中的参数变量t,按照参数方程中的规律,通过改变每帧上的影片实例的位置,得以绘出所需曲线。
本文以正弦曲线为例简单介绍一下这个制作数学函数课件的方法。
示例如下:单击"播放"按钮,可绘制出一条参数默认的正弦曲线,绘制过程中,如单击"暂停"按钮,可停止绘制,再单击"播放"可继续,如单击"退出"按钮,可结束本课件。单击"重置"按钮后,可重新输入参数,再单击"播放"按钮,可绘制出一条不同形状的正弦曲线。(如图1)
图1
具体制作过程如下。
一、背景制作
1、 启动FLASH MX,单击菜单栏"修改/文档",将页面设为600*400,背景色设为#CCFFFF。
2、双击"图层1"名称,并改名为"背景",然后选择"直线"工具,在工作区中画一坐标系,然后利用"文本"工具输入如图文本内容。
3、定义参数对话框。利用"文本"工具,在工作区中建立三个输入文本框,其变量名分别设置为t、a、Ф0,利用这三个变量来记录参数的值。(如图2)
图 2
4、选择菜单栏"插入/新建元件",新建名为"点"的影片。在"点"的影片中,利用"椭圆工具"画一圆形,大小设为5*5,颜色设为放射状埴充。返回主场景,将影片剪辑"点"从库中拖到坐标系O点位置,并将影片"点"的实例名设为"dot"。
二、绘制曲线
5、新建一图层,并命名为"动作",然后分别创建三个空白关键帧。给这三个空白关键帧分别赋予动作程序。
如图3
鼠标选中第一空白关键帧,按右键,在快捷菜单中选"动作"命令,调出"动作"窗口,设置参数初值,添置如下语句:
stop();//使运行时可停在第一帧
c=0;//设置参数变量初值
a=100;//设置正弦曲线默认振幅值
Ф0=0;//设置正弦曲线初向位值
T=40;//设置正弦曲线周期值
x0=getProperty("/dot",_x);//获得实例名为"dot"影片的初始x坐标值
y0=getProperty("/dot",_y);// 获得实例名为"dot"影片的初始y坐标值
s=x0;// 用变量s记录实例名为"dot"影片在x方向上移动位置,初始位置为x0
p=y0; //用变量p记录实例名为"dot"影片在y方向上移动位置,初始位置为y0
鼠标选中第二空白关键帧,按右键,在快捷菜单中选"动作"命令,调出"动作"窗口,添置如下语句:(这是参数方程的具体应用)
c=c+0.5 //设置参数变化量,变化量的大小可决定绘制曲线的疏密程度
setProperty("/dot",_x,s);//改变实例名为"dot"影片的x坐标位置
setProperty("/dot",_y,p);// 改变实例名为"dot"影片的y坐标位置
Ф=2*math.pi*c/t; //计算Ф的值
s=x0+5*c ; //计算实例名为"dot"影片在x轴方向上移动距离
p=y0+a*math.sin(e-Ф0);// 计算实例名为"dot"影片在x轴方向上移动距离
n=n+1 //使变量n值增加1
duplicateMovieClip("dot","dot"add n,9000-n); //复制实例名为"dot"影片,以此来记录正弦曲线轨迹。
鼠标选中第三空白关键帧,按右键。在快捷菜单中选"动作"命令,调出"动作"窗口,添置如下语句:
if (c<=100){
gotoAndPlay(2); //设置参数终值,若小于终值,则返回到第二帧,继续执行。
}
else{
gotoandstop(2);//若参数值大于终值,则返回并停在第二帧位置
}
三、 设置按钮
6、新建一图层,并命名为"按钮",在第一帧位置,选择菜单栏"窗口/公用库/按钮",打开按钮公用库,依次选择四个按钮并拖到工作区适当位置。(如图1)
7、分别右单击每个按钮,从快捷菜单中选择"动作"命令,调出"动作"窗口,给每一个按钮添加动作。从左到右以次是:
重置按钮:
on (release) {
if(s>600 or p>400){ //保证当曲线绘到设定区域外后才能重新设置
while (n>0) {
removeMovieClip("dot" add n);
n = n-1;
} //移去所绘制曲线
c=0;//恢复变量值
s = x0;// 恢复变量s的值
p = y0;// 恢复变量p的值
}
setProperty("dot", _x, x0);
setProperty("dot", _y, y0);//使实例名为"dot"影片回到原来位置
}
播放按钮代码:
on (release) {
play();
}
暂停按钮代码:
on (release) {
stop();
}
退出按钮代码:
on (release) {
fscommand("quit");
}
8、单击菜单栏"控制/测试影片",可测试课件效果,如无问题,可通过菜单栏"文件/发布"命令生成SWF格式文件,课件制作完成。
小结:本课件制作的关键是巧妙利用了曲线的参数方程,只要将本课件中正弦曲线参数方程换为其他曲线参数方程,就能绘制出其它曲线图形。最后将常见几种曲线的参数方程列出,供大家一试。
双曲线:x=x0+AsecФ;y=y0+BtgФ;Ф=2Пt/T 抛物线: x=x0+2pt2;y=y0+2pt
直线:x=x0+tcosα;y=y0+sinα 圆和椭圆:x=x0+AsinФ;y=y0+BcosФ;Ф=2Пt/T
圆的渐开线:x=r(cosФ+ФsinФ);y=r(sinФ-ФcosФ);Ф=2Пt/T
说明:在书写正弦曲线参数方程中,大家习惯于用t表示参数变量,但由于还有一个T周期变量,在FLASH 中变量不区分大小写,因此在本例中,我把参数变量用c来代替t。