用Flash编程实现欧姆定律

来源 :计算机光盘软件与应用 | 被引量 : 0次 | 上传用户:yliudl
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:在物理电学实验过程中的误操作或错误操作是不可避免的,这就可能损坏仪器,利用本文介绍的虚拟实验系统既可以使学生把课堂上学习的理论知识应用于实践,又可让学生提前预习实验,还可以弥补实验仪器缺乏与落后的缺陷。
  关键词:Flash;仿真;电子实现;欧姆定律;虚拟
  中图分类号:TP315 文献标识码:A文章编号:1007-9599 (2010) 09-0000-01
  OHM Law Realization with Flash Programming
  Yu Jijun
  (Chongqing University of Arts&Sciences,Yongchuan402160)
  Abstract:Misoperation or wrong operation,which may damage the instruments,
  is inevitable in the process of physical electrical experiments.By using the virtual experiment system introduced in this paper,students may put theoretical knowledge into practice and preview experiments.In addition,it makes up the deficiency of instruments insufficiency and backwardness.
  Keywords:Flash;Simulation;Electron experiment;Ohm law;Virtual
  一、虚拟电路实验模型与制作思路
  (一)实验模型
  (二)制作思路
  图中各电路实物是用绘画软件经过绘画、上色等处理而成。各仪表、仪器、连接线柱等都是用flash按钮制作的。一是为了美观,二是为了连线方便,以实现实物仪器间导线的连线。并给各按钮和对象取变量名,以方便在action script中调用。利用各变量名、实例名在欧姆定律公式的结合下让各组件协同工作。将实验器件连接好检查无误后,闭合电键,滑动变阻器的滑竿就可以改变其阻值,从而达到改变串联电路中电流大小之目的。
  二、组件制作及程序控制
  (一)灯泡
  首先新建一个元件MC,在第一层时间轴上面,用绘画工具绘制一个灯泡底座并给第一层命名为底座。然后新建一个图层2并命名为灯泡层,用绘图工具绘制一个灯泡。调节两个元件的位置使灯泡和底座这两个对象刚好重叠在一起,并锁定图层。新建第三个层,制作好两个按钮放入其中,并将第三层命名为按钮层。给按钮取的实例名为light—right合light—left,这两个实例名的意思分别代表灯泡的左边连接柱和右边的连线柱。在灯泡层第5帧、第10帧、20帧处,按F6键插入关键帧。在每个关键处分别改变灯泡的颜色属性,让灯泡在开始时最红(红得最亮时是发白),5帧时淡红,10帧时不亮,呈灰色状态。选中所有帧,创建好补间动画。这样,一个灯泡的MC就做好了。
  (二)制作开关MC
  开关同样是一个MC控制动画,只不过是在一个只有两帧的MC中加入的两个图片状态。第一帧处是已经做好的一张开关打开状态的picture元件,第二帧是已经做好的一个关闭状态的picture元件。在第一帧中加入On(release){gotoandstop(2)}语句,在第二帧中加入On(release){gotoandstop(1)} 语句。这样在开关开启后就从第一帧开跳到第二帧关的状态。关后(单击开)就跳到第一帧开的状态。最后将这个开关拖到场景中并命名为KK。
  (三)制作滑动变阻器
  滑动变阻器仍是一个MC,但这个MC却非常关键,关系到整个实验的结果和演示过程。因此制作此部分时应特别小心。做好滑块和变阻器的主体部分。将滑块做成按钮,是为了方便连线,并给各按钮取好名字。本例中分别给滑动变阻器的左端、右端,线圈的左端和线圈的右端命名为:hua_anleft、hua_anright、hua_anxial、hua_anxia2。记录好各个点的位置,再将这些元件组合在一起。
  (四)电压表、电流表、电源的制作
  电压表和电流表可以用绘图工具绘制,填充好颜色,然后再加一个动态文本框,给文本框填充好颜色,并取一个实例名字,用于显示电流、电压等数值。电源更简单,画一个正方形填充成不同的形状和颜色就可以了。最后分别给这些元件的连线柱处做好大小相同的按钮,并取好名字,放入场景中备用。
  (五)元器件之间导线连接的问题
  要想实现两个元件之间任导线连接,也即是两个对象元件的坐标点之间画线的问题。首先要知道任意一个对象点的坐标值,也即是元件按钮点(接线柱)在场景之中的坐标值。我们可以用AS中get Property(_实例名,_x); get Property(_实例名,_y);函数获得对象的坐标。当获得了对象的坐标后,就可用Lineto方法连接两点之间的坐标。语法是lineto(x1,y1,x2,y2),再配上moveto方法,即可实现两点之间的连线。如果没有moveto函数,则系统默认是在坐标原点开始画线。当然在画线之前还得加上画线的风格语句:_root.huabu.lineStyl(2,0xff0000,100)。_root表示的是路径。为了克服画线时连线之间被覆盖的问题,可以给场景加个蒙板,即画布影片剪辑,huabu_MC。现就以电源的正极、开关之间的连线为例进行介绍说明元器件之间的导线连接问题。所有的连线接点也即是各按钮参数,需要在第一帧的AS动作中初始化,代码如下:
  第一层第一帧
  AS:stop();
  fcommand(〞fullscreen 〞,〞true〞);//全屏显示命令
  tellTarget(root.light_mc){//调用电灯泡影片剪辑让默认的是不亮却20帧的gotoAndStop(20);}
  第二层第一帧: //在初始状态下让个连接点不可用,呈灰色状态。
  _root.kk_left.enabled=false;
  _root.kk_right.enabled=false;
  ……
  第三层第一帧 //初始状态下让各点的坐标等于0
  kk_leftx=0
  kk_rightx=0
  ……
  电源正极的源程序代码如下:
  on(press)
  if(_root.flag= =false)
  {
  myColor = newColor(_root.kk_right);
  myColor.setRGB(0xFF0000);
  _root.kk_right.enabled=true;
  _root.qidianx=_root.zhengji._x;
  _root.qidiany=_root.zhengji._y;
  _root.flag=true;
  }
  Else
  {
  ……
  }
  }
  开关右边KK_right的源程序
  On(press){
  _root.zuobiao1.text=getProperty(_root.kk_right,_x);
  _root.zuobiao2.text=getProperty(_root.kk_right,_y);
  If(_root.flag= =false)
  {
  ……
  }
  else
  {
  ……
  }
  }
  其它连线按钮的代码类似,只是各个连线按钮(接线柱)的实例名不一样。
  (六)滑动变阻器参数改变的问题
  要想滑动变阻器时,其电阻大小也随着改变,就必须先求出上下、左右的坐标值。可以用inity=_y;left=_x;right=_x;top=_y-50;bottom=_y+50方法来获取。然后再利用滑动变阻器的事件去调用滑块方法,即onClipEvent(mouseMove)事件。还需求出滑动变阻器左端滑到最右端的坐标值,可以用一个临时的动态文本框来显示。例如本文中用该条语句来获得滑动变阻器最左端到最右端的坐标值是100。这样就可以平均分配滑动变阻器的数值,配合到协同工作时的语句代码,在改变滑块时,电流电压表上面的数值就会发生变化了。
  三、让各组件协同工作
  (一)各组件协同工作的程序实现
  由于所有的变化情况都是在滑动变阻器滑动时发生的变化,因此即可在滑动变阻器的移动事件中编写各组件的协同工作程序。这一点也是本程序的精华部分。思路是,先获得滑块左边的X坐标(实际上是Y坐标,因为本例中的滑动变阻器是倒置的),再用一个变量来获得滑块正在滑动的坐标,把两个值加起来,即得到了滑块滑动时的总坐标值,把这个坐标值乘以一个固定的常数就得了滑动变阻器的电阻值。在本例中我们约定灯泡的内阻是rl=30欧姆,电源的内阻是1欧姆,滑动变阻器的电阻为rr,电源的电动势等于3V,我们就能通过公式I=E/(1+rr+rl)求得电流的大小,再根据公式U=I*R即dianya_val=dianliu_val*rl求出电压(A)。最后分别将电压、电流值,用一动态文本显示在电流、电压表中。为了让滑块滑动时电灯泡的灯光明暗程度有变化,我们计算出灯泡MC的帧数为20帧,再得到滑动变阻器的总的坐标(即长度)100,把这个坐标除以5既得了灯泡MC的帧数。也即是滑动滑块时,灯泡就可以跳到相应的帧数去,即灯泡的明暗程序也得到了改变。初始状态时灯泡应该是不亮的,灯泡的帧就应该在最后一帧,即20帧处。
  gotoAndStop(_root.move_frame+1)。在程序运行时,第一帧的变化值是20/20,所得到的结果就没有比值(0帧)了,在这程序中是不允许的,因此要加1帧。协同工作时电流、电压、电阻及滑动滑块时电阻的变化代码如下:
  onClipEvent(load){
  Inity=_y; /
  left=_x;
  right=_x;
  top=_y-50;
  bottom=_y+50;
  }
  onClipEvent(mouseMove)
  {
  _root.rr_disx.text=getProperty(_root.vertFader,_y);
  Var temp = getProperty(_root.vertFader,_y);
  Var cot_hau=35+temp
  Rr = (35+tmp)*15;
  //_root.rr_dis.text=3.0/(1+rr)
  _root.rr_dis.text=rr;
  If(_root.cir_hefa= =ture and _root.cir_hefa2= = true) /
  {
  Rl=Number(_root.dengpao_rr.text);
  Rl=30//灯泡内阻是:30
  _root.dianliu_dis.text=String(3/(1+rr+rl));
  Dianliu_val=String(3/(1+rr+rl));
  //ii3/(1+rr+_root.dengpao_rr.text);
  //_root.dianya_dis.text=3-_root.dianliu_dis.text_dis.text*_root.dengpao_rr.text
  _root.dianya_dis.text=dianliu_val*rl;
  Dianya_val=dianliu_val*rl;
  //灯光的设置
  _root.move_frame+int(cot_hau/5)//总的坐标是100(-35to+65)再除以5等于20帧因为灯泡的MC等于20帧
  //_root.dianya_dis.text=_root.move_frame;
  tellTarget(root.ligt_mc){
  gotoAndStop(_root.move_frame+1); //起点是第一帧开始20/20没有,因此至少需要1帧
  }
  }
  }
  (二)电流、电压显示时小数处理
  在一般情况下,由于不同类型数值的精度和位数不同,在直接赋值处理数据时就会在小数点后面有一大串的小数或者零出现,为解决上面所说的问题,可以编写一个函数模块来处理小数点问题。在每次遇到电流、电压显示时就可以调用此函数来解决。
  四、元器件之间连线的拆除
  当实验完毕后应先断开开关,再拆除连线。也即是消除各个连接线按钮之间的鼠标画线。只要用清除方法就可实现清除连线。在场景中用_root.clear()方法可以清楚lineto()和moveto()方法中绘制的线条。在本例中,由于用了画布来屏蔽相交和被挡住的线条,因此只要清除画布上面得连线即可。
  当然,欧姆定律编程中涉及到了大量的代码和编程,不仅是上面一些代码就可以完全实现的,上面的代码只是一些关键和主要的,限于篇幅在这里就不再介绍了。
  参考文献:
  [1]王德才.基于Flash平台的课件开发[J].潍坊教育学院报,2003,2
  [2]简字虹.大学物理仿真实验的制作[J].广西民族学院学报(自然科学版),2003,11
  [3]赵英杰.闪客梦幻工场—Flash网页编程宝典[M1].北京:北京希望电子出版社,2002
  作者简介:
  余继军(1981--),男,重庆万州人,硕士,重庆文理学院团干部,从事学生工作.
