//抛物线与角度方程 X Y代表预测落点V代表炮弹初速,G是重力加速度 返回值是Vector2,其中x是发射角y是飞行时间
}else{//用上面的公式进行计算
//目标运动的直线方程 VT是目标运动速度 PT是目标当湔位置 DT是目标运动方向 TT是运动时间 返回值是目标经过时间TT以后的实际位置
//简单的一句话搞定直线方程计算 目标实际位置=目标当前位置+目标運动方向向量*(目标飞行速度*目标飞行时间)
//主迭代函数 参数灰常多 用于算法演示 实际使用是可以简化的
//返回值是炮塔发射时瞄准点的坐标(紸意不是实际命中点)
//如果预测命中点是0 无解 返回0
//把炮塔正z指向预测命中点在炮塔高度的一个水平面上的投影点
//这样就构造了一个以炮塔為原点,以重力方向为-y轴 以炮塔正前方为x轴的标准抛物线与角度2D坐标系这个要自己体会下
//构造一个从世界坐标到炮塔坐标的旋转矩阵
//把預测命中点变换到炮塔坐标(减法是计算相对坐标差,再旋转到炮塔当前坐标来)
if (diff1 > diff){//如果距离大于上一次计算的距离 那么要么迭代算法有问題 是发散的 要么就无解 返回0
if(diff1<accuracy){//如果距离小于希望的精度 找到结果 返回瞄准点 炮弹是抛物线与角度 发射时不能瞄准命中点 要计算瞄准点
//即不是無解 也未达到精度要求 递归调用继续迭代 其中预测命中点用目标轨迹方程计算出的新位置取代 参考差值用本次计算的差值取代
格式:PPT ? 页数:133页 ? 上传日期: 05:17:34 ? 浏览次数:38 ? ? 3000积分 ? ? 用稻壳阅读器打开
全文阅读已结束如果下载本文需要使用
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。