• 微课视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
微课江湖
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 微课视频
  • photoshop
  • Fireworks
  • CorelDraw
  • Illustrator
  • Painter
  • Freehand
  • Indesign
  • flash
  • maya
  • autocad
  • 3dmax
您的位置:首页 > 平面设计 >flash > Flash制作关于光的折射和全反射规律的动画教程

Flash制作关于光的折射和全反射规律的动画教程

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-05-24

佚名 向大家分享了Flash制作关于光的折射和全反射规律的动画教程,其中包含Flash制作关于光的折射和全反射规律的动画教程等知识点,遇到此问题的同学们可以参考下

  这是一个反映光的折射和反射规律的flash动画,其效果主要是用编程实现的,教程介绍的很详细,希望对大家有所帮助!

  大家可以看得出,整个flash动画大致由三部分组成:

  一、基本元件:反射光线、折射光线、法线(与分界面垂值的那一条)、光源、分界面
  二、各个角度的显示
  三、动画的实现

  这三部分中,教程将把重点放在第三部分上,将把整个的编程思路作详细讲解,好了废话少说,现在开始吧

  一、基本元件的制作

  这一步主要是用flash的绘图工具完成的反射光线、折射光线、法线、分界面的画法是一样的,所以只举一个例子足矣,如画分界面:

  1、选取工具区的线条工具,线条粗细默认,在主场景按住Shifi键向下画一条适当长度的线段。

  2、选中线段,右键—转化为元件-影片剪辑,其参数按图中设置,把它转化为影片剪辑

Flash制作关于光的折射和全反射教程

  3、双击分界面元件,进入编辑状态,选取工具栏中的文本工具,在分界面元件的适当位置加入文字说明如图

Flash制作关于光的折射和全反射教程

  其他的画法是一致的,不同的是:

  1、法线按物理的画法是用虚线的,这可以在场景的下方属性栏设置,在笔触样式处选择如图

Flash制作关于光的折射和全反射教程

  2、折射光线和反射光线的注册点选在左中间位置如何,各元件都画好了吗?下面就给各个元件命名吧,这个命名和转换为元件时的命名作用不一样,这次的命名将在脚本里用上。把各元件拖到场景中,分别选中元件,然后选择场景下方的属性-剪辑名称处命名,按中文拼音习惯命名吧,如分界面命名为fjm如图

Flash制作关于光的折射和全反射教程

  其他的同样命名,反射光线命名fs,折射光线命名为zs,法线命名为fx,至于那个发光的光源,我是用工具栏的矩形工具画的,太丑了,各位应该画得比我好,同样,画好后,选中它,右键—转化为元件-影片剪辑,命名为jg(激光)。也许大家会问,入射光线呢,别急,这条光线是用脚本实现得

  二、显示文本的制作

  这一步牵涉到了文本工具里的动态文本和静态文本的用法

  1、选中文本工具,此时的文本工具默认下是静态文本的,点击场景中的右上角,在点击处出现一个文本框、在其中输入“入射角”三字

  2、同样选择文本工具,选择场景下方的属性对话框,点击文本类型下拉菜单,会出现三选项,静态文本、动态文本、输入文本,这里选择动态文本,用来动态显示入射角得数值,在上一步的文本“入射角”后按住左键拉出一个文本框,选中文本框,选择下方的属性,在变量处命名rsj(入射角)如图

Flash制作关于光的折射和全反射教程

  最后在动态文本后用静态文本输入单位“度”,基本作法就如此,,之后依次完成折射角(zsj)、反射角(fsj)、临界角(ljj)的显示文本的制作,效果如图

