Java、AJAX在虚拟现实中的交互应用研究.doc
文本预览下载声明
Java、AJAX在虚拟现实中的交互应用研究
摘要:分析了在VRML中通过Script节点或EAI 使用Java语言来实现对虚拟世界的控制和场景交互的办法,指出了它们的不足之处。在此基础上,利用AJAX异步传输和数据处理的优势,提出一种基于AJAX的虚拟现实框架,并简要给出了应用实例说明。
关键词:虚拟现实;VRML;Java;交互;AJAX
中图分类号:TP309.05文献标识码:A 文章编号:1009-3044(2008)06-10ppp-0c
Research on Interaction Application of Java, AJAX in Virtual Reality
QIU Qiaochun, MIN Lianying, XUE Ying
(School of Computer Science and Technology, Wuhan University of Technology, Wuhan 430063, China)
Abstract:Analyzes two means that importing Java language in VRML through the Script node or EAI to realize controlling virtual world and interaction in scenes, and then points out their deficiencies. In this foundation, this paper develops a new virtual reality frame based on AJAX by making full use of its superiorities, which include asynchronous transmission and data processing, and has given a application explanation briefly.
Key words:virtual reality;VRML;java;interaction;AJAX
虚拟现实与因特网技术的结合产生了虚拟现实建模语言(Virtual Reality Modeling Language,简称VRML),它可以与WWW一起使用,用来实现一个通过全球互联网和超链接而形成的虚拟世界[1],从而满足了人们对三维立体Web的迫切需求。
VRML被称为继HTML之后的第二代Web语言,是一种用于描述三维物体及其行为的建模语言,它可以构建虚拟境界(Virtual World),并集成文本、图像、音响、MPEG影像等多种媒体类型,还可以嵌入Vrmlscript、Java、Javascript等语言编写的程序代码。但VRML本身并没有直接和用户进行交互的能力,它需要与其他语言结合才能实现三维场景和用户交互的要求。本文分析了利用Java语言实现这种交互的可能,并进一步论述了采用AJAX后三者的结合在因特网虚拟现实中的应用。
1 VRML与Java结合
由于VRML本身不能完成普通程序设计中的分支、循环等基本特征,故它自身的交互机制是无法满足用户多种交互要求的需要。但VRML有自己的API(Application Programming Interface),这样就为Java程序提供了可以访问VRML浏览器的界面和可执行的环境,并且在Java的vrml.node包中含有一个Script类,它是一个抽象类,通过对Script类的继承,Java程序便可以与Script结点建立联系,从而达到控制VRML其它结点的目的。Java对VRML的支持都是通过附加的封装类来实现的[2] (这些类随同VRML浏览器程序安装在客户机上)。通过封装类,Java程序能够访问VRML场景、接受和发送事件、从页面上得到VRML 对象,实现对VRML 场景的完全控制。VRML 中使用Java有两大类方式:内部Script节点和外部编程接口(EAI)。
1.1 通过内部Script节点
Script节点是连接VRML和Java 的桥梁,其中的url字段是它与外部程序联系的关键,url是WWW 上一个对象的完全地址,指出了外部程序所处的位置,不管是本地的或者是在网络远端的合法程序都能被使用。甚至该字段的值能直接被赋为合法的源程序。例如,通过Java程序控制场景中球体运动的Script代码如下:
Script{
url [ “Java/MoveBall. class” ]
eventIn SFBool clicked#输入接口
显示全部