论文部分内容阅读
科学技术的发展已经对世界工业的发展进程产生了重大的影响。对于制造业来说,对人的依赖正在随着高新科技的引入而日益削弱,一场改变整个制造业的革命正在发生。以虚拟装配技术为例,已经在许多企业的产品研发制造过程中发挥十分重要的作用。碰撞检测(Collision Detection)是虚拟装配系统中的一项关键技术,它是对虚拟环境中两个或多个物体之间是否发生,以及何时在何处发生了碰撞进行检测。准确高效的碰撞检测对于虚拟装配系统来说是十分重要的。本课题对虚拟装配系统中碰撞检测技术的发展现状做了研究,实现对三维模型的读取,应用物理引擎技术实现虚拟现实软件中,装配和拆卸过程中的碰撞检测。具体工作体现在以下几个方面:第一,从文件信息存储结构入手,研究并且分析3ds和Fbx两种常用的三维模型文件格式。通过流程图的形式直观的给出了读取3ds文件具体过程,并且实现了对文件信息的读取。对fbx SDK的具体程序代码进行分析,实现对fbx文件的读取;第二,对碰撞检测的一般框架进行研究,收集并整理碰撞检测技术的相关理论。研究并分析经典碰撞检测技术中的关键技术,包括包围体,层次包围体和空间划分技术。并且给出对应的C语言程序代码;第三,分析并研究了ODE和Bullet两种开源物理引擎的一些重要的概念以及程序代码。实现在Bullet中对于节点的插入,删除等操作,以及碰撞检测的具体实现。对两款物理引擎进行对比实验,根据实验结果确定采用Bullet作为系统物理引擎;第四,完成对系统运行所需第三方库进行设置,以及64位版本的编译工作,其中包括所需的Qt库文件的64位版本的编译的具体步骤,使用Visual Studio2008对程序进行编译生成可执行文件,并且给出拥有卸载功能的msi安装程序打包的具体过程。以流程图的形式给出系统打开三维模型文件,装配和拆卸的工作过程,以及在系统环境中对三维模型进行装配和拆卸时,碰撞检测的实现的具体效果。