Sadržaj:

(Vrlo jednostavno) Modeliranje bolesti (pomoću ogrebotina): 5 koraka
(Vrlo jednostavno) Modeliranje bolesti (pomoću ogrebotina): 5 koraka

Video: (Vrlo jednostavno) Modeliranje bolesti (pomoću ogrebotina): 5 koraka

Video: (Vrlo jednostavno) Modeliranje bolesti (pomoću ogrebotina): 5 koraka
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Studeni
Anonim
(Vrlo jednostavno) Modeliranje bolesti (pomoću ogrebotina)
(Vrlo jednostavno) Modeliranje bolesti (pomoću ogrebotina)

Danas ćemo simulirati izbijanje bolesti, pri čemu je to bilo koja bolest, ne nužno COVID-19. Ova simulacija inspirirana je videozapisom 3blue1brown na koji ću se povezati. Budući da se radi o povlačenju i ispuštanju, ne možemo učiniti onoliko koliko možemo s JS -om ili Pythonom, ali postoje i prednosti korištenja grebanja, pa ako želite vidjeti kako modelirati izbijanje s JS -om, možete pogledati moj članak koji sam napisao o modeliranju izbijanja bolesti ovdje. Ajmo sad!

Napomena: Gornja slika je iz simulacije pomoću quantum9innovation (nije korisnik Instructablesa) koju možete vidjeti ovdje.

Pribor:

Trebat će vam:

  • Scratch račun (možete se prijaviti ovdje
  • Osnovno znanje o povlačenju i ispuštanju (ali svejedno ću proći kroz kôd)
  • Računalo ili uređaj s kojim možete programirati (što vjerojatno imate jer ovo čitate)
  • Izborno - pogledajte video 3b1b, dat će vam neku ideju o tome što programiramo.

Korak 1: Osnovno postavljanje

Osnovno postavljanje
Osnovno postavljanje

Prvo, napravimo projekt, naslovimo ga kako god želimo, a zatim izbrišimo postojeći sprite na platnu. To možete učiniti klikom na gumb za smeće na sprajtu. Sada imamo prazno platno i možete promijeniti boju pozadine na što god želite.

Zatim stvorite novi sprite i umjesto da koristite postojeći sprite, obojite svoj. Neka to bude plava točka. Ovaj sprite predstavlja osjetljivu populaciju zajednice, a imat ćemo i oporavljenu/uklonjenu i zaraženu populaciju, odakle dolazi naziv modela, SIR (osjetljiv, zaražen, oporavljen/uklonjen). Imenujte sprite "nezaražen".

Sada, stvorite novi sprite (opet) i naslovite ga sprite1, koji ćemo i sami oslikati. Naslovite ga "Sprite1" i stvorite 2 kostima, jedan bi trebao biti crvena točka, a drugi siva točka. Učinite ih costume1, odnosno costume2. Ove dvije predstavljaju zaraženu (crvenu točku) i oporavljenu/uklonjenu (siva točka) populaciju.

Korak 2: Postavljanje koda za osjetljivo stanovništvo

Postavljanje koda za osjetljivo stanovništvo
Postavljanje koda za osjetljivo stanovništvo

Sada smo postavili kôd osjetljive populacije. Prvo stvaramo dvije varijable: ljude i zaražene. Varijabla "Ljudi" predstavlja populaciju i može se promijeniti ovisno o tome koliko ljudi želimo u našoj simulaciji, a simulacija će se prema tome promijeniti. Također stvaramo zaraženu varijablu, a ona predstavlja populaciju koja je imala/imala bolest. Obje ove varijable trebale bi biti globalne varijable, što znači da se mogu koristiti u svim spritovima.

Zatim kopirajte gornji kôd u nezaraženi sprite. Prođimo kroz ono što radi. Kada se program pokrene, sprite je skriven, a to je tako da ne moramo stavljati isti kod za klonove u sam sprite, što pomaže. Zatim smo dvije varijable (zaražene i osobe) postavili na ono što želimo da budu, u ovom slučaju postavili smo zaražene na 1, a ljude na 100. To znači da počinjemo s jednom zaraženom osobom i 100 ukupno osoba, ne uključujući zaraženu osobu. Zatim pokrećemo petlju, koja pokreće iznos koji je varijabla people u ovom slučaju 100. Idemo na slučajni položaj, a zatim stvaramo klon sprite. Idemo na nasumični položaj jer na ovaj način nemamo liniju točaka koje se kreću u jednom smjeru, već se mrijeste u nasumičnim pozicijama.

Korak 3: Postavljanje koda za zaraženog i uklonjenog sprajta

Postavljanje koda za zaraženog i uklonjenog sprajta
Postavljanje koda za zaraženog i uklonjenog sprajta

Sada se prebacite na sprite "Sprite1", a zatim kopirajte gornji kod. Prođimo kroz to. Kad se program pokrene, sprite je skriven, a zatim pokreće petlju za iznos koji je zaražen postavljen na. Odlazi u slučajni položaj i stvara klon sebe.

Korak 4: Dopuna koda osjetljivog stanovništva

Dopunjavanje koda osjetljivog stanovništva
Dopunjavanje koda osjetljivog stanovništva

Idemo kroz stvari koje moramo učiniti:

  • Zaraziti
  • Potez

Prebacite se na nezaraženi sprite, kopirajte gornji kôd i provjerimo kako dovršava infekciju i kretanje. Prvo, ide u kostim jedan, a to doista nije potrebno, ali imamo ga pa ako odlučimo dodati još, ne moramo se brinuti hoće li kostime promijeniti u nove koje smo dodali. Zatim se pokazuje. Ako se sjećate, sakrili smo izvorni sprite, pa će i klonovi biti skriveni, što ne želimo. Zatim pokrećemo zauvijek petlju koja će izvoditi cijeli program sve dok netko ne klikne znak stop. Klizimo u slučajni položaj 1 sekundu, a zatim provjeravamo jesmo li na rubu, u tom slučaju odskačemo od nje. Zatim, ako dodirujemo crvenu boju, tada kloniramo Sprite1 (zaraženu/uklonjenu populaciju) i povećamo inficiranu varijablu za 1, a zatim brišemo naš sprite.

Korak 5: Dovršenje zaraženog/uklonjenog koda

Dovršavanje zaraženog/uklonjenog koda
Dovršavanje zaraženog/uklonjenog koda

Prelaskom na Sprite1, stvaramo novi popis, mjerač vremena. Ovaj će popis pratiti koliko je točka zaražena, a nakon određenog vremena ili umire ili se oporavlja, postaje dio uklonjene/oporavljene populacije i predstavljena je sivom točkom koja se ne može ponovno zaraziti.

Kopirajte gornji kôd i prođimo kroz njega. Kad počnemo kao klon, u popis mjerača unosimo ukupnu količinu sekundi koliko je program radio, a to ćemo provjeriti da vidimo koliko je dugo zaražen i prema tome ga promijeniti. Skrivamo popis odbrojavanja, a zatim za svaki slučaj prebacujemo kostim klona u zaraženi kostim, a zatim pokazujemo naš duh. Sada pokrećemo zauvijek petlju u kojoj se događa više stvari: govorimo klonu da klizi u slučajni položaj svake sekunde, provjeravamo je li zaražena varijabla veća od same populacije, u tom slučaju postavljamo je na populaciju, i na kraju, idemo provjeriti prvu stavku popisa timera da provjerimo je li prošlo više od 5 sekundi, a ako je istina, prebacimo kostim u obnovljeni kostim kako se ne bismo mogli zaraziti, a zatim izbrišemo stavku s mjerača vremena.

Preporučeni: