




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、文章编号:1006-155X (200106-104-03利用Java 在VRM L 中实现复杂运动控制李亚萍,张明辉,密新武(武汉大学城市建设学院,湖北武汉430072摘要:VRM L 提供了丰富的网络三维造型、动画和交互功能,Java 语言是一种高性能的程序设计语言,灵活、计算能力强大.文章以Java 与VRM L 的结合为基础,论述利用Java 语言编写程序脚本,结合Script 节点在VRM L 中实现复杂计算的方法及过程,从而弥补VRM L 内置节点这方面的不足;并探讨充分利用VRM L 的多维造型生成、显示能力和动画功能,结合Java 脚本程序对VRM L 内置节点的精细控制,实现
2、基于网络的科学计算可视化、复杂动画等方面的可行性和基本方法.关键词:Java ;VRM L ;Script 节点;接口中图分类号:TP 393文献标识码:A VRM L 作为流行的基于网络的三维造型语言,提供了强大的三维造型、动画和交互功能.但是其内置内插器(interpolation 节点计算功能薄弱,对于基于物理的动画缺乏描述能力,再加上其造型和动画都有一定的随意性,在动态仿真和科学计算可视化等要求复杂、精确计算的领域表现得不如人意.在这种情况下,VRM L2.0版引入了Script 节点,提供了利用脚本编写程序以改善其计算功能的接口,并经过后续版本的不断改良,功能已非常强大,尤其是新标准
3、X3D 揉合了许多新技术,如X M L (eX 2tended Markup Language 和Java 、流技术等,功能得到很大扩展.1Script 节点定义及Java 实现1Script 节点拥有field 域、eventIn 事件、eventOut事件,它可以看作是一个外壳节点,其本身并没有任何动作,而是通过程序脚本编写field 域、eventIn 事件、eventOut 事件的具体实现来描写动作,从而使该Script 节点产生所希望的行为;另外,Script 节点也能够通过编写合适程序脚本,动态生成(改变三维造型并绑定合适的感应器和内插器.这种特殊的用法适合于使用者浏览虚拟世界时,
4、需要临时生成(改变一个三维造型的情况.在一些大型的、具有较高交互性的虚拟世界中,常常需要使用这种动态技术,以产生逼真的效果.VRM L 标准(IS O/IEC14772-1:1997只是给出了Java 、JavaScript 完成Script 节点的参考性文档以供参照,并没有限定采用何种编程语言书写程序脚本.一般情况下,程序脚本在客户端本地执行,因此,对编程语言的限制只来自于浏览者所使用的VRM L 浏览器.Java 语言因其良好的硬件无关性和跨平台性,而广泛应用于网络环境,现今流行的VRM L 浏览器都支持用Java 语言或JavaScript 编写脚本程序.这样,我们就得到定义并实现一个脚
5、本节点类节点的方法和基本流程:首先创建脚本节点作为用户自定义感应器或内插器,声明接口的field 域,eventIn 事件、eventOut 事件作为节点行为的接口,然后用浏览器支持的脚本语言(Java 、JavaScript 对接口进行编程,完成所需功能.具体步骤及语法如下:(1定义节点field 域、接口eventIn 事件、接口eventOut 事件Script Field fieldT ype fieldName initialValue eventIn eventInT ype eventInName eventOut eventOutT ype eventOutName收稿日期:2
6、001-09-18作者简介:李亚萍(1958-,女,湖北武汉人,副教授,研究方向为计算机图形学与虚拟现实.第34卷第6期2001年12月武汉大学学报(工学版(2用Java 、JavaScript 为接口事件编写实现代码,产生可执行传感器或内插器动作的程序脚本.然后将程序脚本与脚本节点相关联,可以将程序脚本存为文件,并把文件路径及文件名赋值给脚本节点的url 域,例如:Script url “position.js ”2Script 节点工作原理及Java 实现2当用户实例化一个VRM L 的脚本节点后,便拥有了一个自定义的传感器或内插器,并得到一个编程接口,该接口由3部分组成:多个接口fiel
7、d 、eventIn 和eventOut.这时,此节点没有任何动作,也没有创建可见域,接口只为用户提供了一个可通过程序控制的外部域的等价实体.这就需要用户利用VRM L 浏览器支持的编程语言编写脚本程序,完成所需行为3.每个事件(不管是被eventIn 接收还是写入eventOut 都由两个元素组成:事件值(EventT ype 和事件时间标志(T imeStam p .事件值为一数值,由节点产生并通过eventOut 发送,指明发生事件的类型.如果事件值为下列3种类型之一:初始化;程序中止;事件接收,程序脚本可对其作出响应;事件时间标志包含了完整的时间值,指明产生并按一定的路径发送该事件的具
8、体时间.每当一个事件值被发送时,浏览器就会自动创建一个事件时间标志,连同事件值一并传入目标路由节点.因此,整个脚本节点的工作流程可表达为(如图1:eventIn 接收从其他节点路由(route 的事件值和事件时间标志, 程序脚本在运行时从接口图1工作流程示意图eventIn 中获得这两个值并(或从field 中取所需初值,经过脚本程序的处理后,产生一个或多个值或事件,并将值回写进field 并(或通过eventOut 将脚本产生的事件传给宿主造型节点,实现要求的功能与行为.虽然VRM L (最新标准为X3D 没有限定使用何种语言编写脚本,但考虑到因特网上的兼容性,我们采用Java 、JavaS
9、cript 作为程序脚本语言.Java 和JavaScript 语言的API (应用程序接口都提供了相应功能以实现对脚本节点的操纵.具体来说,可以分为以下4个方面:(1访问脚本节点的程序脚本接口field 和eventOut 事件;(2实现由VRM L 的数据类型到编程语言(此时为Java 或JavaScript 数据类型的转换;(3初始化和停止一个程序脚本以及对到达事件作出响应;(4访问浏览器以改变虚拟空间的内容或者载入一个新的虚拟空间.由于Java 和JavaScript 属于不同的编程语言,其支持VRM L 的Script 节点的API 也是不同的.在Java 语言中,API 提供了类的
10、集合和方法,程序脚本可通过调用它们来访问接口field 和eventOut ,例如getField 和getEventOut 方法就分别获得接口field 和eventOut 的句柄(handle ,拥有句柄就可以对对象(物体进行多方面的操纵,提供类扩展实现数据类型的转换.用户可创建initialize 方法和shutdown 方法控制脚本程序,创建与eventIn 事件同名的方法对事件做出响应,用getBrowser 方法访问浏览器.在JavaScript 语言中,API 自动为每个接口field 或eventOut 创建一个接口变量,利用接口变量,程序脚本就可以对接口field 或even
11、tOut 进行任意的读写操作,自动将VRM L 的数据类型转换为JavaScript 的数据类型而不需要任何函数调用;创建函数控制脚本,创建带参数(新事件值和新时间标志的函数处理事件.访问浏览器的getBrowser 也表现为函数.通过编写Java 或JavaScript 进行有关运算并调用相应API ,可实现宿主节点、Script 节点和程序脚本的交互,完成所希望的功能.3应用3.1基于物理的Web 动画与动态仿真基于物理的动画一般又称运动动画,要求帧中第6期李亚萍等:利用Java 在VRM L 中实现复杂运动控制105的运动对象要符合物理规律,刚体运动动画要符合运动学和动力学规律,并且满足
12、几何约束、运动约束和力约束等条件,柔性物体的运动动画还需要考虑因运动、挤压而引起的变形,制作相当复杂.科学计算可视化(Visualization in Scientific C om 2puting 能将复杂计算和仿真结果转变为可视的信息,为科学家和工程师分析数据提供有力工具,已经成为当今科学计算的重要辅助工具.其基本步骤可分为:数据预处理、映射、绘制、显示.VRM L 作为成熟的虚拟现实建模语言,对于绘制和显示多维模型没有任何困难,但几乎完全不能完成预处理和映射的工作;而Java 语言是一种高性能的全界面程序语言,数据类型丰富,计算功能强大,完全可以胜任预处理和映射的任务,两者的结合使得在网
13、络上实现科学计算可视化成为现实.我们现在采用的方法是:将利用有限元分析得到的大坝数据存入数据库,编写相应的Java 程序脚本,然后在Script 节点中调用这些脚本,完成对数据的处理,VRM L 提供的多维工具可自动生成所需多维造型并在浏览器中显示出来.4结束语Java 与VRM L 的结合拓展了网络虚拟现实的范围.由于篇幅有限,文中没有论述Script 节点中延时处理(mustEvaluate 特性和输出控制(directOut 2put 特性,而通过综合调整这两个特性,脚本程序将表现出对虚拟世界更灵活的控制权,从而得到更强的交互性与实时性.参考文献:1宋志方等译.VRM L 资源手册M.北
14、京:电子工业出版社,1998.2向世民,邓爱民编著.Visual J +图形设计与图像处理M.北京:清华大学出版社,2000.3张明辉,李亚萍,密新武.利用VRM L 技术创建数字城市J .武汉大学学报(工学版,2001,34(增刊:93-95.4石教英,蔡文立编著.科学计算可视化算法与系统M.北京:科学出版社,1996.Implementation of controlling complex motion in VRML by using JavaLI Y a-ping ,ZH ANG Ming-hui ,MI X in-wu(School of Urban S tudies ,Wuhan
15、 University ,Wuhan 430072,China Abstract :The VRM L provides the abundant netw ork three-dimensional m odeling ,animation and interaction function ,and Java language is a high performance language ,which is strong in flexibility and com puting power.Regarding the combining of Java and VRM L as the foundation ,the method and the process of the com plicated com puting in the VRM L are discussed by writing the script program with Java language
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年应用程序设计试题及答案
- 注册会计师考试与职业道德的关系试题及答案
- 多样化复习:陪诊师考试试题及答案
- 企业协同发展与生产计划的联动
- 中小城市经济转型试题及答案
- 学习成果展示与分享会计划
- 图书馆在线服务的优化措施计划
- 推进生产自动化进程的策略计划
- 财政支出项目的核算
- 全媒体运营师行业技能试题及答案
- 暖通系统调试方案
- 危货车辆防汛救援应急预案
- 培训学校安全管理制度
- 应用化学专课试题及答案
- 2025年纺织行业:涤纶生产科学技术基础知识考试题(附答案)
- 国家铁路局规划与标准研究院招考聘用15人高频重点模拟试卷提升(共500题附带答案详解)
- 社区商业中心公共设施的规划与运营管理
- 课件-DeepSeek从入门到精通
- 公司清明节前安全教育
- 信息系统集成项目公开招标采购招标书范本
- 信息管理专业职业发展前景
评论
0/150
提交评论