返回首页
当前位置: 主页 > 教育技术学 > 应用研究 >

利用变量函数制作教学动画

时间:2012-03-17 22:32来源:知行网www.zhixing123.cn 编辑:麦田守望者

摘要:随着教育技术的发展,计算机动画在教学中应用非常广泛,本文用生动的实例阐述了在3D MAX中制作函数曲线动画的方法和技巧,并论述了它在教学中应用方法。

关键词:3D MAX 函数 教学动画
在多媒体教学中,我们经常应用动画来表现教学内容,3D MAX就是一个制作三维动画的工具软件,在3D MAX中制作动画非常容易,通常我们只需制作一条运动路径,动画对象就可沿我们指定的路线运动。在实际教学中,我们常常需要对象沿一些特殊的曲线运动,如沿抛物线、正弦曲线运动等等;这时我们就可以用3D MAX中的函数命令,制作出非常精确的函数曲线动画。
一、制作函数曲线动画
我们知道,在3D MAX中制作一个动画是非常方便的,但如果需要对象沿一条函数曲线运动,用手工制作的运动路径就很不精确了,我们是否可以在对象的运动控制中加入函数表达式,让对象自动沿着函数曲线运动呢?当然可以。现在我们进入3D MAX,先生成一个小球,然后制作一个小球沿正弦曲线运动的动画。
1、首先我们做一些初始设置。单击3D MAX窗口右上部的显示(Disply)图标,打开Display Properties按钮,勾选显示对象轨迹选项(Trajectory),这样就可在视图中显示出小球的运动轨迹。在菜单上选择 Track View,打开Track View窗口,用鼠标单击Filters按钮,选择Show Contyoller Typrs,然后确认。
2、展开Objects/Sphere01/Transform。选择Position选项,单击Assign Contrller按钮,选择Postition Expression选项,这就把小球的运动由Bezier Position控制改为Position Expression控制(表达式控制)。在Track View窗口中小球位置控制器类型显示为:Position:Position Expression。
3、用鼠标右键单击Position:Position Expression,选择Properties选项,出现Expression Controller窗口。
现在我们来了解一下表达式控制(Expression Controller)窗口的内容:在窗口的右半边,上部是Expression区,中括号内的三个数字表示小球的(X,Y,Z)的坐标位置,这是我们填写函数表达式的地方。 Description区,可以输入一些说明文字,便于理解记忆。单击右下角的Function List按钮,可以查询各种函数命令,如sin(x)正弦函数,pow(x,Y)函数,log(x)函数等等。单击Evaluate按钮,可以检验在Expression区输入的表达式有无错误, Debug按钮可以查看执行的结果。
4、在表达式控制窗口的Expression区域内,把小球的位置坐标改为:
[F,0,50*sin(3.6*F)]
这样我们在小球的位置坐标中加入了正弦函数表达式,F为帧数,它的变化范围是从起始帧到总帧数,其它的T、S、NT也是3D MAX内部提供的时间变量,这几个时间变量必须是大写字母输入,而函数命令必须用小写字母。现在关闭表达式控制窗口,在视图中显示出了小球的运动轨迹是一条正弦曲线,播放动画,小球沿正弦曲线运动。
二、自定义变量的函数曲线动画
前面我们只用了时间变量,当然我们也可以自定义变量,制作出更加灵活而多变的动画。我们在小球的下面生成一个大而薄的立方体(Box)作为地面,在小球的上方生成一个与小球大小差不多的虚拟体(Dummy),播放动画,小球一定不象是在地面上跳动,现在我们通过引入变量参数来模拟小球在地面上弹跳。
1、打开Expression Controller窗口,现在我们来了解一下窗口的左半边:上部是生成变量(Create Variables)域,这里可以产生两种变量:一种是数量变量(Scalar),另一种是向量变量(Vector)。Vector表示向量变量,它包含了x、y、z三个坐标方向的分向量变量,在使用中可以用“变量名.x”、“变量名.y”、“变量名.z”,将三个分向量分离出来使用。在左下边有两个按钮,单击Assign to Constant按钮,可以给选定的变量指定一个常数;单击Assign to Controller按钮, 出现Track View Pick窗口,在这个窗口中可以选择控制变量的对象,此时任何可以被选择的对象以黑色显示,而不能被选择的对象变成了灰色。
2、现在小球运动使用的是时间变量,我们无法控制,因此我们引入新的变量参数。在生成变量区内的Name框中输入:A,选择Vector,生成一个向量变量,在Vector区域内将显示出“A”。单击Assign to Controller按钮 ,出现Track View Pick窗口,选择bjects/Dummy01/Transform/Position选项后确认返回。这样虚拟体就可以控制向量变量“A”。现在我们把小球的运动表达式改为:
[A.x,A.y,A.z]
在透视图中移动虚拟体,我们发现小球完全与虚拟体一起移动,这是因为小球的三个坐标完全由虚拟体的三个分向量控制了。
3、给小球加入跳动。将表达式改为:
[A.x,A.y,A.z*cos(3.6*F)]
播放动画小球只在原地上下跳动,给虚拟体加入动画,让虚拟体在XY平面上从左向右运动,这时小球也从左向右跳动,但是小球在运动到最低点时很缓慢,这是不正常的,将表达式改为:
[A.x,A.y,A.z*abs(cos(3.6*F))]
给余弦函数加上了取绝对值函数,使其负值部分反转,这样小球运动到最低点时速度快,而在最高点附近速度慢,符合正常的弹跳。然而,此时小球可能并没有在我们做好的地面上弹跳,可以移动地面的位置,但现在我们不想移动地面,我们通过数学方法让小球自动在地面上弹跳。
4、再生成一个向量变量“B”,把它指定给地面对象(Box)控制,将表达式改为:
[A.x,A.y,A.z*abs(cos(3.6*F))+B.z]
现在小球自动在地面上弹跳了,但在最低点时小球有一半进入了地面,因此还需要在表达式中加入小球的半径,表达式改为:
[A.x,A.y,A.z*abs(cos(3.6*F))+B.z+R]
其中“R”是小球的半径,可以直接写入半径的数值, 这里我
们生成了一个名为“R”的数量变量(Scalar), 并把它指定给了
小球的半径(Sphere01/Object/Radius)来控制。生成一个数量变量有一个好处,以后无论小球的半径如何变化,小球的运动也是正常的。
5、小球在地面上弹跳时,应该是高度越来越低、弹跳距离越来越小才是正常的。高度的变化,有三种方法来解决:第一种是让虚拟体在向前运动的同时降低高度,最后正好接触地面;第二种方法是生成一个数量变量;第三种方法我们使用数学方法,使用NT变量,NT是从0到1的时间变量,表达式改为:
[A.x,A.y,A.z*(1-NT)*abs(cos(3.6*F))+B.z+R]
播放动画,小球弹跳的高度越来越低了,但每次弹跳的距离却 是一样的,这是不正常的,因此还需改变弹跳的频率。
6、改变弹跳的频率。打开表达式控制窗口,生成一个数量变量“C” , 单击 Assign to Controller按钮,选择GlobalTracks/Float/Available选项, 将数量变量“C” 指定给Float/Available控制。 现在关闭表达式控制窗口,设置变量“C”的范围,在Track View窗口中,将Global Tracks/Float/Available的控制器类型改为Bezier Float控制器,在第零帧和最后一帧各增加一个关键帧,并把最后一个关键帧的垂直数值定为2,这样就确定了变量“C”的变化范围是0到2,在表达式中加入变量“C”:
[A.x,A.y,A.z*(1-NT)*abs(cos(3.6*F*C))+B.z+R]
播放动画,现在小球很自然的在地面上弹跳了。如果再加上效果声,弹跳就更加真实了。
三、教学中的应用
物理教学中,电磁波是看不见摸不着的,学生难以理解,利用动画来表现,形象而直观,很受学生欢迎。我们利用3D MAX制作的调幅波的动画,就是一个很成功的例子。在3D MAX中分别生成一个红色小球和一个绿色小球,让红色小球沿低频正弦曲线运动,代表信号波;让绿色小球沿高频正弦曲线运动,代表载波。
1、初始设定。把动画总帧数设定为400帧,两个小球的运动都设定为表达式控制器。
2、生成信号波和载波。
红色小球的运动表达式为:[F,0,10+10*cos(1.8*F)]
绿色小球的运动表达式为:[F,0,50*sin(18*F)-50]
可根据需要调整两者的频率和振幅,生成符合实际要求的信号波和载波。
3、把信号波加到载波上。选择绿色小球,生成一个向量变量“A”,把它指定给红色小球控制,将绿色小球的表达式改为:
[F,0,50*sin(18*F)-50+A.z]
播放动画,我们发现绿色小球运动的振幅发生了变化,它的变化幅度与红色小球的运动振幅是一致的,但作为调幅波,它的下半部分振幅的变化并不正确,应该反向才是正确的。因此,我们对绿色小球的表达式作了新的改动:
[F,0,50*sin(18*F)-50+if(sin(18*F)>0,A.z,-A.z)]
现在绿色小球的运动就模拟了一个高频调幅波。
4、生成动画。把两个小球的各阶段分别生成动画文件,在实际教学中灵活应用,把不可见的调幅过程生动而形象的展示出来,学生理解和掌握也就容易多了。
象这样在教学中应用的例子还很多,如模拟飞机投弹等等,只有我们掌了基本的方法,才可产生无穷的变化,也才能更好地服务于教学。
顶一下
(0)
0%
踩一下
(0)
0%
标签(Tag):教学动画
------分隔线----------------------------
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
猜你感兴趣