大西洋舰队吧 关注:4,341贴子:138,533
  • 5回复贴,共1

关于大西洋舰队火控代码后续

只看楼主收藏回复

今年的职教高考、对口升学什么的都处理好了,虽然没有考上本科但也起码能去职业本科里的大专专业继续上学,我也终于有足够的时间,在大学开学之前,继续搞关于大西洋舰队火控的事情了。
之前在搞大西洋舰队火控的时候,我的想法是通过获取任意地图8倍率视图下的X轴与Y轴格数、舰船雷达给的距离和开火角度,分别算出实际距离、(相对于舰船雷达给的距离)每一度对应的多少距离,最后根据实际距离与每一度对应的多少距离,计算出最终开火角度。
虽然这种算法,就意味着不再依赖每一个舰船独有的射击表的同时,还能快速与灵活计算不同类型舰船的实际开火角度。但这里就遗留了一个问题——舰船雷达给的距离和开火角度与我们自行计算的实际距离和实际开火角度必然会有数差,这样就意味着我们第一次计算的数据没有经过二次修正;
虽然说我们第一次计算的数据已经大幅度提高了精准度和计算灵活性,但这种没有二次修正的算法所计算出的实际开火角度最终还是有偏差,偏差程度与实际距离呈正比恶化,这样即使我们计算出来了我们还要根据偏差情况二次预估射击角度。对我而言,既然这种火控雷达还需要人工二次调整,那么就说明还不够准、还有继续优化,所以,我研究出了二次修正的算法。
这个二次修正的算法我称它为“secondaryCalibration”,这个算法需要引入四个变量 ,分别为:
moRenJuLi(也就是舰船火控雷达探测的距离),moRenHL(也就是舰船火控雷达探测给出的开火角度)、actualDistance(实际距离)、actualElevation(实际角度,也就是第一次计算出来的实际角度)。
首先写一个if判断,当敌方战舰距离我们的实际距离,大于雷达测出的默认距离:也就是我们的火炮提前量不够。那么就拿当前系统给的距离和系统给的角度(默认距离与默认角度 ),先解算出每一度对应多少英尺,然后让实际距离-默认距离,得出差值——也就是默认距离的数值差实际距离的数值多少的具体值。然后,拿两个距离值(默认距离相差于实际距离)的差/每一度对应的距离(英尺),得出二次计算的差值角度。最后,让第一次计算的实际角度+二次计算的差值角度,得出finallyElevation,也就是最终二次修正后的角度。
当敌方战舰距离我们的实际距离,小于雷达测出的默认距离:也就是我们的火炮提前量太多了,那么也是同样的道理,反着弄就行了。如果说这段内容很抽象看不懂,那么底线也有源码截图,作为算法可视化。职校三年也快毕业了,总得要有个什么成果才行,计算机什么的也不能白学,所以二次修正的算法就分享给各位吧友了。按理来说这种算法也是能直接应用到手动计算当中的。


IP属地:安徽1楼2025-06-28 21:07回复
    这个是算法截图


    IP属地:安徽2楼2025-06-28 21:08
    收起回复
      2025-07-29 23:16:29
      广告
      不感兴趣
      开通SVIP免广告
      如果没开气流的话校射两轮差不多了,开了气流的话只能随缘了


      IP属地:广东来自Android客户端3楼2025-06-28 22:10
      回复
        666,我看不懂,但我觉得这很牛逼。我玩的时候都是根据参考的数据再依据自己的经验调一下


        IP属地:福建来自Android客户端4楼2025-06-29 16:47
        回复
          3


          IP属地:安徽来自Android客户端5楼2025-07-11 12:23
          回复