Kazalo:

(Zelo preprosto) Modeliranje bolezni (z uporabo praske): 5 korakov
(Zelo preprosto) Modeliranje bolezni (z uporabo praske): 5 korakov

Video: (Zelo preprosto) Modeliranje bolezni (z uporabo praske): 5 korakov

Video: (Zelo preprosto) Modeliranje bolezni (z uporabo praske): 5 korakov
Video: Я работаю в Страшном музее для Богатых и Знаменитых. Страшные истории. Ужасы. 2024, November
Anonim
(Zelo preprosto) Modeliranje bolezni (z uporabo Scratch)
(Zelo preprosto) Modeliranje bolezni (z uporabo Scratch)

Danes bomo simulirali izbruh bolezni, pri čemer je to katera koli bolezen, ne nujno COVID-19. To simulacijo je navdihnil videoposnetek 3blue1brown, na katerega se bom povezal. Ker je to povleci in spusti, z JS ali Pythonom ne moremo storiti toliko, kot je mogoče, vendar pa je uporaba praske tudi koristna, zato si lahko, če želite ogledati, kako modelirate izbruh z JS, ogledate mojo članek, ki sem ga napisal o modeliranju izbruhov bolezni tukaj. Zdaj pa začnimo!

Opomba: Zgornja slika je iz simulacije, ki jo je izvedla družba quantum9innovation (ni uporabnik Instructables), ki si jo lahko ogledate tukaj.

Zaloge:

Potrebovali boste:

  • Račun Scratch (prijavite se lahko tukaj
  • Osnovno znanje o vlečenju in spuščanju (vendar bom še vedno pregledal kodo)
  • Računalnik ali naprava, s katero lahko programirate (kar verjetno imate, saj to berete)
  • Izbirno - oglejte si videoposnetek 3b1b, ki vam bo povedal, kaj programiramo.

1. korak: Osnovne nastavitve

Osnovne nastavitve
Osnovne nastavitve

Najprej ustvarimo projekt, ga naslovimo, kakor hočemo, nato pa izbrišemo obstoječi sprite na platnu. To lahko storite tako, da na sprite kliknete gumb za smeti. Zdaj imamo prazno platno in barvo ozadja lahko spremenite v poljubno.

Nato ustvarite nov sprite in namesto obstoječega sprite pobarvajte svojega. Naj bo modra pika. Ta sprite predstavlja dovzetno populacijo skupnosti, imeli pa bomo tudi okrevano/odstranjeno in okuženo populacijo, od koder izvira ime modela SIR (dovzeten, okužen, obnovljen/odstranjen). Ne pozabite poimenovati sprite kot "neokužen".

Zdaj ustvarite nov sprite (znova) in ga naslovite sprite1, ki ga bomo tudi sami naslikali. Poimenujte ga "Sprite1" in ustvarite 2 kostuma, eden naj bo rdeča pika, drugi pa siva pika. Naredite jim kostum1 oziroma kostum2. Ti dve predstavljata okuženo (rdeča pika) in okrevano/odstranjeno (siva pika) populacijo.

2. korak: Nastavitev kode za dovzetno populacijo

Vzpostavitev kode za dovzetno populacijo
Vzpostavitev kode za dovzetno populacijo

Zdaj smo nastavili kodo občutljive populacije. Najprej ustvarimo dve spremenljivki: ljudje in okuženi. Spremenljivka »Ljudje« predstavlja populacijo in se lahko spremeni glede na to, koliko ljudi želimo v naši simulaciji, zato se bo simulacija ustrezno spremenila. Ustvarjamo tudi okuženo spremenljivko, ki predstavlja populacijo, ki je/je imela bolezen. Obe spremenljivki bi morali biti globalni spremenljivki, kar pomeni, da ju je mogoče uporabiti v vseh sprajtih.

Nato kopirajte zgornjo kodo v neokužen sprite. Poglejmo, kaj počne. Ko se program zažene, je sprite skrit, zato nam ni treba vnesti iste kode za klone v sam sprite, kar pomaga. Nato dve spremenljivki (okuženi in ljudje) nastavimo na to, kar želimo, v tem primeru nastavimo okužene na 1, ljudi pa na 100. To pomeni, da začnemo z eno okuženo osebo in 100 osebami skupaj, brez okužene osebe. Nato zaženemo zanko, ki je izvedena v tem primeru, ko je spremenljivka people v tem primeru 100. Gremo v naključni položaj in nato ustvarimo klon sprite. Gremo na naključni položaj, ker na ta način nimamo črte pik, ki se premikajo v eno smer, temveč se drstijo v naključnih položajih.

3. korak: Nastavitev kode za okuženo in odstranjeno Sprite

Nastavitev kode za okuženega in odstranjenega spriteja
Nastavitev kode za okuženega in odstranjenega spriteja

Zdaj preklopite na sprite "Sprite1" in nato kopirajte zgornjo kodo. Gremo skozi to. Ko se program zažene, je sprite skrit, nato pa izvede zanko za količino, ki je okužena, nastavljena na. Gre v naključni položaj in ustvari klon samega sebe.

4. korak: Izpolnite kodo za občutljivo prebivalstvo

Izpolnjevanje kode za občutljivo prebivalstvo
Izpolnjevanje kode za občutljivo prebivalstvo

Pojdimo skozi stvari, ki jih moramo narediti:

  • Okužen
  • Premakni se

Preklopite na neokužen sprite, kopirajte zgornjo kodo in poglejmo, kako dokonča okužbo in premikanje. Najprej gre za kostum ena in to res ni potrebno, vendar ga imamo, zato, če se odločimo dodati še več, nam ni treba skrbeti, da bo kostume spremenil v nove, ki smo jih dodali. Nato se pokaže. Če se spomnite, smo skrili prvotni sprite, zato bodo skriti tudi kloni, česar nočemo. Nato zaženemo zanko za vedno, ki bo izvajala celoten program, dokler nekdo ne pritisne znaka stop na nič. Za 1 sekundo drsemo v naključni položaj, nato pa preverimo, ali smo na robu, v tem primeru se od njega odbijemo. Nato, če se dotikamo rdeče barve, kloniramo Sprite1 (okuženo/odstranjeno populacijo) in povečamo okuženo spremenljivko za 1, čemur sledi brisanje našega duha.

5. korak: Dokončanje okužene/odstranjene kode

Dokončanje okužene/odstranjene kode
Dokončanje okužene/odstranjene kode

S preklopom na Sprite1 ustvarimo nov seznam, časovnik. Ta seznam bo spremljal, kako dolgo je pika okužena, po določenem času pa odmre ali ozdravi, postane del odstranjene/okrevane populacije in je predstavljena s sivo piko, ki je ni mogoče ponovno okužiti.

Kopirajte zgornjo kodo in pojdimo skozi to. Ko začnemo kot klon, v seznam časovnikov vstavimo skupno število sekund, ki jih program izvaja, in to preverimo, da vidimo, kako dolgo je okužen, in ga ustrezno spremenimo za obnovitev. Seznam časovnikov skrijemo in kostum klonov za vsak slučaj prestavimo v okužen kostum, nato pa pokažemo naš duh. Zdaj izvajamo večno zanko, v kateri se zgodi več stvari: povemo klonu, da vsako sekundo drsi v naključni položaj, preverimo, ali je okužena spremenljivka večja od same populacije, v tem primeru jo nastavimo na populacijo, in končno gremo in preverimo prvo postavko časovnika, da preverimo, ali je minilo več kot 5 sekund, in če drži, kostum preklopimo na obnovljen kostum, da ne moremo okužiti, in nato element izbrišemo iz časovnika.

Priporočena: