论文部分内容阅读
三维图形技术是虚拟现实、实时仿真以及交互式三维设计等许多重要应用领域的关键技术。由于三维图形技术涉及到许多算法和专业知识,要快速地开发三维应用程序有一定困难,因此对三维引擎(三维应用程序核心)的研究有重要的现实意义。三维引擎封装了底层操作,为程序开发人员提供一个简单易用的程序框架,减轻程序开发人员编程的负担,提高应用程序开发的效率。本文通过一个三维引擎SR(SmartRenderer)的具体实现,研究了三维引擎设计的一些关键技术,着重研究了架构设计、场景组织和碰撞检测技术。架构设计是三维引擎的核心研究内容之一,本文设计了三维引擎SR的系统架构,并阐述了三维引擎SR核心对象之间的相互关系。场景组织是三维引擎的灵魂,它的好坏直接影响到最终的渲染和碰撞检测效率。本文深入研究了三维引擎SR所采用的场景组织方法——场景树,在此基础上设计并实现了场景组织的核心类。碰撞检测技术是三维引擎的另一核心技术。本文在深入研究传统广义/狭义二阶段碰撞检测算法的基础上,采用对包围体对穿透率进行排序的策略,改进了传统广义/狭义二阶段碰撞检测算法,并将该算法应用到三维引擎SR中,实现了三维引擎SR的碰撞检测功能。在深入地探讨了场景树的组织方法和碰撞检测方法后,在Visual C++.Net开发平台下,实现了一个基于OpenGL的三维引擎SR。该引擎为应用层的客户程序员提供了一个简单易用的接口,能够方便地建立三维模型、控制仿真动画并能进行碰撞检测及最小净距的计算。最后将上述的三维引擎SR与实际三维应用相结合,研发了一款面向吊装行业的用于起重机吊装作业模拟的三维吊装仿真系统,并取得了较好的效果。同时,验证了三维引擎SR的可用性。