flash制作课件 拓展7 角度反弹、动量守恒,课件的设计要求与评价学习资料_第1页
flash制作课件 拓展7 角度反弹、动量守恒,课件的设计要求与评价学习资料_第2页
flash制作课件 拓展7 角度反弹、动量守恒,课件的设计要求与评价学习资料_第3页
flash制作课件 拓展7 角度反弹、动量守恒,课件的设计要求与评价学习资料_第4页
flash制作课件 拓展7 角度反弹、动量守恒,课件的设计要求与评价学习资料_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

例落地时变形的弹球角度反弹、动量守恒课件的设计要求与评价1.旋转变换P(x,y)旋转角 P1(x1,y1)一、角度反弹

privatefunctiononEnterFrame(event:Event):void{varx1:Number=ball.x-stage.stageWidth/2;vary1:Number=ball.y-stage.stageHeight/2;varx2:Number=cos*x1-sin*y1;vary2:Number=cos*y1+sin*x1;ball.x=stage.stageWidth/2+x2;ball.y=stage.stageHeight/2+y2;}Rotate.as2.角度反弹

物体与斜面发生碰撞的回弹模拟:旋转斜面,旋转物体坐标,再旋转物体速度向量。

小球与斜面发生碰撞斜面被旋转成为一个水平面实现反弹:调整小球位置

改变y轴速度再旋转为最初时的样子package{

importflash.display.Sprite;

importflash.events.Event;

publicclassAngleBounceextendsSprite{

privatevarball:Ball;

privatevarline:Sprite;

privatevargravity:Number=0.3;

privatevarbounce:Number=-0.6;

publicfunctionAngleBounce(){

init();

}

privatefunctioninit():void{

ball=newBall();

addChild(ball);

ball.x=100;

ball.y=100;

line=newSprite();

line.graphics.lineStyle(1);

line.graphics.lineTo(300,0);

addChild(line);

line.x=50;

line.y=200;

line.rotation=30;

addEventListener(Event.ENTER_FRAME,onEnterFrame);

}AngleBounce.as

privatefunctiononEnterFrame(event:Event):void{

//普通的运动代码

ball.vy+=gravity;

ball.x+=ball.vx;

ball.y+=ball.vy;

//获得角度及正余弦值

varangle:Number=line.rotation*Math.PI/180;

varcos:Number=Math.cos(angle);

varsin:Number=Math.sin(angle);

//获得ball与line的相对位置

varx1:Number=ball.x-line.x;

vary1:Number=ball.y-line.y;

//旋转坐标

varx2:Number=cos*x1+sin*y1;

vary2:Number=cos*y1-sin*x1;

//旋转速度向量

varvx1:Number=cos*ball.vx+sin*ball.vy;

varvy1:Number=cos*ball.vy-sin*ball.vx;

//实现反弹

if(y2>-ball.height/2){

y2=-ball.height/2;

vy1*=bounce;

}

//将一切旋转回去

x1=cos*x2-sin*y2;

y1=cos*y2+sin*x2;

ball.vx=cos*vx1-sin*vy1;

ball.vy=cos*vy1+sin*vx1;

ball.x=line.x+x1;

ball.y=line.y+y1;

}

}

}

privatefunctiononEnterFrame(event:Event):void{

//普通的运动代码

ball.vy+=gravity;

ball.x+=ball.vx;

ball.y+=ball.vy;

//获得角度及正余弦值

varangle:Number=

line.rotation*Math.PI/180;

varcos:Number=Math.cos(angle);

varsin:Number=Math.sin(angle);

//获得ball与line的相对位置

varx1:Number=ball.x-line.x;

vary1:Number=ball.y-line.y;

//旋转坐标

vary2:Number=cos*y1-sin*x1;

//实现反弹

if(y2>-ball.height/2){

//旋转坐标

varx2:Number=cos*x1+sin*y1;

//旋转速度向量

varvx1:Number=cos*ball.vx+

sin*ball.vy;

varvy1:Number=cos*ball.vy–

sin*ball.vx;

y2=-ball.height/2;

vy1*=bounce;

//将一切旋转回去

x1=cos*x2-sin*y2;

y1=cos*y2+sin*x2;

ball.vx=cos*vx1-sin*vy1;

ball.vy=cos*vy1+sin*vx1;

ball.x=line.x+x1;

ball.y=line.y+y1;

}

}优化代码:粗体内容是从if语句外面移到里面的,只有产生碰撞时它们才会执行

1.相关物理动量

动量=质量×速度:p=m*v动量守恒定律a、b碰撞前速度:v0,v1

碰撞后速度:v0Final,v1Final

(m0*v0)+(m1*v1)=(m0*v0Final)+(m1*v1Final)①动能

