论文部分内容阅读
物理引擎通过计算物体的运动、旋转和碰撞,为物体赋予真实的物理属性。物理引擎作为游戏引擎的重要组成部分,被大量应用在当前的主流游戏中。 目前有很多商业物理引擎,然而,这些商业物理引擎或者需要收取使用费用,或者过于复杂而需要占用过多的系统资源,并且难以定制。本文的目标是设计并实现一个经济可靠的物理引擎,尽可能的使用简单的算法,占用尽可能少的资源,提供更好的可控性和灵活性,并支持跨平台的特性,支持嵌入式环境。 本文在论述经典物理力学理论的基础上,设计并实现了刚体物理引擎和粒子物理引擎。 首先,本文对物理引擎进行了框架设计和模块设计,并为上层应用程序提供简单一致的函数程序库接口。 其次,本文论述了粒子系统和刚体系统的运动定律,设计了物理引擎的力生成器模块,积分器模块,碰撞检测模块,碰撞处理模块,并分别论述了在粒子物理引擎和刚体物理引擎中,这四个模块的算法及其实现。 最后,本文利用粒子物理引擎和刚体物理引擎函数库,分别模拟了烟火系统和箱体碰撞两个场景,验证了本文所设计的物理引擎能够提供真实的物体运动效果。