Sisukord:

(Väga lihtne) Haiguse modelleerimine (Scratchi abil): 5 sammu
(Väga lihtne) Haiguse modelleerimine (Scratchi abil): 5 sammu

Video: (Väga lihtne) Haiguse modelleerimine (Scratchi abil): 5 sammu

Video: (Väga lihtne) Haiguse modelleerimine (Scratchi abil): 5 sammu
Video: The PHENOMENON BRUNO GROENING – Documentary Film – PART 2 2024, November
Anonim
(Väga lihtne) Haiguste modelleerimine (kasutades Scratchi)
(Väga lihtne) Haiguste modelleerimine (kasutades Scratchi)

Täna simuleerime haiguse puhangut, kusjuures see on mis tahes haigus, mitte tingimata COVID-19. See simulatsioon sai inspiratsiooni 3blue1brown videost, millele ma lingin. Kuna see on lohistamine, ei saa me JS -i või Pythoni abil teha nii palju kui võimalik, kuid ka kriimustuste kasutamisel on eeliseid, nii et kui soovite näha, kuidas JS -iga haiguspuhangut modelleerida, saate vaadata artikkel, mille kirjutasin siin haiguspuhangute modelleerimise kohta. Nüüd alustame!

Märkus. Ülaltoodud pilt pärineb quantum9innovationi simulatsioonist (mitte Instructables kasutaja), mida saate siin vaadata.

Tarvikud:

