论文部分内容阅读
摘要:本文介绍了VRML与JAVA、JAVASCRIPT通讯的原理、实现方法以及各自的性能特点,重点研究了JAVA、JAVASCRIPT和VRML在三维建模方面的结合应用技术,并给出了实例。
关键词:虚拟现实建模语言;交互;EAI;API
中图分类号:TP393文献标识码:A文章编号:1009-3044(2007)03-10764-01
1 引言
近年来,随着网络技术和WWW的发展,基于B/S模式的Web应用越来越广泛,虚拟现实技术逐渐成为了一种网络技术的新潮流。虚拟现实技术是一种计算机对现实世界的仿真技术,能够使现实世界与媒体技术产生一种交互性,其应用目前正逐渐成为国际研究的热点。在三维建模方面虽然能够使用JAVA3D或者其他方法来实现,但都存在较大难度,因而引入作为WWW第二代语言的虚拟现实建模语言(VRML,virtual reality modeling language)进行基本的三维建模,可以在很大程度上减轻编程的工作量,并且VRML能够与JAVA、JAVASCRIPT相互补充和结合,可以减少图像、视频传输导致流量过大引起网络阻塞的问题,使VRML与JAVA、JAVASCRIPT结合在三维方面的应用有其独特的优势。
2 VRML与JAVA的通讯方式
VRML场景可以通过一些基本的位置、颜色、方向插补器(OrientationInterpolator)等等来实现动画效果,但与JAVA的结合更加能够体现与外部的交互能力。VRML具有支持它自己的API,这样就给JAVA提供了一个可以访问VRML浏览器的界面和可以执行的环境。JAVA本身提供了一些封装好的类库,通过这些类便可以访问VRML场景,接收事件、发送事件,从页面上实现对VRML场景的控制。VRML的节点当中定义了输出事件(eventOut)和输入事件(eventIn),节点间事件通路由关键字ROUTE来指定,有事件发生的时候,节点随之变化。因此,VRML与JAVA的方式有两种:一种是通过扩展SCRIPT结点由url引入JAVA的虚拟字节码文件(如图1),另一种方式是通过外部编程接口EAI。
3 VRML与JAVASCRIPT的通讯方式
3.1 将JAVASCRIPT做为Script节点的url域程序资源来实现两者交互
VRML在与JAVASCRIPT进行交互时,同样会用到SCRIPT节点,通过url引入一个JAVASCRIPT脚本,写入VRML文件的脚本语言可以实现对对象的操作。并且使用ROUTE语句将所有事件绑定在一起,当触发事件时,便会产生动画效果。与JAVA不同的是,JAVASCRIPT不需要独立编写、编译,而是嵌入另一种语言实现对象操作。
3.2 在html页面嵌入VRML文件并通过JAVASCRIPT实现对象的操作
当在网页中嵌入VRML场景时,API自动创建一个Browser对象,同时也需要进行数据类型的映射、对象处理、以及事件的响应等等,在html文件中使用JAVASCRIPT脚本来实现这些映射。Html中的JAVASCRIPT首先构造Browser实例,再通过Browser对象方法改变场景。在html页面中使用脚本语句实现对对象进行一些控制似乎比JAVA更加容易实现,使用
关键词:虚拟现实建模语言;交互;EAI;API
中图分类号:TP393文献标识码:A文章编号:1009-3044(2007)03-10764-01
1 引言
近年来,随着网络技术和WWW的发展,基于B/S模式的Web应用越来越广泛,虚拟现实技术逐渐成为了一种网络技术的新潮流。虚拟现实技术是一种计算机对现实世界的仿真技术,能够使现实世界与媒体技术产生一种交互性,其应用目前正逐渐成为国际研究的热点。在三维建模方面虽然能够使用JAVA3D或者其他方法来实现,但都存在较大难度,因而引入作为WWW第二代语言的虚拟现实建模语言(VRML,virtual reality modeling language)进行基本的三维建模,可以在很大程度上减轻编程的工作量,并且VRML能够与JAVA、JAVASCRIPT相互补充和结合,可以减少图像、视频传输导致流量过大引起网络阻塞的问题,使VRML与JAVA、JAVASCRIPT结合在三维方面的应用有其独特的优势。
2 VRML与JAVA的通讯方式
VRML场景可以通过一些基本的位置、颜色、方向插补器(OrientationInterpolator)等等来实现动画效果,但与JAVA的结合更加能够体现与外部的交互能力。VRML具有支持它自己的API,这样就给JAVA提供了一个可以访问VRML浏览器的界面和可以执行的环境。JAVA本身提供了一些封装好的类库,通过这些类便可以访问VRML场景,接收事件、发送事件,从页面上实现对VRML场景的控制。VRML的节点当中定义了输出事件(eventOut)和输入事件(eventIn),节点间事件通路由关键字ROUTE来指定,有事件发生的时候,节点随之变化。因此,VRML与JAVA的方式有两种:一种是通过扩展SCRIPT结点由url引入JAVA的虚拟字节码文件(如图1),另一种方式是通过外部编程接口EAI。
3 VRML与JAVASCRIPT的通讯方式
3.1 将JAVASCRIPT做为Script节点的url域程序资源来实现两者交互
VRML在与JAVASCRIPT进行交互时,同样会用到SCRIPT节点,通过url引入一个JAVASCRIPT脚本,写入VRML文件的脚本语言可以实现对对象的操作。并且使用ROUTE语句将所有事件绑定在一起,当触发事件时,便会产生动画效果。与JAVA不同的是,JAVASCRIPT不需要独立编写、编译,而是嵌入另一种语言实现对象操作。
3.2 在html页面嵌入VRML文件并通过JAVASCRIPT实现对象的操作
当在网页中嵌入VRML场景时,API自动创建一个Browser对象,同时也需要进行数据类型的映射、对象处理、以及事件的响应等等,在html文件中使用JAVASCRIPT脚本来实现这些映射。Html中的JAVASCRIPT首先构造Browser实例,再通过Browser对象方法改变场景。在html页面中使用脚本语句实现对对象进行一些控制似乎比JAVA更加容易实现,使用