基于VC++和OpenGL的大型机械装置虚拟教学训练系统的开发

2009-8-10 作者: 贺少华 吴新跃 来源: 万方数据

关键字: 桌面式虚拟现实 计算机辅助训练 虚拟拆卸 OpenGL vc++ 

出了一种桌面式虚拟仿真训练教学系统的开发方案,详细介绍了该系统的结构设计和实现途径;利用I-DEAS建立了机械仿真三维实体几何模型,经格式转换、多边形删减和接口编程解决了机械CAD实体模型向视觉仿真表面模型的转换并被系统读入的问题;直接利用底层图形语言OpenGL对场景进行实时驱动和人机交互控制,实现了虚拟拆卸功能,并加入了基于最优拆卸序列的拆卸模式;联合OpenGL争Vc++编程实现了机械机构的运动仿真和交互式浏览;提出了通过建立装配约束关系来简化对虚拟拆装中碰撞检测的编程实现.与以往类似系统比较,系统开发方案对软硬件要求低,通用性强,实例证明了其具有的潜在应用价值。

  1、引言

  三维虚拟仿真(3D Virtual Simulation)是利用三维建模技术构建现实世界的三维场景,并通过一定的软件环境驱动整个三维场景、响应用户的输入、根据用户的不同动作做出相应的反应、并在三维环境中显示出来[11。现代机械装置往往结构复杂,功能原理深奥,单纯依靠实物进行教学、训练,费用高且效率低,而利用开发的虚拟仿真系统,不需要借助实物就可在计算机上进行日常的教学、训练,费用低廉而且安全,在身临其境的人机交互中,原本复杂深奥的装置构造、原理、拆装、维修知识变得直观易懂。虽然此类虚拟仿真系统已经出现,但还存在诸多的不足,如文献[2]中采用VB+VRML开发的仿真模型仅仅具有单调的颜色和简单的反光特性;三维模型浏览需借助于外部已有的浏览器,而外部的浏览器需要单独安装,这使得整个系统的移植性不强。文献[3]中的VC+VRML系统交互方式单一,拆装、机构运动只能被动的进行动画测览。文献[4]中的Visproducts+ VisMockupVisLab+VisJackVisVSA系统,对开发所需硬件水平要求高;昂贵的图形工作站、三维鼠标、立体眼镜等设备显然不利于其推广使用;文献[5]中的Multigen+OpenGvs+Virtools+OpenGL+XML+ACESS+VC系统开发,开发难度大,周期长,成本高[2。5]。本文为解决此类问题展开了研究,通过分析研究,提出了一种新的基于普通微机和简单交互设备(主要包括二维鼠标和普通彩色显示器)的大型机械装置虚拟仿真系统的开发方案:1-DEAS+OpenGL+VC++。

  桌面式虚拟仿真应用系统的开发一般有两种模式,如图1所示。一种模式是直接使用底层图形接口如OpenGL、Direct3D、Java3D等,另一种模式是使用位于底层图形接口之上的开发平台,如国外著名的商业产品OpenGVS、VEGA、Virtools和开源平台OSG,以及国内图形平台BH.Graph等[5]。第一种模式的特点是可以完全自主控制应用系统的底层细节,灵活性强,可以较好体现应用系统需求方意愿,第二种模式需借助于已有仿真图形平台,系统开发自主性不高。同时,这些仿真平台软件的价格往往比较昂贵,系统开发经济性不高。本文系统开发选择第一种开发模式。

  桌面式虚拟现实系统相对沉浸式和增强型虚拟现实系统,对硬件要求要低得多,本虚拟仿真训练系统开发硬件环境为:

  (1)桌面式个人计算机(Intel Pentium II 450或以上);

  (2)交互硬件:键盘、二维鼠标;

  软件环境为:

  (1)Windows操作系统;

  (2)OpenGL程序应用接口(AVO。本方案选择I-DEAS软件作为建立三维仿真模型的平台。I-DEAS是世界上最著名的机械CAD设计自动化软件,革命性的VGXTM变数式几何系统技术,让使用者以更直觉的方式去雕塑三维实体模型;并直接在电脑三维实体原型上进行修改,如同以双手拼组真实的零件一样[6]。

  运用Vc++与OpenGL联合开发交互图形应用程序是因为:

  (1)同其它编程语言相比,vC对OpenGL的支持最好,能很方便地迸行OpenGL编程,而且其功能十分强大。而Delphi不能对OpenGL提供很好的支持。

  (2)单纯用VC++很难设计出高性能的三维图形工具,目前图形开发包DirectX适于游戏开发以及加强多媒体性能等方面,而OpenGL则可以制作出更顺畅的3D效果,且OpenGL性能优于DirectX。

  (3)OpenGL可以与vc++建立紧密接口,便于实现有关计算和图形算法,可保证算法的正确性和可靠性。




<<首页 <上一页  1  2  3  下一页>  末页>>  
责任编辑:熊东旭