Sadržaj:

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

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

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

Danas ćemo simulirati izbijanje bolesti, pri čemu je to bilo koja bolest, ne nužno COVID-19. Ova simulacija inspirisana je video zapisom 3blue1brown, na koji ću se povezati. Budući da je ovo povlačenje i ispuštanje, 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. Sada, počnimo!

Napomena: Gornja slika je iz simulacije Quantum9innovation (nije korisnik Instructables) koju možete pogledati ovdje.

Potrošni materijal:

Trebat će vam:

  • Scratch račun (možete se registrirati ovdje
  • Osnovno znanje o povlačenju i ispuštanju (ali ipak ću proći kroz kod)
  • Računar ili uređaj s kojim možete programirati (koji vjerovatno imate, budući da ovo čitate)
  • Izborno - pogledajte 3b1b video zapis koji će vam dati neku ideju o tome šta programiramo.

Korak 1: Osnovno postavljanje

Osnovno podešavanje
Osnovno podešavanje

Prvo, kreirajmo projekt, dajte mu naslov kako želite, a zatim izbrišite postojeći sprite na platnu. To možete učiniti klikom na dugme 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 tač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 sprajt "nezaražen".

Sada, stvorite novi sprite (ponovo) i naslovite ga sprite1, koji ćemo i sami oslikati. Naslovite ga "Sprite1" i stvorite 2 kostima, jedan bi trebao biti crvena tačka, a drugi siva tačka. Učinite ih kostimom1 i kostimom2. Ove dvije predstavljaju zaražene (crvena tačka) i oporavljene/uklonjene (sive tačke) populacije.

Korak 2: Postavljanje koda za osjetljivu populaciju

Postavljanje koda za osjetljivu populaciju
Postavljanje koda za osjetljivu populaciju

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

Zatim kopirajte gornji kôd u nezaraženi sprite. Hajde da prođemo kroz ono što radi. Kada se program pokrene, sprite je skriven, i to je tako da ne moramo stavljati isti kod za klonove u sam sprite, što pomaže. Zatim postavljamo dvije varijable (zaražene i osobe) na ono što želimo da budu, u ovom slučaju postavljamo zaražene na 1, a ljude na 100. To znači da počinjemo s jednom zaraženom osobom i 100 ukupno ljudi, 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 slučajni položaj jer na ovaj način nemamo liniju točkica koja se kreće 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. Idemo kroz to. Kada se program pokrene, sprite je skriven, a zatim pokreće petlju za iznos na koji je zaraženo postavljeno. Odlazi u slučajni položaj i stvara klon sebe.

Korak 4: Dovršenje koda o osjetljivom stanovništvu

Popunjavanje koda o osjetljivom stanovništvu
Popunjavanje koda o osjetljivom stanovništvu

Hajdemo proći kroz stvari koje trebamo učiniti:

  • Infect
  • Makni se

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 zaista nije potrebno, ali imamo ga tako da, ako odlučimo dodati još, ne moramo brinuti hoće li kostime promijeniti u nove koje smo dodali. Zatim se pokazuje. Ako se sjećate, sakrili smo originalni sprite, pa će i klonovi biti skriveni, što ne želimo. Zatim pokrećemo zauvijek petlju, koja će izvoditi cijeli program dok netko ne klikne znak stop na ogrebotini. 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 zaraženu varijablu za 1, a zatim brišemo naš sprite.

Korak 5: Dovršite zaraženi/uklonjeni kôd

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

Prelaskom na Sprite1, kreiramo novu listu, mjerač vremena. Ova lista će pratiti koliko je tač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 kod i prođimo kroz njega. Kad počnemo kao klon, u popis vremena odbrojavamo ukupnu količinu sekundi koliko je program radio, a mi ćemo to provjeriti da vidimo koliko je zaražen i promijeniti ga u skladu s tim da se oporavi. Skrivamo listu mjerača vremena, a zatim za svaki slučaj prebacujemo kostim klona u zaraženi kostim, a zatim pokazujemo naš duh. Sada pokrećemo vječnu 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 liste mjerača vremena da provjerimo je li prošlo više od 5 sekundi, a ako je istina, prebacujemo kostim na vraćeni kostim kako ne bismo mogli zaraziti, a zatim brišemo stavku s tajmera.

Preporučuje se: