Python+Html 기반 전염병 확산 시뮬레이션 시스템

리소스 다운로드 주소 : https://download.csdn.net/download/sheziqiong/88288173
리소스 다운로드 주소 : https://download.csdn.net/download/sheziqiong/88288173

전염병 확산 시뮬레이션 시스템

1. 전염병 보고

배경 소개

​ 신종 코로나바이러스의 인구 확산을 연구하기 위해 다양한 전염병 예방 조치(마스크 착용, 여행 제한, 병원 확대 및 치료 속도 증가)가 전염병 확산에 미치는 영향을 논의합니다. 개인, 정부, 의료의 세 가지 측면에서 전염병의 확산에 대해 논의합니다.

기술 스택

  • 프런트 엔드

    간단한 html+javascript+boostrap을 사용하여 프런트엔드 페이지와 작은 애니메이션을 작성하세요.

  • 후방

    ​ 프런트엔드와 백엔드 데이터 상호작용을 위해 Python의 플라스크 웹 프레임워크와 결합하여 프런트엔드 시뮬레이션이 완료되어 json 데이터를 반환하고 Python의 문서 라이브러리와 드로잉 라이브러리를 사용하여 간단한 보고서를 작성했습니다.

코드 실행

프로젝트를 기록하고 cmd를 실행하세요.

pip install -r 요구 사항.txt는 Python 종속성을 설치합니다.

Python app.py 실행

모델링 아이디어

특정 규칙

하나의 공은 직경 30px, 길이 30px의 사람으로 시뮬레이션되며, 두 사람 사이의 거리가 60px이거나 충돌이 발생하는 경우 이때 감염이 발생할 수 있습니다. 그 중 파란색은 잠복기를, 빨간색은 감염을, 갈색은 움직이지 않으면 사망을, 노란색은 회복을 나타내며 이때 항체가 있음을, 검은색은 건강하고 감염이 없음을 나타낸다.

매개변수 설정

​ 마스크를 착용하지 않고 잠복기 동안 사람과 너무 가까이 있거나 충돌했을 때 : 항체가 있으면 감염 확률 1%, 항체가 없으면 감염 확률 5%.

​ 마스크를 착용하지 않고 감염된 사람과 너무 가까이 있거나 충돌했을 때 : 항체가 있으면 감염 확률 5%, 항체가 없으면 감염 확률 30%.

​ 마스크를 착용하고 잠복기 동안 누군가와 너무 가까이 있거나 충돌했을 때 : 항체가 있는 감염률 0.3%, 항체가 없는 감염률 1%.

​ 마스크를 착용하고 감염자와 너무 가까이 있거나 충돌한 경우 : 항체가 있는 사람은 감염될 확률이 3%, 항체가 없는 사람은 감염될 확률이 15%입니다.

군중이 모일 수 있으며, 공 사이의 거리가 오랫동안 너무 짧으면 당연히 감염 확률이 크게 높아집니다. 군중이동은 랜덤이동이며 총 5단계로 설정되어 있습니다. 개원 후 입원속도는 3단계(느림, 중간, 빠름)로 설정되며, 회당 입원인원은 5명이다. 병원 수용인원은 독립적으로 설정할 수 있다.

모델 구축

위의 규칙에 따라 프로그램은 JavaScript로 작성되고 데이터는 시각화됩니다.

프로그램 효율성과 실행 시간을 고려하여 우리 그리드는 813*830(단위: px)을 사용합니다.

실행 후 보고서가 반환되는데, 주로 시간에 따른 감염자 수, 잠복자 수, 사망자 수의 변화를 관찰하고 분석합니다.

2. 기본 데이터

초기 감염자 수: 50
명 초기 인원: 60명
군중 집결 상태: 집결 폐쇄
군중 이동 속도: 5단계(총 5단계)
마스크 착용 여부: 없음
병원 개방 여부: 병원은 열려 있음 병원 수용
인원: 20명
병원 보관 속도: 1단계(가장 느린 속도)

국가 통계국의 통계 및 관련 논문에 따르면 모델 매개변수는
단일 공을 사람으로 시뮬레이션하고 공의 직경은 30px, 길이는 30px로 설정되어 있습니다. 60px이거나 충돌이 발생하면 이런 일이 발생할 수 있습니다. 그 중 파란색은 잠복기를, 빨간색은 감염을, 갈색은 움직이지 않으면 사망을, 주황색은 회복을 나타내며 이때 항체가 있음을, 검은색은 건강하고 감염이 없음을 나타낸다.
·마스크 미착용 시 : 잠복기 동안 항체에 감염될 확률은 1%입니다. 잠복기 동안 항체 없이 감염될 확률은 5%입니다. 감염기간 동안 항체가 있었던 사람은 감염될 확률이 5%, 감염기간 동안 항체가 없었던 사람은 감염될 확률이 30%이다.
·마스크 착용 시 : 잠복기 동안 항체에 감염될 확률은 0.3%입니다. 잠복기 동안 항체가 없으면 감염 가능성은 1%입니다. 감염기간 동안 항체가 있으면 감염될 확률은 3%이고, 감염기간 동안 항체가 없으면 감염될 확률은 15%이다.
군중이 모일 수 있으며, 알갱이 사이의 거리가 오랫동안 너무 짧으면 당연히 감염 확률이 크게 높아집니다. 군중이동은 랜덤이동이며 총 5단계로 설정되어 있습니다. 개원 후 입원속도는 3단계(느림, 중간, 빠름)로 설정되며, 회당 입원인원은 10명이다. 병원 수용인원은 독립적으로 설정할 수 있다.

3. 데이터 분석

빨간색 - 현재 감염자 수 파란색 - 현재 잠복자 수 녹색 - 현재 사망자 수
가로축에 해당 시점의 전염병 상황을 반영

빨간색 - 누적 감염자 수 파란색 - 누적 잠복자 수 녹색 - 누적 사망자 수
가로축에 현재 시점의 누적 유행 상황을 반영

총계: 110
사망: 31

총 인원수 : 110
감염자수 : 78명

4. 수학적 모델

리소스 다운로드 주소 : https://download.csdn.net/download/sheziqiong/88288173
리소스 다운로드 주소 : https://download.csdn.net/download/sheziqiong/88288173

추천

출처blog.csdn.net/newlw/article/details/132634646