用遮罩技术制作螺旋测微计练习课件,本文主要内容关键词为:螺旋论文,课件论文,技术论文,用遮罩论文,测微计论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
一、引言
在物理实验教学中,由于物理概念的抽象性和实验的不显著性,现在往往采用多媒体来辅助教学。尤其是flash课件以其小巧、精悍,以流媒体形式在网络上迅速传播,并以其声形并茂著称。
Flash简单易学,动画功能十分强大,且制作的动画交互性能好。在Flash的各种工具中除了Action以外,最为强大的工具就是遮罩层,它可以为动画实现一些意想不到的效果。特别是物理课件,如果构思巧妙,利用遮罩层就会有精彩的动画效果。
遮罩层能够遮盖任何同遮罩层相关联的图层(被遮层)里的内容。遮罩层中的对象必须是色块、文字、符号、mc(movieclip)、按钮或群组对象,但是位图及线条在遮罩层上是不起作用的,就是不能对被遮层起作用,而被遮层不管线条或是位图都不被限制。并且,遮罩不和自身(除形状外)属性相关联,包括边缘羽化,半透明渐变等等。再结合图像处理软件如photoshop就能制作出仿真的虚拟实验仪器。遮罩层在Flash中非常特殊,利用它可以实现一种特殊形式的动画。如果在某一层上建立遮罩层,它下面的一层就会自动变成被罩层。遮罩层的图形可画成任意形状。该形状就是一个“视窗”,Flash播放时,被遮罩层上的对象通过“视窗”显示出来,而“视窗”之外的对象却不会显示,但也不影响其他层的显示。
我们使用Flash的遮罩层功能,再结合图像处理软件photoshop,就能制作出逼真的螺旋测微计。
二、构想
螺旋测微计(也称千分尺)在测量时,主要是通过旋转尾部的棘轮旋柄来推进螺杆,夹住被测物;测量完成后则旋转微分筒松开被测物。
因此,我们设想在计算机操作时,可通过鼠标点击微分筒同时推进螺杆若干像素,而鼠标点击棘轮时退回螺杆的模拟测量方法。所有的操作过程都可以通过flash的编程进行控制,如果需要,还可通过像素和刻度的比例关系,由计算机实时计算出测量值。而螺杆及微分筒上刻度线的多余部分,则利用flash遮罩层进行屏蔽。
三、素材准备
为了使软件显示的仪器能达到仿真效果,首先用数码相机拍摄下千分尺的影像。导入photoshop图像处理软件进行处理,将色彩模式改为灰度。去掉背景部分;模糊掉原来影像中的刻度;将千分尺的主要活动部件分割开来,主尺、鼓轮(微分筒)、螺杆和棘轮分别存成不同的4个文件备用。至于刻度,可以在Flash中很方便地画出来。
四、拼装素材
(1)首先打开Flash,根据千分尺的实际大小,将场景尺寸定为25cm×14cm。
(2)创建一系列图形剪辑元件,分别将上面准备的素材导入元件中。所有导入的图像元素都转换成矢量图。
(3)再创建一个图形元件和一个图形剪辑元件。在图形元件中制作一个水平刻度线;在图形剪辑元件中制作一个垂直刻度线。
(4)在场景1中将制作好的元件从元件库中拖入不同的图层中,按照千分尺的组成关系进行图层的上下排列。如图1,千分尺的大至模样已经显示出来。
图1
五、创建遮罩
创建2个遮罩层,屏蔽掉垂直标尺和伸缩杆的多余部分。遮挡后的效果如图2所示。
图2
六、程序简介
为了使千分尺能被人为控制,必须对鼓轮及棘轮进行分别编程。
(1)针对千分尺鼓轮进行编程,鼠标每点击一次,鼓轮及螺杆向右推进0.1个单位;通过测算,同时鼓轮上的标尺应下移5个单位。
on(press){
∥鼓轮步进为0.1
setProperty(_root.roundpic,_x,getProperty(_root.roundpic,_x)+0.1);
setProperty(_root.kpic,_x,getProperty(_root.lrpic,_x)+0.1);
setProperty(_root.clindpic,_x,getProperty(_root.clindpie,_x)+0.1);
setProperty(_root.rulerpic,_x,getProperty(_root.rulerpic,_x)+0.1);
∥垂直标尺向下步进为5
SetProperty(_root.rulerpic,_y,getProperty(_root.rulerpic,_y)+5);}
(2)棘轮正好是鼓轮的反向运动,参考鼓轮程序作相应调整即可。
(3)鼓轮上的垂直标尺只有50格,每次旋转1周以后,需要回位,周而复始。在此应设一个判断语句,当标尺移动到顶点时,及时复位。
if(SetProperty(_root.rulerpic,_y)>=353.45)
{setProperty(_root.rulerpic,_y,168.45);}
(4)在千分尺右下方设两个交互对话框及按钮。在输入读数框内,学生可输入读数值。按一下绿色按钮由计算机来对输入数据判断对错;按一下红色按钮由计算机给出正确答案。需要说明的是,在判断时要留有一定的余量,这里定为±0.002mm。对两个按钮赋予判断动作。
针对绿色按钮的程序:
on(release){
∥将像素值转换为长度值
numduosu=Math.round((getProperty(_root.roundpic,_x)-400.15)*20*1000/148)/1000-0.003;
jiguo=_root.duosu+0.004;
∥判断对误
if(_root.inlindie>=-0.005 and_root.inlindie<=-0.003 and_root.induosu>=numduosu-0.002 and_root.induosu<=numduosu+0.002 and_root.injiguo= =_root.induosu-_root.inlindie){
_root.panduan=”you are right!”;
}else{
_root.panduan=”you are wrong!”;
}
}
针对红色按钮的程序:
on(release){
_root.duosu=Math.round((getProperty(_root.roundpic,_x)-400.15)*20*1000/148)/1000-0.003;
_root.jiguo=_root.duosu+0.004;
_root.lindie=-0.004;
}
(5)最终效果如图3所示。
图3
七、结语
在仿真实验仪器的开发过程中,要注意制作过程要细致,努力达到“以假乱真”的水平。切忌粗制滥造,尽量不要用绘图功能来模拟,以致给学生“虚假”的感觉。
通过仿真仪器的反复练习,学生对仪器的物理思想和方法、仪器的结构及原理的理解,可以达到实际实验相当效果,实现了学习实验技能,深化物理知识的目的,同时增强学生对物理实验的兴趣,拓宽了思维空间。