Flash制作关于光的折射和全反射教程

  三、动画的实现

  1、理论分析

  这部分主要是脚本了,我们先熟悉一些折射定律吧,高中物理告诉我们,当一束光线从光密介质到光疏介质(如从水或玻璃进入空气),有可能发生全反射(此时只有反射光线),条件就是光线在光密介质中的入射角大于临界角,(如果不是很清楚,可看一下物理课本哦,,我这里基本上只是给出结论),临界的计算公式sinC=1/n(n为折射率),即C=arcsin(1/n),而光线在空气中与法线的夹角i和光线在介质中与法线的夹角r满足折射定律公式n=sin(i )/sin(r),所以有i=arcsin(n*sin(r),至于另外的一条反射光线就简单了,入射角等于反射角,根据能量守恒,入射光的总能量=折射光的能量+反射光的能量,这一点将用他们的透明度(alpha值)反映出来。

  2、代码分析

  完整的代码如下
i=&nbs</p> p;Math.asin(n*Math.sin(r));
zs._rotation=-90-i*180/Math.PI;
zs._alpha=100-i*60;
}else{
zs._alpha=0;
}
}
fs._rotation=180-A*180/Math.PI;
rsj=Math.round(r*180*10/Math.PI)/10;
if(r<C){
zsj=Math.round(i*180*10/Math.PI)/10;
}else{
zsj="已全反射";
}
fsj=Math.round(r*180*10/Math.PI)/10;
fs._alpha=i*60;
};</div>

  好了下面开始分析代码如何写的了,先看一个图

Flash制作关于光的折射和全反射教程

  看得出,我是用分界面和法线把场景分成了4个区域,相当于数学里的第一到第四象限,在代码中先作了如下的初始化


  由以上的初始化可知,折射光线、反射光线的注册点必须在左边(看元件制作)同时由图可知,入射光线只能在3、4象限,意味着光源只能在3、4象限移动,所以光源(激光jg)元件只能在平面以下拖动,左右最好不要出场景,代码为


  接下来就要解决入射角和折射角的关系,还是再看一个图

Flash制作关于光的折射和全反射教程

  这个截图中入射光线是在第三象限,对应的折射光线在第一象限,而flash的旋转用其属性_rotation实现,这个属性表示的是指定影片剪辑相对于其原始方向的旋转程度,以度为单位。从 0 到 180 的值表示顺时针方向旋转;从 0 到 -180 的值表示逆时针方向旋转。所以首先要获得入射光线的旋转角A,可我们上面的元件中没有入射光线呀,怎么来的,实际上是用以下代码画的


  那么,A就可以用反三角函数获得代码为


</div>代码如下:</div>

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2017-05-24Flash AS 入门 “for”循环语句应用
  • 2017-05-24用flash制作画卷展开、合拢的gif动画效果
  • 2017-05-24Flash教程:互动的橡皮刷
  • 2017-05-24Flash AS实例教程:简单的loading
  • 2017-05-24FLASH怎么做等高线原理演示课件?
  • 2017-05-24FLASH制作一个开饭了的动画效果
  • 2017-05-24flash怎么设置透明度? flash调节图片透明度的教程
  • 2017-05-24Flash CS4制作时尚的时钟走动gif动画效果
  • 2017-05-24flash怎么制作翻滚的文字动画? flash动态文字制作教程
  • 2017-05-24Flash AS3教程:ByteLoader类

文章分类

  • photoshop
  • Fireworks
  • CorelDraw
  • Illustrator
  • Painter
  • Freehand
  • Indesign
  • flash
  • maya
  • autocad
  • 3dmax

最近更新的内容

    • Flash AS实现的蝌蚪摆尾动画的教程
    • flash逐帧动画制作全过程解析
    • flash制作散发光芒的特效佛光动画
    • Flash实例教程:制作鼠标跟随的馋嘴兔兔
    • flash怎么画中国国宝大熊猫? flash绘制卡通大熊猫的教材
    • Flash制作搞笑诙谐的QQ表情动画
    • 用flash简单制作太极图
    • flash怎么制作茶壶水壶?
    • flash怎么利用遮罩层制作简单的文字特效动画?
    • Flash cs6传统补间动画的基础知识整理

关于我们 - 联系我们 - 免责声明 - 网站地图

©2015-2018 All Rights Reserved. 微课江湖 版权所有