冲击波三维动画技术在化学教学中的尝试_三维动画论文

Shockwave 3D三维动画技术在化学教学中的尝试,本文主要内容关键词为:三维动画论文,化学论文,技术论文,教学中论文,Shockwave论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。

一、关于Shockwave 3D

1.Shockwave 3D简介

Shockwave 3D是Director(Macromedia公司的多媒体制作软件,http://www.Macromedia.Com/Director)中控制3D的成员,利用Shockwave 3D可随意控制三维模型的各种属性,形成灵活、交互的三维世界。

2.Shockwave 3D的优点

Shockwave 3D的文件比常见的三维视频文件尺寸小很多,能根据电脑的资源自动地调整3D内容的品质,特别适用于网络传输,生成的交互式动画可在网页上运行;可用Director中的内置Lingo语言来控制Shockwave 3D的文件(W3D文件)中的三维模型的各种属性、动作,形成交互的三维世界;三维模型的资源丰富,可利用3D MAX等三维软件制作W3D文件;W3D文件中不仅有三维模型和灯光及摄像机的数据,而且各三维模型可有各自的运动变化的数据。

3.Shockwave 3D的使用

一种方法是在Director中点击工具中的ShockWave 3D Windows按钮,启动Shockwave 3D窗口对3D模型进行一些属性修改,另一种方法是用Director中的Lingo语言进行更多的3D控制。

二、Shockwave3D设计交互的三维动画

用Shockwave 3D设计三维动画主要有建模、用Lingo语言来控制三维模型的运动变化这两步重要环节。

1.建模

Shockwave3D文件中的三维建模,有两种方法:一是用Director中的内置Lingo语言进行建立一些简单的三维模型如立方体、球休、圆柱等;二是用其他3D软件建立复杂的三维模型(可给各模型进行设置各种动作)并输出成W3D格式的文件

(1)用Lingo语言建立三维模型

在Lingo语言中用member(which Member).new Model(“modelName”)语句建立3D模型。其中whichMember表示3D模型所在的名称,model-Name表示所建模型的类型,可以是Box、Sphere、Cylinder、Hane等。创建好后可给不同的3D模型设置各种属性参数,不同种类的模型有不同的属性,例如Sphere(球)的属性有radius(球体半径)、resolution(球体表面的多边形数量)、startAngle(开始卷动的角度)和endAngle(结束卷动的角度),也可给3D模型设置三维贴图。

(2)用其它3D软件建立复杂的三维模型

用3D MAX(在6.0以下的3D MAX中必须安装W3D插件)或plasma(3D MAX和plasma都是 discreet公司的3D软件,plasma是专门用来生成W3D格式文件的)制作三维模型或动画后以W3D格式保存文件,然后在Director中导入所生成的W3D文件。在导入到演员库中的3D元素可用Shockwave 3D窗口观察、控制,也可用Lingo语言来进行更多的设置。

2.控制三维模型

在Director中控制三维模型的属性形成动画是依靠Lingo语言中的3D指令实现的。其3D指令能对三维模型进行各种操作如大小变化、三维坐标运动、三维旋转、颜色变化、光线变化、三维贴图等。有两种方法实现对Shockwave中的三维物体进行控制,最简单的方法使用Director中的Shockwave 3D内置行为,这不需设计者书写Lingo代码(Director自动完成代码书写);另一种是设计者手动书写Lingo代码,这种方法更为灵活。

(1)用Shockwave 3D内置行为设计动画

点击工具中的Library Palette(动作行为库)按钮,选择3D类中的行为,用鼠标点击所要的动作行为并拖到舞台Stage上的3D演员Cast的分镜sprite上,并根据弹出的对话框设置相应的参数。有时还要triggers触发器(事件)相配合,如鼠标、键盘的触发事件。这样Director就根据设置自动形成3D交互动画了。

(2)书写Lingo代码设计动画

虽然用3D动作行为库能很快设计出3D动画,但要使3D动画的灵活性、交互性更好,有时必须自己书写Lingo代码来设计动画。在用Lingo代码设计动画时经常用到下列语句:

transform.rotation=vector(x,y,z),该语句的作用是使3D物体围绕三维坐标轴进行一定角度旋转,如要围绕X坐标轴旋转90度则相应的语句为rotation=vector(90,0,0)。

transform.position=vector(x,y,z),该语句的作用是使3D物体的坐标变为三维世界中的某一位置vector(x,y,z),如要使物体的坐标变为3D原点,则x,y,z的值都设为0。若在某一时间中给3D物体的三维坐标进行连续变化或根据实际操作情况进行相应变化,则形成了交互的3D动画。

Model(“modelName”).transform.position.x,该语句的作用是获得3D物体的X轴坐标值(若要得到y轴的值,只需把x改成y),这主要用于判断物体的位置。

Camera.translate(x,y,z),该语句是用于摄相机camera的运动。

member(whichMember).resetWorld()用于物体的复位。

三、Shockwave 3D技术设计三维动画

晶体和有机分子是化学教学中涉及三维空间较多的知识内容,下面通过举几事例来说明Shockwave 3D技术在化学教学中三维方面的具体应用。

1.旋转分子(晶体)模型

在化学教学中有时需把晶体或有机分子模型从三维空间的角度向学生展示,以甲烷分子为例。先在3D max中创建甲烷模型,选择所有物体并Group为"Group01”(便于Director能对甲烷进行整体旋转),在File(文件)/Expor(输出)中选择*.W3D格式保存文件。启动Director选择File(文件)/Import(导入)菜单把生成的*.W3D格式文件导入到Director中并命名Cast Name为“CH4”,可用Shockwave 3D窗口观察甲烷分子模型。

在Cast窗口中把CH4拖到Stage(舞台)上并调整好大小与位置,在Score中双击Frame 1(帧)启动Script编辑器书写exitFrame语句“go to the frame”。选择菜单Window/Library Palette出现Code:Library窗口,选择Library/3D/Actions中的“Drag Model to Rotate”动作行为并用鼠标拖到Stage中的“CH4”上,弹出如下图所示对话框并设置好参数(Sensitivity为灵敏度设置,“ch4_r”为行为的名称)。

再选择Library/3D/Triggers中的“Mouse Left”事件行为并用鼠标拖到Stage中的“CH4”上,弹出如下图所示对话框并设置好参数(可设置Mouse激活方式及旋转的三维空间坐标,下图设置:当按下鼠标左键,甲烷就向x、y轴转动)。

这样当鼠标点击甲烷并拖动,甲烷分子会随鼠标的拖动而进行相应的三维旋转,按工具中的Play按钮便可运行所做动画,效果如下图所示:

另一方法是不用动作行为库,直接书写Lingo代码:在exitFrame语句中书写代码“member(1).model(“group01”).rotate(0,0,4)/go to the frame”,在rotate(x,y,2)中可设置旋转的三维角度和速度。

若用“scale(x,y,z)”语句设置甲烷中碳原子、氢原子的大小变化,可实现球棍模型与比例模型的相互转变。

学生能够从不同角度对晶体、分子结构进行三维空间观察、思考,帮助他们全面掌握晶体、分子的结构,提高空间想象能力,更能加强他们对这些物质性质的理解和应用。

2.模拟有机反应原理

先在3D smax中创建乙酸与乙醇进行酯化反应的动画并保存*.W3D格式文件且在Director中导入。把酯化反应的动画Cast拖至舞台,在Score中双击Flamel(帧)输入exitFrame语句“go to the frame”。在舞台上放置两个按钮(用来控制动画的播放,分别名命为play和replay),给按钮replay添加Script脚本(On mouse Up事件)“member(1).Reset World()”。给按钮play添加Script脚本(on mouseUp事件):(keyframePlayer.pause表示暂停Shockwave 3D中的关键帧播放,keyframe-Player.play表示关键帧播放。model(1)、model(2)、model(3)、model(4)是在3dsmax中创建的不同组Group,在Shockwave 3D把3ds max中的Group看做是model模型,Shockwave3D可对不同的model单独进行控制,这样更灵活。

if member("play").text=“play、”then

member(1).model(1).keyframePlayer,pause()

member(1).model(2).keyframePlayer.pause()

member(1).model(3).keyframePlayer.pause()

member(1).model(4).keyframePlayer.pause()

member(“play”).text=“pause”else

member(“play”).text=“play”

member(1).model(1).keyframePlayer.play()

member(1).model(2).keyframePlayer.play()

member(1).model(3),keyframePlayer.play()

member(1).model(4).keyframePlayer.play()end if

学生通过对有机反应原理的三维模拟观察,能充分认识有机分子结构特别是分子结构中的官能团对有机物性质的影响,从而真正体会到“结构决定性质”这一规律,使学生能更快、更有效地理解和掌握有机物的结构与性质,极大提高了他们的思维能力。

四、结束语

在化学教学中用Shockwave 3D三维动画技术来模拟分子(晶体)结构、反应原理进行三维展示,是一种有效的教学手段。三维动画技术上采用三维模型和三维指令相结合的方法,三维模型可用其他3D软件生成(资源丰富),且Lingo三维指令简单而功能强大,两者相互结合可形成灵活、交互而复杂的三维动画。由于Shockwave 3D三维动画体积小适用于网络传输,显示品质较好且具有交互、灵活的特点,在化学教学中能帮助学生加强对物质结构、性质的理解,提高他们的想象能力和思维能力,提高了课堂教学效率。

标签:;  ;  ;  ;  ;  ;  ;  ;  

冲击波三维动画技术在化学教学中的尝试_三维动画论文
下载Doc文档

猜你喜欢