基于Web的VRML与JAVA、JAVASCRIPT结合应用的实现

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:hu_411102992
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:本文介绍了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更加容易实现,使用标记将wrl文件加载到html文件当中,具体对象的操作通过JAVASCRIPT中定义的方法、函数来实现。
  
  4 VRML与JAVA、JAVASCRIPT结合的实现
  
  4.1 通过扩展SCRIPT节点实现VRML与JAVA交互
  VRML和Java语言都是 可执行的代码”技术,通过网络传输的只是一个很小的描述文件(指令性数据集),客户端通过本地的VRML浏览器、JAVA虚拟机交互地访问这些文件并解释执行。
  本例首先在VRML场景中建模,定义七个圆柱体模型,分别附带七个传感器节点,用于触发点击事件。Java程序实现对七个圆柱体进行色彩的改变。在基本建模成功之后只产生静态的效果。在VRML场景中需要定义以下的script脚本:
  本段代码首先用DEF自定义changeColor的脚本节点,在节点中声明了输入事件get_t1到get_t7的类型和输出事件set_c1到set_c7的类型,并引入changeColor.class文件。ROUTE语句将不同的节点绑定在一起。当事件触发成功,则七个圆柱体产生色彩的变化。在JAVA与VRML的数据进行整合的时候,整个API的构造是围绕两个定义在vrml包中的java的接口:evenIn和Node。在声明eventIn接口时,要声明引入事件的字符串、进入时间、常量域的类型和方法。Node接口当中要声明得到的域值的方法,并且定义抛出异常的方法。本例效果如图2。
  图2 产生动画效果前、后的模型
  4.2 通过EAI实现VRML与JAVA交互
  
  运行效果如图3所示:
  图3 运行的效果
  4.3 JAVASCRIPT作为script节点的url域程序资源实现两者交互
  在VRML场景当中也要用DEF自定义Script節点,声明VRML变量、事件。在VRML嵌入javascript脚本语言,类似与html页面中加载javascript脚本,实现某些单独在虚拟现实场景无法实现的动画效果。在编写事件响应函数的时候要注意面向事件进行编程,这样事件响应函数不会像线程那样长久占有控制权。本例实现的效果是点击一个模型后,模型从一个预定的坐标点每次向左平移0.5个单位,向下平移0.3个单位,向前平移0.3个单位。在建模过程中定义好初始坐标,设置好触发器,点击事件一发生就调用javascript函数。
  4.4 在html页面中使用javascript实现与VRML交互
  本例实现功能是在html页面上实现视角的转换,点击响应的视角选择按钮,触发点击事件,响应javascript定义的函数,在web页面上体现出不同视角模型的转化。
  
  
  5 结束语
  
  综上所述,本文基于VRML面向对象的概念,提出了与JAVA、JAVASCRIPT结合的两种方式,不仅提高了VRML建模语言的灵活性,并且能够将基于web的数据库运用到建模过程当中。当然,在JAVA中运用其它的建模手段扩展和延伸了JAVA的建模功能。VRML与JAVA、JAVASCRIPT的结合更好的体现了JAVA和VRML平台无关性的特点,能够更好实现基于Web的应用。
  VRML和JAVA、JAVASCRIPT的通讯都是通过API来实现接口对接的方式,可以看出,在上述对JAVA、JAVASCRIPT与VRML的通讯方式中,交互性是第一位,通讯方式不同,对对象的定义和操作方式也各不相同。以上所讨论的问题作者认为在地理信息系统、网上房产展示、电子商务等领域有很广的应用。随着基于Web应用的推广,分布式虚拟现实系统、虚拟现实与数据库的连接以及不同接口的处理都有很广泛的研究及应用市场。
  参考文献:
  [1]Mark Waks. Java and VRML[EB/OL]. http://www.lib.tsinghua.edu.cn/chinese/INTERNET/Java/jv29.htm.
  [2]Bernie Roehl. Java and VRML[EB/OL]. http://docs.rinet.ru/HTMLnya/ch55.htm.
  [3]Andrea L.Ames Davi R.Nadeau John L.Moreland.VRML2.0 資源手册[M].电子工业出版社,1998.
  [4]张金钊, 张金镝, 张金锐. 虚拟现实三维立体网络程序语言.
  [5]宗志方, 季辉, 谭江天. VRML资源手册.
  [6]http://www.liuma.net/bbs[EB/OL].
  [7]刘浩, 戴居丰, 杨磊, 杜忠友, 刘秀婷, 孙翠娟. 虚拟现实技术及应用研究[J]. 微型计算机信息,2005,(1).
  本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
