随着网络技术的发展,利用网络进行课程教学已经成为教学改革的新热点。然而,目前网络教学仍存在许多不足。VRML是一种虚拟现实建模语言,可以在网络上创建逼真的三维场景。VRML还支持纹理映射、背景、视频、音频、对运动和碰撞检测。如今,许多三维软件支持以VRML格式输出特定场景。对需要编程来添加复杂的移动机构,并使用VRML来编程和组装[3]。在3ds Max中设置对,然后将其输出为VRML文件格式,以便于对象的不规则运动。
随着网络技术的发展,利用网络进行课程教学已经成为教学改革的新热点。然而,目前网络教学仍存在许多不足。网络课件的制作大多局限于基于超链接的文本结构,难以看到逼真的三维,三维图形,网络远程教学的优势没有得到充分发挥。高校工科课程中有许多三维结构,有些课件用动画来表达三维模型的运动。由于网络速度的限制,动画不能太长太多,所以学生只能被动接受,而不能主动参与。针对这些问题,本文借助VRML(虚拟现实建模语言)实现了三维图形交互式远程教学系统,并将虚拟现实技术引入到网络课件的制作中,使学生能够在网上观察真实的三维动态模拟,并实时互动,从而提高了学生的参与度和主动性,取得了良好的教学效果。1虚拟现实技术虚拟现实是利用计算机技术来模拟现存的或不存在的世界,并通过特殊的输入和输出设备让用户感觉他们已经经历了这个世界。作为一门新兴学科,它在许多方面显示出诱人的应用前景。它在航天军事、产品设计、城市建筑、环境规划、虚拟样机、虚拟制造、医学、娱乐等领域取得了一定的应用成果。VRML是一种虚拟现实建模语言,可以在网络上创建逼真的三维场景。虚拟现实语言使用节点来描述虚拟场景中的各种元素。每个节点都有相应的功能,节点的域和值保存了功能所需的参数和值。VRML还支持纹理映射、背景、视频、音频、对运动和碰撞检测。如今,许多三维软件支持以VRML格式输出特定场景。2系统的设计与实现2.1系统的功能特点(1)逼真系统展示了三维模型,它比网络课件中常用的图片或文字更加逼真。系统展示的是运动模型,一些在课堂上难以解释清楚的模型被真实地展示出来。(2)交互性是虚拟现实技术的三大基本特征之一,也是本系统的最大特点。学生可以主动参与、操作和控制三维模型,从而对三维图形有更全面、更深刻的理解。2.2系统规划系统实现了四个功能:查询模型运动、查询模型、显示所有模型运动、根据模型所属的运动机构类型查看模型。系统规划如如图1所示。2.3关键技术2.3.1建模技术有两种建模方法,第一种是直接用虚拟现实建模语言编程建模。用这种方法编制的模型数据少,程序可以重用。第二种方法是在其他建模软件中创建模型,然后将它们转换成VRML格式。一些三维建模软件,如实体Edge, UG等。可以直接导出为VRML文件格式,不能直接导出的也可以通过第三方软件转化导出。本文使用的模型都是在AutoCAD 2004中建模的,VRML文件格式是由3ds Max转化,采用的,并通过3ds Max和VRML编辑器VrmlPad2.0. 2.3.2场景组合技术进行了优化。其次,在专业建模软件(如3ds Max)中组装[2],然后使用转化作为VRML文件格式。这两种方法在方便程度上类似于对,的简单机构,而后者更直观。对需要编程来添加复杂的移动机构,并使用VRML来编程和组装[3]。2.3.3运动添加技术(1)在3ds Max中设置运动在3ds Max中设置的运动可以是VRML文件格式的转化。在3ds Max中设置对,然后将其输出为VRML文件格式,以便于对象的不规则运动。
对运动的加速度和速度有规律地变化。要在3ds Max中实现这种运动,需要选择足够多的关键帧,并精确计算每个位置的角度,从而逼近运动过程。(2)使用VRML的时间传感器、坐标插值器节点坐标插值器和方向插值器节点添加运动。该方法类似于3ds Max中设置运动的方法。使用时间传感器、坐标插值器和方向插值器选择一个运动周期的多个关键点,并根据计算确定每个关键点的每个分量的坐标值和方向。在这种方法中,对以简单而有规律的方式运动比较方便,而对则处于复杂的运动中,这就需要大量的计算,而且每两个关键点之间的运动是线性的,这就意味着对于一个在曲线上运动的物体来说,需要选择许多点来近似虚拟的运动过程。如图4所示两个齿轮的运动是用这种方法设定的,代码如下.} #定义齿轮轴所在的节点l1defl2transform.} #定义大齿轮、轴和皮带轮所在的节点l2deft1时间传感器{#定义t1时间传感器循环间隔值10 #定义小齿轮旋转一次的时间间隔为10圈真}定义t2时间传感器{#定义t2时间传感器循环间隔值33 #定义大齿轮旋转一次的时间间隔为33圈真}定义O1方向插值器{# O1方向插值器键[0,0.125,0.25,0.375,0.5,0.625 100-1.57,100-2.355,100定义为100 0-5.495,1 00-6.28]}定义o2方向插值器{……} #定义O2方向插值器路径1。 分数_已更改为O1。set _ fraction #将t1的时间更改传递给o1routo1。value _已更改为l1。旋转#和角度变为l1route2。分数_已更改为o2。设置_分数#将t2的时间更改为o2路线O2。值_已更改为L2。旋转#将O2的角度变化转移到L2。(3)使用javaScript、vrmlScript或java编写控制运动的程序。复杂运动模型中的对必须借助脚本节点来实现,脚本节点支持javascript、vrmlscript和java编程,并且可以编写程序来实现节点的功能。具体步骤如下:首先,通过分析计算模型之间的关系表达式;然后,通过javascript或vrmlscript语言将表达式写入脚本节点;这些程序用于控制部件的相应角度或位置;最后,这些值由脚本节点和路由传输。该方法适用于多个部件的规则运动。有关具体方法,请参见