Te vajate:

  • Scratchi konto (saate registreeruda siin
  • Algteadmised pukseerimisest (kuid vaatan siiski koodi läbi)
  • Arvuti või seade, millega saate programmeerida (mis teil tõenäoliselt on, kuna loete seda)
  • Valikuline - vaadake 3b1b videot, see annab teile aimu, mida me programmeerime.

Samm: põhiseadistus

Põhiseadistus
Põhiseadistus

Esiteks loome projekti, pange sellele pealkiri, mida soovite, ja kustutage siis lõuendil olev olemasolev sprite. Seda saate teha, klõpsates sprite'i prügikasti nupul. Nüüd on meil tühi lõuend ja saate taustavärvi muuta mis tahes.

Seejärel looge uus sprite ja olemasoleva sprite kasutamise asemel värvige oma. Tehke sellest sinine täpp. See sprite esindab kogukonna vastuvõtlikku populatsiooni ning meil on ka taastunud/eemaldatud ja nakatunud populatsioon, kust pärineb mudeli nimi SIR (vastuvõtlik, nakatunud, taastunud/eemaldatud). Nimetage sprite kindlasti nakatumata.

Nüüd looge uus sprite (uuesti) ja pange sellele pealkiri sprite1, mille me ka ise värvime. Pange sellele pealkiri "Sprite1" ja looge 2 kostüümi, millest üks peaks olema punane ja teine hall. Tehke neist vastavalt kostüüm1 ja kostüüm2. Need kaks tähistavad nakatunud (punane punkt) ja taastatud/eemaldatud (hall täpp) populatsioone.

2. samm: vastuvõtliku elanikkonna koodi seadistamine

Tundliku elanikkonna koodi seadistamine
Tundliku elanikkonna koodi seadistamine

Nüüd seadistasime vastuvõtliku elanikkonna koodi. Loome kõigepealt 2 muutujat: inimesed ja nakatunud. Muutuja "Inimesed" tähistab elanikkonda ja seda saab muuta vastavalt sellele, kui palju inimesi me oma simulatsiooni soovime, ja simulatsioon muutub vastavalt. Loome ka nakatunud muutuja ja see tähistab populatsiooni, kellel on/oli haigus. Mõlemad muutujad peaksid olema globaalsed muutujad, mis tähendab, et neid saab kasutada kõikides sprites.

Seejärel kopeerige ülaltoodud kood nakatumata sprite'i. Lähme läbi, mida see teeb. Kui programm käivitub, on sprite peidetud ja see on nii, et me ei pea kloonide jaoks sama koodi sprite'i sisestama, mis aitab. Seejärel seadistame need kaks muutujat (nakatunud ja inimesed) selliseks, nagu me tahame, et sel juhul oleksime sellisel juhul määranud nakatunute väärtuseks 1 ja inimestel 100. See tähendab, et alustame ühe nakatunud inimesega ja kokku 100 inimesega, välja arvatud nakatunud isik. Seejärel käivitame tsükli, mis käivitab summa, mille inimeste muutuja on antud juhul 100. Me läheme juhuslikku asendisse ja loome seejärel sprite'i klooni. Me läheme juhuslikku asendisse, sest sel viisil ei liigu meil ühes suunas punktide rida, vaid kudeme juhuslikes asendites.

3. samm: nakatunud ja eemaldatud Sprite'i koodi seadistamine

Nakatunud ja eemaldatud Sprite'i koodi seadistamine
Nakatunud ja eemaldatud Sprite'i koodi seadistamine

Nüüd lülitage Sprite1 -le ja kopeerige ülaltoodud kood. Lähme läbi. Programmi käivitamisel on sprite peidetud ja käivitab seejärel tsükli nakatunud koguse jaoks. See läheb juhuslikku asendisse ja loob iseenesest klooni.

4. samm: vastuvõtliku elanikkonna koodi täitmine

Tundliku elanikkonna koodi täitmine
Tundliku elanikkonna koodi täitmine

Vaatame läbi asjad, mida peame tegema:

  • Nakatada
  • Liiguta

Lülitage nakatumata sprite'ile, kopeerige ülaltoodud kood ja vaatame, kuidas see nakatumise ja liigutamise lõpule viib. Esiteks läheb see kostüümi juurde ja see pole tõesti vajalik, kuid meil on see olemas, nii et kui otsustame lisada rohkem, ei pea me muretsema selle pärast, et see muudab kostüümid uutele lisatud kostüümidele. Edasi näitab see ennast. Kui mäletate, peitsime esialgse sprite'i, nii et ka kloonid peidetakse, mida me ei taha. Seejärel käivitame igavese tsükli, mis käivitab kogu programmi, kuni keegi klõpsab stoppmärgil. Libistame 1 sekundiks juhuslikku asendisse ja kontrollime seejärel, kas oleme äärel, sel juhul põrkame sellest tagasi. Järgmisena, kui puudutame punast värvi, kloonime seejärel Sprite1 (nakatunud/eemaldatud populatsioon) ja suurendame nakatunud muutujat 1 võrra, millele järgneb meie sprite kustutamine.

Samm: nakatunud/eemaldatud koodi täitmine

Nakatunud/eemaldatud koodi täitmine
Nakatunud/eemaldatud koodi täitmine

Sprite1 -le üle minnes loome uue loendi, taimeri. See loend jälgib, kui kaua punkt on nakatunud, ja teatud aja möödudes see kas sureb või taastub, saab eemaldatud/taastatud populatsiooni osaks ning seda tähistab hall täpp, mida ei saa uuesti nakatada.

Kopeerige ülaltoodud kood ja vaatame selle läbi. Kui alustame kloonina, sisestame taimerite loendisse kogu sekundi, mille jooksul programm on töötanud, ja kontrollime seda, et näha, kui kaua see on nakatunud, ja muudame selle vastavalt taastamisele. Peidame taimerite loendi ja vahetame igaks juhuks kloonikostüümi nakatunud kostüümi vastu ning siis näitame oma sprite'i. Nüüd käivitame igavese tsükli, milles juhtub mitu asja: käskime kloonil iga sekundi järel libiseda juhuslikku asendisse, kontrollime, kas nakatunud muutuja on suurem kui populatsioon ise, millisel juhul määrame selle populatsioonile ja lõpuks läheme kontrollime taimerite loendi esimest üksust, et näha, kas sellest on möödas rohkem kui 5 sekundit, ja kui see on tõsi, vahetame kostüümi taastatud kostüümi vastu, et me ei saaks nakatada, ja kustutame selle elemendi taimerist.

Soovitan: