作者:李君威(U201310747)
请在博客中针对整个系统设计或其中的某一个功能阐述你的设计思路和方案,包括但不限于:
1)可以使用的第三方库和工具。
2)模块和任务的划分,以及相互之间的数据接口和通信机制。
3)关键的算法以及算法的设计与仿真。
1.方案
本游戏设计除了GUI界面显示,主要存在物理引擎的引进和碰撞策略的算法。
1.1 物理引擎
主要搭建一个负责处理运动碰撞的解决方案。其中,在忽略碰撞能量损失时,冰球与边缘的碰撞符合一般的反射定理,由此可以解出冰球的预测轨迹;在冰球与击球器的碰撞中,需要根据动量定理和能量守恒定理来求解冰球的预测轨迹。以上两种情况求解的预测轨迹都提供给策略模块来处理,来得到击球器运动方案。
1.2 碰撞策略
该模块的输入值包括:
- 冰球与边缘碰撞后的预测来路轨迹,由物理引擎提供。
- 冰球的速度大小,由传感器信号输入。
- 冰球进入己方半区的时间里击球器能运动的最远距离,需要根据运动驱动器的固有参数算得。
以上输入值进过碰撞策略模块进行处理,计算出击球器的最佳击球轨迹和速度曲线,并交由轨迹查补模块来进行运动控制。