一、利用VRML开发WEB 3D动画
对于机械类课程,机器、零部件的结构特点、以及大量学生难以理解的工作机理是学生学习的难点,但通过三维动画演示可做到生动直观,大大提高学习效率和效果。这类教学动画以往都采用3DMAX来实现,但3DMAX动画一般为几兆~几十兆字节,下载时间太长,不适应现代远程教育网络课程的要求。同时对3DMAX动画,学习者只能按照制作者规定的角度、运动路径来浏览,没有交互性和自主性。针对这种情况,笔者采用了基于WEB的虚拟现实技术VRML,切实解决了三维动画的网络传输问题,并可实现交互性。
1、VRML概述
从略。
2、VRML建模VrmlPad是一种VRML专用的文本编辑器,利用它可加快文件录入速度,而且可进行语法检查。
1)简单零件可通过基本造型节点进行组合对于圆柱销、普通平键等简单零件可以直接用基本造型节点或基本造型节点的组合进行建模。比如普通平键可看作由两个圆柱体和一个长方体组合而成。
2)符合一定几何规律的零件可放样造型对于轴、套筒、滚动轴承套圈等这类零件,可以采用放样(Extrusion)进行建模。只需给出截面形状和放样路径即可建模,在VRML中截面形状和放样路径均需用坐标逐点描述出来。如一个圆形放样路径可以用30个点的三维坐标表示出来,这些点手工编写很费时,笔者用VB编写了一个小程序来计算常用曲线的坐标点(图2),利用该程序可根据需要控制点的数量和精度,十分灵活。
图2 坐标点计算程序界面
图3为采用放样建立的滚动轴承外圈模型:
图3
滚动轴承外圈
3)复杂零部件分成小块分别创建
手工编写虚拟场景时,大多数机械零部件都不可能采用一种方法一次建模,这时可将其分成若干可单独创建的小块,分别创建,再将它们拼在一起。比如要创建一个V带带轮,可将其划分成轮缘、轮辐和轮毂等小块。
图4 V带带轮模型划分
4)采用DEF/USE重用场景
从略。
3、动画实现VRML中实现动画需要传感器(Sensor)、插补器(Interpolator)和路游(ROUTE),传感器主要用来感知用户动作,插补器规定造型的运动时间和路径,路游用来传递消息。传感器将感知到的用户动作路游到插补器,插补器开始计时分段,并路游到造型使其运动。对机械零部件可实现工作时的相对运动或进行装拆,实现装拆动画,可给每个零件定义两个插补器(分别用于装、拆),并按顺序对各零件的运动时间段进行设定。
图5 自行车轴和齿轮轴的装拆动画
二、利用Flash制作平面动画
Flash动画具有较好的交互性,文件较小,且易于浏览,越来越受到网页制作者的青睐。网络课程中有时平面动画已能将内容表达清楚,则可考虑采用Flash。有时仅仅为了表达机械零部件组成时,也可用Flash制作轴侧动画(假三维)。
图6 Flash制作的轴系改错交互式平面动画
图7 Flash制作的对开式滑动轴承轴侧动画
三、利用Java Applet编写实时计算动画
为表达机械零部件各参数对其工作性能的影响,有时需要大量的实时计算,对这类动画采用Flash难以满足计算要求,笔者经过反复比较,最后采用了Java
Applet编程实现。Java Applet又称Java小程序,编译后可嵌入网页中运行,可用于制作有大量实时计算的交互式平面动画。
图8 用Java Applet编写的滑动轴承油膜压力分布模拟动画
以下从略。
|