K=*m*v2动能守恒定律: (m0*v02)+(m1*v12)=(m0*v0Final2)+(m1*v1Final2)②物体自高出h下落*m*v2=m*g*h二、动量守恒2、单轴上的动量守恒

Ball.aspackage{importflash.display.Sprite;publicclassBallextendsSprite{publicvarradius:Number;privatevarcolor:uint; publicvarvx:Number=0;publicvarvy:Number=0; publicvarmass:Number=1;publicfunctionBall(radius:Number=40,color:uint=0xff0000) {this.radius=radius;this.color=color; graphics.beginFill(color); graphics.drawCircle(0,0,radius); graphics.endFill(); }}}vx=7vx=-5mass=2mass=3例文档类:Billiard1privatefunctiononEnterFrame(event:Event):void{ball0.x+=ball0.vx;ball1.x+=ball1.vx;vardist:Number=ball1.x-ball0.x;if(Math.abs(dist)<ball0.radius+ball1.radius){varvx0Final:Number=((ball0.mass-ball1.mass)*ball0.vx

+2*ball1.mass*ball1.vx)/(ball0.mass+ball1.mass);varvx1Final:Number=((ball1.mass-ball0.mass)*ball1.vx

+2*ball0.mass*ball0.vx)/(ball0.mass+ball1.mass);ball0.vx=vx0Final;ball1.vx=vx1Final;}}3、两个轴上的动量守恒旋转变换P(x,y)旋转角 P1(x1,y1)privatefunctionrotate(x:Number,y:Number,

sin:Number,cos:Number,reverse:Boolean):Point{varresult:Point=newPoint();if(reverse){result.x=x*cos+y*sin;result.y=y*cos-x*sin;}else {result.x=x*cos-y*sin;result.y=y*cos+x*sin; }returnresult;} privatefunctioncheckWalls(ball:Ball):void{if(ball.x+ball.radius>stage.stageWidth){ball.x=stage.stageWidth-ball.radius;ball.vx*=bounce;}elseif(ball.x-ball.radius<0) {ball.x=ball.radius;ball.vx*=bounce; }if(ball.y+ball.radius>stage.stageHeight){ball.y=stage.stageHeight-ball.radius;ball.vy*=bounce;}elseif(ball.y-ball.radius<0){ball.y=ball.radius;ball.vy*=bounce;}}检测小球撞舞台逆时针旋转分解出vx,vy只关心vx忘掉vy新的vx顺时针旋转privatefunctiononEnterFrame(event:Event):void{ ball0.x+=ball0.vx; ball0.y+=ball0.vy; ball1.x+=ball1.vx; ball1.y+=ball1.vy;

checkCollision(ball0,ball1); checkWalls(ball0); checkWalls(ball1);}privatefunctioncheckCollision(ball0:Ball,ball1:Ball):void{vardx:Number=ball1.x-ball0.x;vardy:Number=ball1.y-ball0.y;vardist:Number=Math.sqrt(dx*dx+dy*dy);if(dist<ball0.radius+ball1.radius){varangle:Number=Math.atan2(dy,dx);//计算角度和正余弦值varsin:Number=Math.sin(angle);varcos:Number=Math.cos(angle);varpos0:Point=newPoint(0,0);//旋转ball0的位置

varpos1:Point=rotate(dx,dy,sin,cos,true);//旋转ball1的位置

//旋转ball0、ball1的速度

varvel0:Point=rotate(ball0.vx,ball0.vy,sin,cos,true);varvel1:Point=rotate(ball1.vx,ball1.vy,sin,cos,true);varvx0Final:Number=((ball0.mass-ball1.mass)*vel0.x+ 2*ball1.mass*vel1.x)/(ball0.mass+ball1.mass);varvx1Final:Number=((ball1.mass-ball0.mass)*vel1.x

+2*ball0.mass*vel0.x)/(ball0.mass+ball1.mass);vel0.x=vx0Final;vel1.x=vx1Final;

//将位置旋转回来

varpos0F:Object=rotate(pos0.x,pos0.y,sin,cos,false);varpos1F:Object=rotate(pos1.x,pos1.y,sin,cos,false);

//将位置调整为屏幕的实际位置

ball1.x=ball0.x+pos1F.x; ball1.y=ball0.y+pos1F.y;ball0.x=ball0.x+pos0F.x; ball0.y=ball0.y+pos0F.y;

//将速度旋转回来

varvel0F:Object=rotate(vel0.x,vel0.y,sin,cos,false);varvel1F:Object=rotate(vel1.x,vel1.y,sin,cos,false);ball0.vx=vel0F.x; ball0.vy=vel0F.y;ball1.vx=vel1F.x; ball1.vy=vel1F.y;}}注:文档类:Billiard3三、课件设计的基本要求

1、教育性

<1>教学目的明确

<2>教学对象准确

<3>体现教学规律

<4>解决教学难点与重点

<5>达到其他教学手段所达不到的教学效果2、科学性