其他文献
摘要:XPS(XML Paper Specification)格式将是Microsoft Windows Vista中用于电子文档发布的首选格式,是继PDF文件格式之后的一种新的输出文件类型。在微软和各大印刷硬件厂商的支持下,XPS将有望超越PDF成为全球电子文档发布的开放式标准。本文针对XPS文档的几种快速页面处理方法给出了设计方案与实现。  关键词:XPS;页面处理;缩放;旋转;反转  中图分
期刊
摘要:随着因特网的飞速发展以及128位地址的IPV6的出现,路由表变得日益庞大,这给IP目标地址的查找速度提出了更高的要求。 IP地址查询使用的不是精确匹配,而是最长前缀匹配,因查询极其复杂。论文针对现有的IP查询技术的缺点和不足,提出了一种基于多处理器结构的搜索技术,这种技术减少了查找的比较次数和存储空间。  关键词: IP地址搜索;高效路由;多处理器结构  中图分类号:TP393文献标识码:A
期刊
摘要:针对学校数字校园建设的需要,本文提出基于J2EE和工作流技术的办公自动化设计方案。介绍了OA系统的优点,讨论了系统的整体设计目标和在设计时要注意的问题,阐述了系统的整体结构和工作流平台系统的构成。  關键词:工作流;OA;J2EE;工作流引擎  中图分类号:TP317文献标识码:A文章编号:1009-3044(2007)03-10746-02    1 引言    在信息技术飞速发展的今天,
期刊
摘要:XML因为它在可扩展性和灵活性上的优点以及W3C不遗余力的为它制定各种标准,已经成为Internet上的主要语言。如何对XML文档进行转换以满足不同用户的需要,成为一个非常重要的问题,利用XSLT可以很好的解决这个问题。本文详细描述了基于XSLT转换XML文档的方法,深入讨论其工作原理,并结合一个具体应用实例,进一步阐明了基于XSLT转换XML文档的过程。  关键词:XML;XSLT;XML
期刊
摘要:该文对使用VB开发数据库时常用到的各种网格控件进行了分析比较,对读者灵活使用网格控件进行数据库应用系统开发具有参考作用。  关键词:网格控件;Grid控件;DBGrid控件;True DBGrid控件;SSDBGrid控件;MSFlexGrid控件;vaSpread控件;Formula One控件  中图分类号:TP311文献标识码:A 文章编号:1009-3044(2007)03-1077
期刊
摘要:基于量子物理原理的量子密码术已被证明是保密通信中密钥安全分配的有效手段。本文介绍了量子密码的基本原理,介绍了实现量子加密的几种方案,并主要研究了基于EPR纠缠对的密钥分配机制,还讨论了量子密码通信的历史发展和指出现存在的问题以及未来的发展前景。  关键词:量子密码;量子加密;测不准原理;EPR关联;量子纠缠  中图分类号:TP393文献标识码:A 文章编号:1009-3044(2007)03
期刊
摘要:实时性是嵌入式应用中一个重要的指标,而优先级翻转是影响系统实时性的一个重要因素。可剥夺型内核中,任务以独占方式使用共享资源时,将出现低优先级任务先于高优先级任务运行的现象,即优先级翻转。本文以实时操作系统uC/OS-II为例,分析了产生优先级翻转的原因,阐述了利用互斥信号量解决该问题的原理并通过具体的应用程序对这一方法的可行性进行了验证。  关键词:uC/OS-II;优先级翻转;mutex
期刊
摘要:在微软某些产品成为事实标准的时代,对这些产品发起挑战是一件困难的事情,但并非是不可能的事情,依靠着技术创新,永中集成Office和桌面Linux作出了典范,并且正朝着正确的方向前进,只要二者能够尊重用户使用习惯、提高兼容性和增强扩展性,打破微软垄断将不再是问题。  关键词:技术创新;平台移转  中图分类号:TP316 文献标识码:A文章编号:1009-3044(2007)03-10791-0
期刊
摘要:动态电路的一个特征是当电路的结构或元件的参数发生变化时,可能使电路改变原来的工作状态,转变到另一个工作状态,这种转变往往需要一个过程,在工程上称为过渡过程。本文以动态电路理论中一阶动态电路用三要素的方法分析计算、二阶以及二阶以上的动态电路用拉普拉斯变换分析求解为例,详述了如何分别运用MATLAB语言编程和应用Simulink模块的方法来对电路进行仿真分析和计算。结论表明,应用MATLAB可以
期刊
摘要:简要回顾了常见的办公OA系统结构和开发技术,分析了B/S结构下OA开发的系统架构、办公应用需求以及开发中存在的问题,设计了一种集成办公软件RedOffice的OA系统。实践证明,该系统可以满足办公需求。  关键词:B/S结构;OA系统;办公应用需求;RedOffice  中图分类号:TP317 文献标识码:A 文章编号:1009-3044(2007)03-10744-02    1 引言  
期刊