陀螺状态篇
当你学到这个部分的时候,相信你肯定知道陀螺在这个比赛中的重要性
在这个技术进步极快的比赛中,所有人的车性能都在不断提高,陀螺是我们绝对的防御手段
失去了这个手段无异于靶子,而我们视觉就是破开对面防御的利剑
利剑是否锋利取决于你的耐心与钻研
视觉的反陀螺目的就是提前算出敌方装甲板运动方向,提前在装甲板必经之路上架点
在完成这一切的前提是判断出敌方的状态,在敌方未处于陀螺旋转状态下,我们自然不需要过多的预测
在敌方处于陀螺的状态下,我们就需要收集对方的数据,进行反陀螺的预测
/** 陀螺参数 */
double spin_max_r_multiple; // 符合陀螺条件,反陀螺分数增加倍数
int spin_judge_low_threshold; // 小于该阈值认为该车已关闭陀螺
int spin_judge_high_threshold; // 大于该阈值认为该车已开启陀螺
int max_delta_t; // 维护陀螺跟踪器时间阈值
std::map<int,double> spin_score_map; // 记录各装甲板小陀螺可能性分数,大于0为顺时针旋转,小于0为逆时针旋转
std::map<int,SpinHeading> spin_status_map; // 记录该车小陀螺状态(未知,顺时针,逆时针)
std::multimap<int, SpinTracker> trackers_map; // 陀螺跟踪器Map
/** 陀螺观测函数 */
void UpdateSpinScore();
void Spin_detect();
陀螺的观测函数很少,但是逻辑较为复杂,接下来我将带你慢慢解读