利用VRML和Java实现三维交互研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
利用VRML和Java实现三维交互研究.doc

利用VRML和Java实现三维交互研究 邓朝晖1,2,3 李仁发2* (湖南大学软件学院1,计算机与通信学院3,长沙410082;郴州职业技术学院3,郴州423000) 摘 要 构建基于WEB的虚拟实验室可以解决远程教育中的技能培训问题,虚拟现实技术可以生成三维逼真的虚拟环境, 广泛应用于虚拟实验室中。介绍了VRML和Java技术的基本概念,利用它们进行三维交互的原理,并对三维实体的动态实 现,动画的实现及声音的实现作了详细分析。 关键词 虚拟现实 VRML Java 三维交互 中图法分类号 TP391.9;  文献标识码 A   在现代的远程教育中,网上虚拟实验是发展现 代网上教育的一个瓶颈,而其中最关键的问题是交 互性没能较好地解决。在这里,提出结合利用 VRML和Java来实现三维虚拟实验场景中的交互 问题。 利用VRML和Java技术进行三维虚拟实验室 的开发[1],基本原理是用文本信息描述三维场景, 在Internet网上传输,在本地机上由VRML的浏览 器解释生成三维场景,解释生成的标准规范就是 VRML规范。这种思想使得在Internet上传输很少 的数据,就可以在Web上实现三维虚拟场景成为可 能。 1 基本概念 1.1 VRML虚拟现实建模语言 VRML虚拟现实建模语言是一种三维场景的描 述性语言,也是在Internet网上实现虚拟现实的关 键性技术,具有平台无关性,是目前Internet上基于 WWW的三维互动网站制作的主流语言。VRML浏 览器可以是一个独立的程序[2],也可以是某个Web 页的附件和插件。它具有界面真实感强、浏览方便、  2006年10月10日收到 第一作者简介:邓朝晖(1973—),女,湖南郴州人,郴州职业技术 学院讲师,软件工程硕士生,研究方向:数字化实验与仿真技术。 *通信作者简介:李仁发,男,湖南郴州人,湖南大学计算机通信学 院博导,研究方向:网络安全与对抗,数字化实验与仿真技术。 信息量大、交互性能优越等特点,是实现网上教学、 模拟战场、网上实习、网上实验的利器。 1.2 Java技术 Java语言是一种使用与网络编程的语言,它的 基本结构与C+ +极为相似,但却简单得多。 Java具有简单、面向对象、分布式、解释型、健 壮、安全跨平台以及可移植等多种特性,用Java开 发的软件具有可视化、可听化、可操作化的特点。 2 三维交互实施原理 Java能够自由运用于3D场景[3],获得了一个 结合VRML世界和Java世界的机制。VRML世界 通过其扩展执行模式进入Java世界,即活动行为通 过一个特殊结点(Script结点)来连接两个模块。 2.1 Script结点和事件 结点是VRML中的基本元素。Script结点可以 看作是一个结点的外壳:它拥有字段、eventIn事件、 eventOut事件。其本身没有任何动作,但可以通过 程序脚本来赋予脚本的动作。 为了使虚拟空间具有动感,构造指令可以包含 绑定指令。绑定两个结点之后,第一个结点通过这 样的路径传送给第二个结点的信息叫作事件。当一 个结点接收到一个事件时,它将根据结点的特征开 始动画或者其它事情。 2.2 通讯实现 一个事件驱动三维世界的动态表现为:一个到 达evenIn的事件会自动的使浏览器把事件传送到 程序上,这些程序是Script结点中的URL字段。对 于Java语言,事件到达程序的方法是确定的,事件 被分成一段段的代码,代码操作事件。在一个事件 被分配到程序后,程序将会像这个事件一样工作。 然后,程序将会从它的计算中得到一些结果,再定义 一种方法把结果送回Script结点。最后,通过Script 结点的evenOut事件将结果传送出去。 图1 Script结点是通向Script自身的网关 例如,一个用来计算立方体外形的Script结点, 应该具有一个字段,这个字段包含了立方体的角度、 大小和颜色,以及其他一些特征。另外,还需要包含 设置角度、大小和颜色的eventIn事件和描述立方体 在三维空间中的坐标取值的eventOut事件,这个 eventOut事件可以路由到描述立方体的结点,使立 方体发生变化。所有这些字段、eventIn事件和 eventOut事件就定义了一个计算立方体外形的 Script结点,Script结点的语法如下: Script{ Field SFBool directOutput FALSE Field SFBool mustEvaluate FALSE exposedField MFString url[ “ /fooBar.class”, “ /fooBar.js”,...] field fieldTypeName fieldName initialValue eventIn eventTyp

文档评论(0)

天马行空 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档