<1>教学内容的科学性(a)表述的科学性(b)规范性(c)通俗简明(d)实用新颖

<2>课件设计方法的科学性3、技术性

<1>硬件环境<2>软件环境

<3>交互操作<4>帮助功能

<4>安装与卸载4、艺术性教学的艺术 教学系统性和内容组织的合理性; 既要传授知识,也要教给学生学习的方法。呈现信息的艺术 完美地表现课件的内容。四、课件设计的基本过程1、总体设计

包括:教学设计、课件的结构设计、模块的划分等。教学设计

<1>确定并分解教学目标教学目标应根据课程的教学大纲或训练的要求,以及教学对象的预备知识、学习能力、学习时间来确定。

<2>安排教学顺序遵循:从简到繁,由浅入深,从已知到未知,由具体到抽象。

<3>教学方式的设计根据课程教学目标及教学内容的不同,应选择不同的教学方式。

基本知识点知识类别目标层次

教学目标描述多媒体的基础知识基本概念概念知道了解有关多媒体计算机的一些基本知识多媒体的组成事实知道知道多媒体计算机的主要组成部件及其基本性能指标,功能等。多媒体附件技能应用了解Windows中自带的多媒体附件的功能,使用方法,操作技巧等。多媒体附件的应用技能应用通过实践操作训练,掌握多媒体附件的使用方法。测试问题解决分析,综合通过回答问题了解学习效果,查缺补漏。分析确定教学目标:“照相机”课件的总体结构:

出示教学目标交待任务

动画导入

主屏幕新授部分

认识圆心

认识半径

认识直径

探究直径半径关系

圆形成的过程

练习一

练习四练习小学数学《圆的认识》的结构图线性结构树状结构网状结构复合结构四种主要的组织结构2、单元设计 确定教学单元的结构并划分成具体的框面,确定框面内容及其调度方式,写出脚本(稿本Script)。<1>文字脚本(A类脚本) 以有经验的学科教师为主多媒体人员为辅的格局进行编写和创作。 按教学要求对课件所要表达的内容进行文字描述。一种文字脚本模板:A类卡样式<2>制作脚本(B类脚本) 将图形、图像、动画及声音的表现具体化,标明它们所在的屏幕功能区及相互之间的位置与时序关系,能体现软件结构和教学功能,并作为程序编制直接依据的具体描述。 制作脚本由课件结构图及框面卡片两部分构成。一种框面卡结构,每一张卡可对应屏幕中的一个功能区。B类卡样式课件名称:平抛运动适用对象:高一级学生编号:B0设计者:主画面设计完成日期:#年#月#日[S:背景音乐][T1:平抛运动]

[C1什么是平抛运动]

[C2运动的独立性原理]

[C3平抛运动的处理方法]

[C4平抛运动公式]

[C5实例分析][G1:背景图案,比萨斜塔,占左下角]注释:C1~C5标题式样的按钮,用于链接其他相应页[G1∶]、[S∶]能吸引学生的注意力[T1∶]以艺术字形式出现媒体呈现方式:G1+S+T1+C1~C5B类卡样式课件名称:平抛运动适用对象:高一级学生编号:B3设计者:第3页设计完成日期:#年#月#日[T31平抛运动的处理方法][T31平抛运动是曲线运动,采用运动的分解和合成方法,平抛运动分解成水平方向和竖直方向的两个独立的分运动][T32输入小球初速度xxm/s]

[C1]

[C2]

[C3][G3平面坐标图X轴(向右),Y轴(向下)][G1:背景图案,比萨斜塔,占左下角]注释:T32:用作坐标图上的小球运动参考数据,提示范围,由操作者输入.G3:用以展示小球运动轨迹.另设2个小球展示:水平方向的分运动?直线运动;竖直方向的分运动?自由落体.C1:开始C2:复位C3:返回媒体呈现方式:G1+T3+T31?T32+C1+C2+C3?G3五、课件的评价1.概念 计算机辅助教学的评价是衡量和估计计算机辅助教学的活动过程或是计算机辅助教学系统产品的教育应用价值的过程。2.评价方法(a)指标体系法 由评价人员根据这样一套特定的指标体系为软件各方面特征分别打分,最后根据各项分数得出该软件的质量等级。

指标体系建立的基本原则:完备性可比性可接受性可行性(b)体系分析法 评价人员根据课件的预定目标及他们对软件的整体印象写一个总体评价报告,不规定主题,也不限制格式。(c)问卷调查法 评价人员跟踪并观察学生使用课件的过程,注意使用过程遇到的困难和出现的问题,用事先设计好的问卷调查材料让学生填写,从中得出对课件的评价。(d)反馈调查法 让多层次学生使用课件一段时间,填写“用户反馈卡”对课件整体教学水平、教学效果、应用价值等进行评价,然后汇总统

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论