其他文献
摘要:采用库柏—道格拉斯生产函数对淮安地区农业生产能力进行估测,分析影响淮安市品牌农业发展的主要因素,并提出相应的建议。  关键词:淮安市;库柏—道格拉斯生产函数;品牌农业  中图分类号:F320.1文献标志码:A文章编号:1673-291X(2010)36-0041-02    农业生产能力的形成,主要是依靠多要素投入的集聚效应,现代经济学研究的一个重要的领域就是探讨何种要素的投入导致农业生产能
摘要:随着科技和信息的发展,计算机变得越来越普遍,对人们生活的影响也越来越大。中等职业学校的培养目标是高素质劳动者,按照市场经济的要求,促进职业教育的开放性和多样化。计算机是中等职业院校必开的课程之一,也是中职学生必备的技能之一。在现阶段,中职院校的计算机教学既要顺应科技和信息的发展,又要符合中职学生自身的能力。文章基于实践经验从以下几个方面介绍了中职计算机基础知识教学方法的改革。  关键词:中职
课标明确提出,音乐课程要以审美为核心,音乐教学必须强调培养学生的审美能力。这就告诉我们,音乐教师是审美教育的实施者,不仅仅单纯向学生传授音乐基本技能和基础知识,更重
会议
摘要:新的时代新的婚姻理念开始深入现代人的观念,但是由于长期保留下来的婚姻习俗使得婚约在中国民间仍在起着一定的证婚作用,而基于婚约又会产生种种的复杂社会关系和财产关系,有些甚至需要法律调整。基于婚约带来的一些法律问题试作分析,目的是希望在今后的立法实践中使之得到完善。   关键词:婚约;法律效力;财产归属  中图分类号:D92文献标志码:A文章编号:1673-291X(2010)12-0222-0
摘要:法官职业道德是避免法官职业活动受到腐蚀的防腐剂,是正当或优质高效履行司法职责的保障。法官的职业活动是行使裁判权,欲使法官正当地或优质高效地履行职责,需要各种保障,包括物质上的、财政上的、人力上的、素质上的等等。职业道德就是这些保障中的一个重要部分。有了职业道德的保障,裁判权才不会偏离轨道,人民的权利才能真正得以保护。良好的职业道德,是法官队伍建设的重要目标,也是确保司法公正、提高司法效率的客
摘要:如今,信息网络已经渗透到高校研究生学习和生活的方方面面,其德育也不例外。基于研究生广泛使用网络的现状,比较分析了传统研究生德育与网络环境下研究生德育的差异,由此提出了网络环境下研究生德育体系的构建途径和方法。  关键词:信息网络 研究生德育 体系 途径  中图分类号:G643.1 文献标志码:A文章编号:1673-291X(2011)30-0311-02  21世纪的今天,信息网络技术已经得
以MATLAB为平台,研究了采用BP神经网络对血液白细胞彩色图像进行有效分割的方法,为实现血液细胞分析与计数的自动化、提高工作效率和降低人为误差提供了条件.给出了对血液细
ue*M#’#dkB4##8#”专利申请号:00109“7公开号:1278062申请日:00.06.23公开日:00.12.27申请人地址:(100084川C京市海淀区清华园申请人:清华大学发明人:隋森芳文摘:本发明属于生物技
在机器人视觉伺服领域,视觉标定是一个重要的研究方向,也是当前的研究热点。对软件标定原理进行说明,建立摄像机坐标系统和机器人世界坐标系统之间的关系,利用Halcon函数库中
目的 观察清热抗毒煎剂结合卫生部指南治疗普通型手足口病患儿的临床疗效。方法 将100例普通型手足口病患儿随机分为西医治疗组、中西医结合治疗组,西医治疗组按卫生部指南治