基于Java和VRML虚拟场景通信方式分析
王丙休
生成PDF 清样下载 引用

复制成功

导出题录

参考文献( GB/T 7714-2015 ) 复制

王丙休,. 基于Java和VRML虚拟场景通信方式分析[J]. 无线电研究,2022.12. DOI:10.12721/ccn.2022.157115.
摘要:
虚拟现实建模语言简称VRML,这是用来描述虚拟场景的标准,随着2.0标准的提出,人们将用于静态场景构造与事件路由交互中。如何在虚拟场景内得到数据,以及如何方便用户设置虚拟场景参数,这需要将Java程序与VRML语言相结合,根据二者的语言特点与通信原理,依靠Java从场景内获得坐标与地点信息,建立交互式三维境界,突出静态场景的交互性功能。
关键词: Java程序VRML语言静态场景虚拟场景通信
DOI:10.12721/ccn.2022.157115
基金资助:

引言:实际上,VRML指的是虚拟现实建模语言,属于一种3D模拟形式下的造型与渲染图形描述语言,通过创造虚拟场景可以达到更加逼真的显示效果。凭借VRML的三维功能,将互联网转变为三维空间,再联合Java程序建立虚拟现实相交互的通信媒介。将虚拟世界作为场景,场景内的所有节点都是“对象”,采用场景图数据结构创造3D实景,发挥VRML的交互性特征,完成程序与场景间的通信。

1 Java的语言特点

从某种程度来讲,万维网转变了人们的生活方式,虚拟现实建模语言当中,Java语言将Web在网页内转为人们喜爱的方式,所以这是一种网络语言,有着广泛的移植性,可以保障各个对象间的交互行为,充分利用各种分布式通信方式实现数据传输与处理。Java语言在性能方面呈现出诸多特点,具体如下:(1)Java语言是一种比较简单的语言模式,人们可以快速掌握编程要领,实现内存管理。Java语言方式一般会面向对象来设计,主要有静态和动态两种代码形式,采用URL连接进行对象访问。(2)Java语言拥有一定的安全保证,避免内存中出现非法操作,在创建和浏览期间能够将语言功能和浏览器相结合,提高Java语言应用的可靠性与安全性。此外,Java语言还有着多线程、动态扩展的应用特点[1]

2 VRML的工作原理

通常情况下,VRML会被用于Internet与Web连接中,以此形成了多用户交互与独立的平台。虚拟世界显示当中,VRML可以对交互行为予以描述,同时保持网络的联通性。在设计VRML时,先从3D图像入手,VRML浏览器是插件,可为应用程序提供帮助,将三维建模和动画应用相互分离,对场景采取着色行为,最后建立3D连接,形成基于VRML的超空间模式。VRML将图形和多媒体转为文件格式,使其在时间方面拥有信息抽象功能。与此同时,VRML文件可以引用其他格式的文件,完成相应的编程行为。场景图内,VRML可依靠数据结构产生3D环境,且VRML文件执行与呈现期间会依靠浏览器,浏览器将虚拟场景内的图像联合声音同时展示给用户,进而为用户呈现出看起来更加真实的虚拟世界。从访问方式来讲,VRML一般会在客户服务器端进行访问,对资源下载行为予以访问,通过多种技术形式完成各项技术的相互协调。

3 基于Java和VRML虚拟场景通信方式研究

3.1依靠Script节点与路由完成通信

将Script节点作为Java与VRML连接的桥梁,url字段是与外界程序保持通信的关键,这是www中上个对象的地址,可以明确当前外部程序所在的位置。无论是本地还是网络远端的合法程序都能够被有效利用。与此同时,url字段值可以被赋为合法源程序。该节点可同时支持Java语言和脚本语言。Java程序能够访问Script节点,这是因为程序当中的vrml.node包内存在Script类,通过对它的继承,能够让java程序和Script节点之间产生连接,从而有效控制VRML的其他节点。图1为Script节点和程序之间的交互情况[2]

1.png

图 1 Script节点和java程序之间的交互

经过Script节点与Node类,可对VRML节点做出直接修改。程序改变了VRML中的节点值,可通过Script节点进行eventOyt域的控制点设置。如果需要传输大量数据,每个数据都会有相应的路由方法,Java修改了虚拟场景内的节点,但此过程都要用到Script节点。定义节点的时候,将域改成field域,再将field type定义成SFNode。经过改进之后代码长度被有效缩减,同时VRML世界计算时间被大量节约,这在一定程度上有效提升了虚拟场景的形成速度[2]。依靠EAI实现在HTML页面的虚拟世界的浏览,这需要得到VRML语言的支撑,而二维平面图的显示一般是由Applet来实现的。在虚拟场景内加入java控制程序,此时ARML原有的不足得到改进,交互性三维场景得以实现。采用server的方式,让计算机客户端可以为用户提供便捷的操作界面,方便用户在浏览场景的同时发表观点,用户可自行选择自己喜欢的建筑结构,促进虚拟校园的开发,创造更加俺妹的校园构造,实现技术之间的有效连接。

