用Java程序仿真模拟病毒传播过程(已开源)

《三体》名言:傲慢比无知更致命。VirusBroadcast项目在Github上开源,通过Java程序模拟冠状病毒的理想状态传播过程。该项目由KikiLetGo创建,旨在通过代码生成动画效果,为科普视频提供素材。主要使用JavaSwing实现,并可在IntellijIDEA中直接运行。

无知和弱小不是生存的障碍,傲慢才是。

《三体》

最近,在Github上面有一个 VirusBroadcast 开源项目,它利用Java程序仿真模拟了冠状病毒的传播过程「理想状态下」。

正如作者 KikiLetGo 所说,代码做得比较粗糙,主要是他不想学习动画设计软件,而用代码来实现动画的效果,便于为他的视频提供素材。


视频地址:https://www.bilibili.com/video/av86478875

项目地址:https://github.com/KikiLetGo/VirusBroadcast

整体代码不多,利用Java Swing来实现,直接导入到Intellij IDEA便可以运行,这里导入的时候,需要注意一下导入方式,如下图所示。

大家可以根据具体的情况去调节Constants.java类里面的相应参数。

    ‍    public static int ORIGINAL_COUNT=50;//初始感染数量
    public static float BROAD_RATE = 0.8f;//传播率
    public static float SHADOW_TIME = 140;//潜伏时间
    public static int HOSPITAL_RECEIVE_TIME=10;//医院收治响应时间
    public static int BED_COUNT=1000;//医院床位
    public static float u=0.99f;//流动意向平均值

运行结果如下图所示:

左边  

  • 白点:正常人  

  • 黄色点:潜伏期人群  

  • 红色点:确诊人群

右边矩形框内的红色点:表示医院的床位。

作者也希望大家去提交PR,提到待优化的点如下:

  • 城市的多中心分布

  • 跨城市的流通

  • 传染的更加准确模型

最后,希望大家出门带好口罩,没得特殊情况,就在家待着,别乱跑!!!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值