前言:寻找写作灵感?中文期刊网用心挑选的VRML技术下的物理实验论文,希望能为您的阅读和创作带来灵感,欢迎大家阅读并分享。
1vrml简介
VRML(VirtualRealityModelingLanguage)是一种用于建立真实场景或三维场景的建模语言,它和HTML一样,是一种ASCII码描述语言,具有较好的硬件平台无关性。该语言通过文字描绘定义雾、动画、光、纹理映射等概念,然后再通过创建一个在三维空间中航行的命令,这些指令由再现器(Render,一个内置于Internet浏览器中或外部的程序)解释执行。1997年12月正式VRML作为国际标准,1998年1月正式获得国家标准组织ISO批准,简称VRML。VRML文件通常由文件头(Header)、事件的路由(Route)和场景图(SceneGraph)组成。文件头表明其遵循的国际标准及文件的属性。事件的路由可以将一些节点产生的时间传给另外的节点,从而使物体产生改变颜色、发出声音等特殊效果,使或三维空间里的物体产生运动。场景图定义了三维空间的物体及其属性。由于通过VRML可以将复杂的3D术语转换成动态虚拟场景,尤其是其可跨平台性和交互性强,从而使虚拟现实(VR,VirtualReality)在Internet上的应用更加广泛。
2构建虚拟世界
虽然VRML文件比较小,用户在创建虚拟场景时,较为困难的是如何构建一个相对复杂的三维几何体。让困难加倍的是,一切都需要用户从几种最基本的几何体入手,因为VRML并没有提供更高级的几何造型。因此,这就需要一个颇为有效的VRML生成工具。一般情况下,三维虚拟世界的建立依据的是现有的商业CAD软件。比如,在具体实践中,我们可以提供最常用的VRML输出接口,而且具有即时修改和所见即所得的特点。我们用3Dmax与VRML相结合的方法来进行演示制作。构建成一个基于VRML的三维虚拟世界需要我们在操作过程中,制作与修改同时进行。具体流程如图1所示。构建虚拟世界的具体操作:
①在3Dmax环境下制作动画及三维模型。
对于那些比较复杂的机械零部件要先用AuCAD来建模,然后通过3Dmax制作动画。
②优化处理三维场景。
3Dmax语言提供的优化器用来优化三维场景。尽可能地减少常用模型的分段数,以减小文件所占的内存空间,当然前提是不影响实际效果。
③VRML文件的输出。
VRML文件的输出是通过3Dmax软件文件菜单下的输出实现的。
④加入VRML节点以实现动态功能控制。
基于没有经过任何组织3Dmax输出的VRML文件,只是一些相对独立的节点放到了一块,就没有办法对他们进行控制。所以,应该加入VRML节点。再用Group、Transform把它们按照层次组织起来,构成示意图;并通过Route语句、TouchSensor节点和TimeSensor实现鼠标来控制动画;利用Anchor节点实现VRML虚拟世界中不同视点之间的相互切换等,一般的实现过程如图2所示。
⑤优化处理VRML文件代码。
我们对VRML文件代码进行优化的同时,要考虑到目前Internet的浏览速度、网络资源等限制因素。比如减少后续编程及VRML文件大小可以利用VRML语言本身提供的语法特性减少重复定义和描述。要提高网页的浏览速度,用LOD节点定义复杂模型的不同细节减少复杂模型重现时多边形的数目;避免重复描述结构相同或者相似的构件,可以采用DEF/USE节点来处理。
3实现交互功能
真实性和实时交互性是三维虚拟世界的远程虚拟物理实验教学系统最重要的特点。VRML支持的交互功能共有两类:
①Script节点产生的交互。
VRML的Script节点是一种控制传感器和内插器的节点,用来改变和定义场景中对象的行为和外观、VRML与外部编程语言程序的实现、VRML的交互性。通过程序设计(Script节点)可以解决利用交互节点产生的交互对网络及服务器要求较高,产生的反应延时等问题。当Script初始化时,程序会调用Script节点中的Java,并将命令从Java传递到VRML,由VRML文件中域的定义在Java程序中使用。事件在VRML场景中被检测到并传递给Java,由Java作出反应,反向进行也是这种传递的一大亮点。通过Script节点可以开发一些实时性的、多线程的交互操作程序,也可以实现场景与数据库的实时交互。
②由交互节点产生的交互。
采用增加(如感应器节点、插值节点等)节点通过事件(Event)可以实现这类交互。学习者的动作和要求是由Event代表的,交互节点捕获系统产生的Event并进行处理,然后由ROUTE/TO语法传入到场景中,这样场景就会产生相应的反应,最终实现人机的交互功能。我们需要把VRML与现有的Web技术进行融合,因为目前3W的Internet网络的网页仍然是HTML格式的,传统实验教学中不好表达、不好理解、不好操作的抽象概念和现象,都可以运用三维虚拟世界技术对远程虚拟物理实验进行补充。
作者:霍连利 单位:75660部队