3.2依靠外部编程接口操控VRML世界

上述方法离不开对Script节点的应用,所以所有java需要继承Script类。因java无法支撑多继承,在基层Script类之后的程序就不能继承其他类。因此,有必要编写出Applet程序,以此用于对VRML场景的操控,所用到Java程序就能继承Applet类,此时再将其集成于HTML页面中。VRML97标准所提供的编程接口属于外部的,能够完成Java程序与VRML场景的相互通信,外部环境可经过VRML事件驱动模式去访问内部节点。

当前Java程序采用两种类,一个是Browser类,另一个是Node类,此外还会有专门处理域的属性类,可对EAI加以描述。其中Browser类会被封装于包中,完成虚拟场景的创建和通信传输。以虚拟街道场景为案例,如今城市中的街道在空间变化方面存在较大的难度,城市的规划建设让人们形成了有着个人需求的发展空间,过去街道经过翻修后,会在较短的时间内再次被整修,基于这一趋势,人们的生活遭遇不便。所以采用Java程序与VRML来创建城市街道场景,通过虚拟场景设计展现街道的真实情况,实现这两方面技术的高效融合。

创建三维物体之前需要展示街道的场景图,例如街道内的建筑物、植物、太阳、指示牌、行人等。将每个物体与三维坐标结合在一起,比如通过长方体和圆柱体来表现。采用VRML2.0文件识别解释器,确保外观完整和纹理的合理选择。创建植被时,需将单个树木采用不同规格大小合成,再用translation设置树木间的距离,完成整排树木的有效设定。在创建路口交通灯的时候,可使用长方体对不同方向的红黄绿愠色加以设定。

3.3Java与VRML通信中应注意的问题

创建VRML空间时,应按照VRML中的节点进行虚拟场景的有效创建,提出场景的远动功能。设计期间,不同的插件在计算机内的浏览行为之间有着明显的区别,这是因为编写VRML的时候是纯元件,未与Java程序产生交互行为。想要实现Java与VRML二者的有效通信,需注意以下事项:(1)插件上不能对VRML文件加以浏览,只有处于网路环境下才可进行浏览。(2)需要在cosmoplayer插件上实施浏览行为时,可能计算机能不会实施关于插件配置的浏览。(3)版本方面存在差异,Java与VRML在通信期间,java文件的处理和编译方式可能有所不同,此时需要根据不同情况而采用交互行为,通过Java与VRML的通信减少插件的调试时间。

总结:总而言之,掌握java程序与VRML程序之间的交互性控制情况,通过这两种方式的应用提高虚拟世界的交互性,让三维虚拟世界看起来更加真实。当java程序介入之后,VRML世界中将会生成更加复杂的三维动画,随着场景的变化,使虚拟世界更加逼真,依靠Script节点与路由完成通信,以及依靠外部编程接口操控VRML世界,最终突出技术应用的有效性。

参考文献:

[1]杨迎.Java技术在嵌入式系统中的作用探讨[J].无线互联科技,2021,19(14):96-98.

[2]魏瑾.Java多线程技术在网络通信系统中的应用[J].山西电子技术,2021(01):66-68.

》在线投稿系统

*文章题目:
*作者姓名:
*电子邮箱:
*通讯地址:
*联系方式:

  备      注:

*上传稿件:

支持上传.doc,.docx,.pdf,.txt,.wps文件

投稿须知:

1、审稿结果将于1~7个工作日以邮件告知,请注意查收(包含录用通知书、审稿意见、知网CNKI查重报告)。

2、提交投稿后,若7个工作日之内未接到录用通知,则说明该文章未被录用,请另投他刊。

3、凡投寄本刊稿件,如在内容上有侵权行为或不妥之处,均应文责自负。本刊有权对来稿进行文字编辑、加工和修改,如不同意,请附说明,以便妥善处理。

4、多作者文稿署名时须征得其他作者同意,排好先后次序,通知用稿后不再改动。

5、凡投往本刊稿件一经录用发表,其版权归本刊所有。

6、本刊已全文录入中国知网、万方、维普等数据库,如作者不同意被收录,请提前申明,未申明者,本刊一律视为同意被收录。

7、请勿一稿多投。