Obsah:

(Velmi jednoduché) Modelování nemocí (pomocí Scratch): 5 kroků
(Velmi jednoduché) Modelování nemocí (pomocí Scratch): 5 kroků

Video: (Velmi jednoduché) Modelování nemocí (pomocí Scratch): 5 kroků

Video: (Velmi jednoduché) Modelování nemocí (pomocí Scratch): 5 kroků
Video: Matematika a ekologie – L. Berec [seminář MPN 8.11.2023] 2024, Listopad
Anonim
(Velmi jednoduché) Modelování nemocí (pomocí Scratch)
(Velmi jednoduché) Modelování nemocí (pomocí Scratch)

Dnes budeme simulovat vypuknutí nemoci, přičemž jde o jakoukoli nemoc, ne nutně COVID-19. Tato simulace byla inspirována videem od 3blue1brown, na které odkazuji. Vzhledem k tomu, že se jedná o přetahování, nemůžeme s JS nebo Pythonem dělat tolik, kolik můžeme, ale používání scratch také přináší výhody, takže pokud chcete vidět, jak modelovat ohnisko pomocí JS, můžete si prohlédnout můj článek, který jsem napsal o modelování ohnisek nemocí zde. Pojďme začít!

Poznámka: Výše uvedený obrázek pochází ze simulace provedené nástrojem quantum9innovation (nikoli uživatelem Instructables), který si můžete prohlédnout zde.

Zásoby:

Budeš potřebovat:

  • Scratch účet (můžete se zaregistrovat zde
  • Základní znalosti drag and drop (ale stejně si projdu kód)
  • Počítač nebo zařízení, se kterým můžete programovat (což pravděpodobně máte, protože to čtete)
  • Volitelné - podívejte se na video 3b1b, které vám poskytne představu o tom, co programujeme.

Krok 1: Základní nastavení

Základní nastavení
Základní nastavení

Nejprve vytvoříme projekt, pojmenujeme jej libovolně a poté odstraníme stávající sprite na plátně. To lze provést kliknutím na tlačítko koše na skřítku. Nyní máme prázdné plátno a můžete změnit barvu pozadí na cokoli chcete.

Dále vytvořte nový sprite a místo použití existujícího sprite namalujte svůj vlastní. Udělejte z toho modrou tečku. Tento sprite představuje vnímavou populaci komunity a budeme mít také obnovenou/odstraněnou a infikovanou populaci, odkud pochází název modelu SIR (vnímavý, infikovaný, obnovený/odstraněný). Ujistěte se, že jste sprite pojmenovali „neinfikovaný“.

Nyní vytvořte nový sprite (znovu) a pojmenujte ho sprite1, který si také namalujeme sami. Pojmenujte jej „Sprite1“a vytvořte 2 kostýmy, jeden by měl být červená tečka a druhý šedá tečka. Udělejte z nich kostým 1, respektive kostým 2. Tito dva představují infikovanou (červená tečka) a obnovenou/odstraněnou (šedá tečka) populace.

Krok 2: Nastavení kódu pro vnímavou populaci

Nastavení kódu pro vnímavou populaci
Nastavení kódu pro vnímavou populaci

Nyní jsme nastavili náchylný populační kód. Nejprve vytvoříme 2 proměnné: lidé a infikovaní. Proměnná „Lidé“představuje populaci a lze ji změnit podle toho, kolik lidí v naší simulaci chceme, a podle toho se simulace změní. Vytvoříme také infikovanou proměnnou, která představuje populaci, která má/měla nemoc. Obě tyto proměnné by měly být globálními proměnnými, což znamená, že je lze použít ve všech spritech.

Dále zkopírujte výše uvedený kód do neinfikovaného sprite. Pojďme se podívat, co to dělá. Když se program spustí, sprite je skrytý, a proto nemusíme do skriptu vkládat stejný kód pro klony, což pomáhá. Poté nastavíme dvě proměnné (infikovaní a lidé) na to, co chceme, aby byly. V tomto případě nastavíme nakažené na 1 a lidi na 100. To znamená, že začneme s jednou infikovanou osobou a celkem 100 lidmi, včetně infikované osoby. Poté spustíme smyčku, což je částka, kterou proměnná people v tomto případě činí 100. Přejdeme na náhodnou pozici a poté vytvoříme klon sprite. Jdeme do náhodné pozice, protože tímto způsobem nemáme řadu teček pohybujících se jedním směrem a místo toho se objevují v náhodných pozicích.

Krok 3: Nastavení kódu pro nakaženého a odstraněného skřítka

Nastavení kódu pro nakaženého a odstraněného skřítka
Nastavení kódu pro nakaženého a odstraněného skřítka

Nyní přepněte na sprite „Sprite1“a poté zkopírujte výše uvedený kód. Pojďme si to projít. Když se program spustí, sprite je skrytý a poté spustí smyčku pro částku, na kterou je infikováno nastaveno. Přejde do náhodné polohy a vytvoří svůj vlastní klon.

Krok 4: Vyplnění kódu vnímavé populace

Vyplnění kódu vnímavé populace
Vyplnění kódu vnímavé populace

Pojďme si projít věci, které musíme udělat:

  • Infikovat
  • Přestěhovat se

Přepněte na Neinfikovaný sprite, zkopírujte výše uvedený kód a pojďme se podívat, jak dokončí nakažení a přesun. Nejprve jde o kostým jeden, a to opravdu není nutné, ale máme to tam, takže pokud se rozhodneme přidat další, nemusíme si dělat starosti, že to změní kostýmy na ty nové, které jsme přidali. Dále se to ukáže samo. Pokud si pamatujete, schovali jsme původní sprite, takže budou skryty i klony, což nechceme. Poté spustíme navždy smyčku, která spustí celý program, dokud někdo neklikne na značku stop na začátku. Klouzáme do náhodné polohy po dobu 1 sekundy a poté kontrolujeme, zda jsme na hraně, v takovém případě to odrazíme. Pokud se dotkneme červené barvy, naklonujeme Sprite1 (infikovaná/odstraněná populace) a zvýšíme infikovanou proměnnou o 1, poté odstraníme našeho sprite.

Krok 5: Dokončení infikovaného/odstraněného kódu

Dokončení infikovaného/odstraněného kódu
Dokončení infikovaného/odstraněného kódu

Přepnutím na Sprite1 vytvoříme nový seznam, časovač. Tento seznam bude sledovat, jak dlouho je bod infikován, a po určitém čase buď zemře, nebo se zotaví, stane se součástí odebrané/obnovené populace a je reprezentován šedou tečkou, kterou nelze znovu infikovat.

Zkopírujte výše uvedený kód a pojďme si to projít. Když začínáme jako klon, vložíme do seznamu časovačů celkový počet sekund, po které byl program spuštěn, a zkontrolujeme to, abychom zjistili, jak dlouho byl infikován, a podle toho jej změníme, aby byl obnoven. Skrýváme seznam časovačů a poté pro případ přepneme kostým klonu na infikovaný kostým a poté ukážeme náš sprite. Nyní spustíme věčnou smyčku, ve které se stane více věcí: řekneme klonu, aby klouzal do náhodné polohy každou sekundu, zkontrolujte, zda je infikovaná proměnná větší než samotná populace, v takovém případě ji nastavíme na populaci a nakonec jdeme zkontrolovat první položku seznamu časovačů, abychom zjistili, zda už není delší než 5 sekund, a pokud je to pravda, přepneme kostým na obnovený kostým, abychom nemohli nakazit, a poté položku z časovače odstraníme.

Doporučuje: