点防御是什么意思?一篇文章让你彻底搞懂它!

天美租号

最近瞎琢磨一个叫“点防御”的玩意儿。不是说搞什么军事上的东西,就是听着觉得挺有意思,想自己动手试试看能不能弄个简单的模拟出来,看看是咋回事。

最初的想法

我就想着,这不就是让一个东西,能自动打掉飞过来的其他东西嘛听起来好像不难?就打算用点简单的图形,写几行代码试试。一个点是我的“炮台”,然后随机飞过来一些“导弹”,让“炮台”自己瞄准把它们打掉。

点防御是什么意思?一篇文章让你彻底搞懂它!

说干就干。 我打开电脑,找点以前用过的基础库,就开始敲代码。先是画个固定的点,然后弄几个移动的点朝它飞。最开始的目标,就是让固定的点能“看到”飞过来的点。

开始动手与遇到的麻烦

这第一步就卡壳。怎么算“看到”?我得计算角度和距离。行,那就加上计算。算出来之后,得让我的“炮台”转向那个方向。结果?要么转得慢悠悠,导弹都飞过去它还没对准;要么就是转过头,来回晃悠,跟个没头苍蝇似的。真是头大。

后来调整好久那个转向的速度和逻辑,勉强算是能对准。然后是“发射”。我设定一个简单的规则,对准就发射一条线出去,碰到“导弹”就算击落。结果发现,如果“导弹”飞得快一点,或者稍微拐个弯,我这“炮弹”就打不中。因为它瞄的是当前位置,等“炮弹”飞过去,目标早跑。

这就引出更大的问题:

    点防御是什么意思?一篇文章让你彻底搞懂它!

  • 得做预判。根据“导弹”的速度和方向,算它下一个位置可能在哪儿,然后朝着那个位置打。
  • 反应速度。从发现目标到发射,这个过程要快。代码逻辑稍微复杂一点,慢就全白搭。
  • 同时处理多个目标。这才是“点防御”的精髓?一个“炮台”怎么同时对付好几个飞过来的东西?

处理多个目标

这块儿是最折腾人的。一开始我让它按顺序打,发现不行,总有漏网之鱼。后来想搞个威胁评估,哪个近或者哪个快就先打哪个。但这计算量一下子就上去,而且优先级怎么定也是个学问。

点防御是什么意思?一篇文章让你彻底搞懂它!

我还试给“炮台”加“弹药”限制或者“冷却时间”。不能无限发射,那不就成神仙。加上限制后,更真实,但也更难。经常是手忙脚乱,看着一堆“导弹”飞过来,我的“炮台”只能干掉一两个,然后就被淹没。那感觉,真是挫败。

目前搞成啥样

折腾得有小半个月,现在算是弄出来一个基础的版本。能自动索敌,带点简单的预判,也能勉强同时应付两三个目标。但是效果嘛也就那样。稍微复杂点的情况,比如速度快慢不一、轨迹变化的目标一多,它还是抓瞎。

感觉这东西,真要做牵扯的东西太多。从探测、跟踪、识别、决策到拦截,每一步都不简单。我这也就是模拟个皮毛中的皮毛。

这回实践过程挺有意思的,虽然磕磕绊绊,但也算对“点防御”这个概念有点直观的体会。至少明白,想保护好一个点,真不是件容易事。目前就这样,再深入下去感觉我的头发可能要保不住。

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
验证码
评论列表 (暂无评论,38人围观)

还没有评论,来说两句吧...