3872浏览
查看: 3872|回复: 5

[项目] 【2020】--病毒的群体传播计算机模拟

[复制链接]
【2020】”春节宅家一起造“线上小创马 ”活动。


最近武汉新型冠状病毒肆虐,让全国人民揪心。想利用mind+的图形化功能模拟病毒的传播及防治。大家听从国家安排,不要外出、聚众,戴好口罩,注意隔离防治。


原理:模拟一个多人群体,然后用一个被传染人作为传染源,在群体中随意移动,判断与群体里面的每个个体的距离传播病毒。被传染的人又会变为新的传播源传播。通过模拟会看到如果不进行隔离,病毒传播将难以控制,这也是这次武汉、湖北要封城的根本原因。

步骤1:模拟被传播的群体
使用mind+的克隆,模拟群体,模拟一个80-100人的群体。因为要采集每个克隆体的坐标,但是mind+对每个单独的克隆体没有单独的坐标,所以这里利用一个私有变量作为坐标的索引,用另外两个列表存储生成克隆体时的X、Y坐标。但是不能让每个克隆体在随机移动,并实时获取坐标,这个高手有方法的话可以研究告知下。【2020】--病毒的群体传播计算机模拟图2

步骤2:传染源代码编写

传染源让其随机移动。同时一直循环判断与列表中形成的坐标的距离计算(就是到每个克隆体的距离),小于一定值就克隆病毒,并公告传播病毒。这里因为循环判断有时间的延迟,所以有时靠近了克隆体,但是还没循环判断到这个序列的坐标,就会导致没有传播,这个还不能解决。
【2020】--病毒的群体传播计算机模拟图3

步骤3:模拟病毒代码编写

把上面的克隆病毒移动到被感染人,报告“一级传染”。同时把被感染人的坐标及时取出。然后用这个坐标到坐标库中去循环判断其他人离自己的距离,如果距离小于一定值即克隆病毒,报告“二级传染”,即被传染人再次传给其他人。但有时会触发远距离的误报,原因应该是两个循环需要消耗时间。本来想用并发来处理,结果mind+的并发好像是只能在有主板的硬件上传模式才能调用出来。如有高手会处理请赐教。
【2020】--病毒的群体传播计算机模拟图1

步骤4:总结
用计算机模拟了病毒在人群传播的模型,类似的群体模型都可以用这种方式来处理,虽然还有不尽如意的地方。请高手赐教。
请大家听从国家安排,不要外出、聚众,戴好口罩,注意隔离防治。天佑中华!

演示视频:


DFrJ5KYVQaH  中级技匠

发表于 2020-2-6 09:32:39

不错想法,很现实的模拟
回复

使用道具 举报

且歌且行  中级技师

发表于 2020-2-16 08:49:54

模拟很形象
回复

使用道具 举报

kylinpoet  初级技神

发表于 2020-2-18 03:31:43

这个好,必须支持。
回复

使用道具 举报

Anders项勇  高级技师
 楼主|

发表于 2020-2-19 17:44:09

谢谢大家支持!
回复

使用道具 举报

gada888  版主

发表于 2020-2-23 12:07:26

有想法
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail