冰球项目日志3-yjw

小组讨论

今天你们讨论了以前各自想的方案的问题,基本肯定了寻找击球点的方案,以及击球手运动轨迹规划的方案,这里我只是简单的说下咱们的击球点的肯定方案。算法

击球策略方案

方案分析


首先咱们创建平面在直角坐标系,图中算法选择线为六等分线,是咱们选择不一样击球方案的一条分界线,咱们的击球行为大部分发生在击球区,击球区的大小按照两条四等分线肯定。编程

策略假定

1 假定不考虑对方击球手阻挡等状况
2 假定只考虑击球手速度对准冰球球心
3 假定必要时能够优先防守,再考虑进球
4 假定击球手击球时速度大小固定为最大速度3d

算法框图

方案图示

图一

当冰球轨迹曲线与击球区边界发生的第一个交点在算法分界线左侧,而且冰球按照轨迹会进入球门时,咱们只作防守不进攻,将球沿原方向反向撞回。
blog

图二

当冰球轨迹曲线与击球区边界发生的第一个交点在算法分界线左侧,但冰球不会进入我方球门时,让冰球在我方球门壁反弹一次进入击球区,随机选择击球区内冰球运动轨迹上一点为撞击时冰球位置,而后根据速度矢量合成,肯定击球点以及击球手速度。
接口

图三

当冰球轨迹曲线与击球区边界发生的第一个交点在算法分界线右侧时,直接以该交点做为撞击时冰球中心,根据速度矢量合成,肯定击球点以及击球手速度。
变量

算法的问题

1 对于速度矢量合成过程当中,击球手的速度大小和方向为一组相关的变量,方程组只能解出速度大小与方向的关系,因此咱们是肯定速度来定方向,但实际上应该是用最优解的思想,咱们为了简化,没有进行分析。
2 咱们有一个疑问:物理引擎组应该是作的如何模拟实际的物理碰撞过程,好比动量守恒,动能守恒等等。这样的话,咱们策略寻找击球点过程当中会遇到速度合成的问题,这样咱们分析的时候直接把这些看成已知来用吗?im

安排

若是方案没什么太大的问题,咱们准备完善下框图,开始编程工做。db

感觉

感受咱们组单作这一个模块,编程不是很复杂,主要是方案的肯定,以及和其余模块之间的接口定义的准确,这就要咱们理解好各个模块之间的关系,可是咱们感受和物理引擎租的关系有那么一点儿模糊,就像上面问题说的,因此有点担忧会弄错策略的含义。img

相关文章
相关标签/搜索