基于X3D实现机械创新设计虚拟实境系统的构建
工程设计的全过程就是不断建立各种模型,并进行分析的过程,即反复地创造模型和评价模型的过程。要设计就要创新,而创新正是设计人员进行创造性思维的结果,通过打破习惯性思维,变换角度,开拓视野,使创造力得到更充分的发挥。机械创新设计是使设计者的创造能力得到充分发挥并设计出更具竞争力的机械新产品的设计实践活动,创新是它的灵魂。机械创新设计实验就为了加强学生机械系统方案创新设计概念,培养学生综合设计能力、创新意识和实践动手能力,提高对专业的认识和学习兴趣,树立工程设计的观点,激发创新精神。实验本身就是一个具有创造性的活动过程,能培养学生主动学习的能力、独立工作思考能力和创新能力。使用虚拟实验室来表述创新设计,使其直观形象,并可对方案进行评价和优化。虚拟实验室具有传统仪器实验和传统电子实验无法比拟的优势,彻底打破空间、时间的限制,有利于构建以学生为主体的教学模式和创新能力的培养。
传统虚拟试验是在虚拟环境中建立机械系统数学模型的试验,根据所建立的模型对机械系统进行虚拟运动和虚拟动力学分析。这种试验对其结构合理性问题考虑不足,不能取代实物试验,缺乏真实性,学生在分析时认知性不够,对知识的掌握不全面,进行试验时积极性普遍不高,只适用于设计初始阶段方案的论证。普通的、纯粹的2D显示由于其固有的缺陷,已不能满足需要。
传统意义的机械设计仿真多用基于Matlab的机械设计仿真,而Matlab不适合面向对象的编程,虽可对执行机构和它们的组件如构件、约束等建模并进行仿真分析,但主要用于动力学和运动学仿真,所建立的模型是不继承分析模型,不能对设计的布局合理性、干涉性、运动空间的协调性等进行分析评估,因此具有局限性。目前,计算机网络技术快速发展,通过网络来构建虚拟实验室已经成为可能。将X3D和机械设计实验教学结合起来,使平面结构变成栩栩如生的真实立体机械构造,可以提供良好的VR体验,从而加速和巩固学生学习知识的过程,使学生能够通过网络完成实验教学任务,提高了学生的学习效率与积极性。这为培养学生的思维能力、动手能力、创新能力和工程意识提供了极大的便利。
1 X3D概述
X3D(Extensible3D,可扩展3D)是一个软件标准(ISO/IEC 19775,19776,19777),定义了如何在多媒体中整合基于网络传播的交互三维内容。X3D将可以在不同的硬件设备中使用,并可用于不同的应用领域中。如工程设计、科学可视化、多媒体再现、娱乐、教育、网页和共享虚拟世界等方面。X3D致力于建立一个3D图形与多媒体统一的交换格式。X3D是一种描述三维图形的标准语言,采用XML语法,成为未来三维图形的标准语言,更具有跨平台、应用方便等优点。X3D是VRML的继承。VRML(Virtual Reality Modeling Language一虚拟现实建模语言)是原来网络3D图形的ISO标准(ISO/IEC 14772)。X3D相对VRML进行改进,提供了更先进的应用程序界面,新添的数据编码格式,严格的一致性,组件化结构(用来允许模块化的支持标准的各部分)。X3D内容的用户可以建立并管理场景、渲染、行为以及媒体资源的存取,可以控制存取或结合作者创建的扩展,也可写入X3D或支持C++、Java、ECMAScript等外部语言,依内容定义的扩展能力被包括在概貌中,以支持原型(PROT0)机制。
1.1 X3D的优点
1)可兼容VRML,能够表现静态和动态的3D和多媒体对象。
X3D采用XMI.编码,引入基于组件的结构,更具有通用性、兼容性和可扩展性,X3D中只需要对场景做很小的改动,就可以用这个编码来播放不包含脚本的VRML场景。能连接文本,声音、电影和图象等超链接,可广泛地用于各种平台。
2)制作简化,适应各种播放器,可和其它应用程序平滑地整合。
X3D场景创作界面(SAD为所有脚本语言的内部和外部交互提供了一致的功能。而VRML中的Java和ECMAScript使用差别很大的编程模型。X3D通过指定一个统一的可以影射到任何编程/脚本语言的抽象服务集来解决这些问题,因而不管使用哪种编程语言都可以使用一致的播放环境,可以更简单地管理、控制、校验和交换信息。XML已成为整合并管理数据库中信息的必选。
3)模块化的结构,特性更丰富。
3D允许针对特定的市场来分割相应的概貌规格(in CAD、Medical、Visualization)。大量VRML中所欠缺的特性在X3D中以被整合到X3D架构的方式被提供,也就是说被标准化了。
4)X3D二进制格式可提供加密和压缩。
X3D环境可使用一个安全形式的加密和高压缩比(比VRML的gzip格式更高的压缩比)。场景中的编码模式可以由浏览器所支持的不同编码模式混合而成。
1.2 X3D与VRML的区别
VRML的一个主要问题是在开发VRML环境时要在所有的浏览器/播放器上取得一致的效果。X3D相对于VRML进行了改进,提供了更先进的应用程序界面,新添数据编码格式。与VRME相比,有一个统一的应用程序界面,其统一的API可以建立更强劲更可靠的执行方式;支持多种文件编码,支持更大的数据吞吐量,所有的数据编码都支持完整的X3D特性集;3个独立的规格,即抽象的概念和结构、文件格式编码和程序语言存取,允许规格在不同时间线上改动。
2基于XD技术的虚拟机械创新实验室场景建模
2.1 X3D建模机制
X3D技术将基于图象建模和基于图形建模2种方式结合构建虚拟实验室。虚拟实验室场景与用户交互有3种方式:感应节点交互、Script节点交互(含SAI Script Authoring Interface)和EAI(Extenreal Authoring Interface)方法交互。场景交互可以分为表态行为和动态行为,场景中对象的改变并不需要程序来实现,只需对象节点与一个语句的结合来实现这种动作。动态行为是通过一段逻辑程序来决定事件的产生,它具有询问对象状态的能力,再基于这些状态做出相应决定,并改变场景的状态。X3D场景的行为机制,无论静态行为还是动态行为,都是基于事件和路由2个基本特征来实现的。场景节点通过事件入口(Eventln)发出事件,来接受事件,通过事件出口(Even Out)发出事件,节点问的事件通过路由关键字Route指定。浏览器自动检测场景中产生的事件,并将新的字段值沿路由传送到宿主(Evendn Field)。这种事件机制驱动了虚拟场景中对象状态的变化界。动态行为不仅依靠事件和路由,还利用需要程序(Script、Java)作为执行引擎来实现。场景中一个给定节点(几何节点、感应器、脚本)的出事件(Even Out)可以被路由(Route)或执行引擎到另一个节点的人事件(Eventln)。以箭头方向作为事件出入方向,当出事件对象产生了一个事件,人事件对象就会得到通知,并处理接收到的事件。结合X3D场景和执行过程的事件流程如图1所示。
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
- 上一篇文章:谈对机械结构创新设计的分析
- 下一篇文章:创意产品源自创新设计
