格式:DOC ? 页数:26页 ? 上传日期: 17:08:23 ? 浏览次数:17 ? ? 800积分 ? ? 用稻壳阅读器打开
全文阅读已结束如果下载本文需要使用
//抛物线方程 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){//如果距离小于希望的精度 找到结果 返回瞄准点 炮弹是抛物线 发射时不能瞄准命中点 要计算瞄准点
//即不是无解 也未达到精度要求 递归调用继续迭代 其中预测命中点用目标轨迹方程计算出的新位置取代 参考差值用本次计算的差值取代
拍照搜题秒出答案,一键查看所有搜题记录
拍照搜题秒出答案,一键查看所有搜题记录
|
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。