Satura rādītājs:

(Ļoti vienkārša) Slimību modelēšana (izmantojot Scratch): 5 soļi
(Ļoti vienkārša) Slimību modelēšana (izmantojot Scratch): 5 soļi

Video: (Ļoti vienkārša) Slimību modelēšana (izmantojot Scratch): 5 soļi

Video: (Ļoti vienkārša) Slimību modelēšana (izmantojot Scratch): 5 soļi
Video: ZEITGEIST: MOVING FORWARD | OFFICIAL RELEASE | 2011 2024, Novembris
Anonim
(Ļoti vienkārša) Slimību modelēšana (izmantojot Scratch)
(Ļoti vienkārša) Slimību modelēšana (izmantojot Scratch)

Šodien mēs imitēsim slimības uzliesmojumu, un tā ir jebkura slimība, ne vienmēr COVID-19. Šo simulāciju iedvesmoja 3blue1brown video, uz kuru es ievietošu saiti. Tā kā tas ir vilkšana un nomešana, mēs nevaram paveikt tik daudz, cik varam, izmantojot JS vai Python, taču arī nulles izmantošanai ir priekšrocības, tādēļ, ja vēlaties redzēt, kā modelēt uzliesmojumu ar JS, varat apskatīt manu rakstu, ko es uzrakstīju par slimību uzliesmojumu modelēšanu šeit. Tagad sāksim!

Piezīme. Augšējais attēls ir no quantum9innovation simulācijas (nevis Instructables lietotājs), kuru varat skatīt šeit.

Piegādes:

Jums būs nepieciešams:

  • Scratch konts (jūs varat reģistrēties šeit
  • Pamatzināšanas par vilkšanu un nomešanu (bet es tomēr izskatīšu kodu)
  • Dators vai ierīce, ar kuru varat programmēt (kas jums, iespējams, ir, jo lasāt šo)
  • Pēc izvēles - noskatieties 3b1b video, tas sniegs jums priekšstatu par to, ko mēs programmējam.

1. darbība: pamata iestatīšana

Pamata iestatīšana
Pamata iestatīšana

Vispirms izveidosim projektu, nosauksim to, kā vien vēlaties, un pēc tam izdzēsiet uz audekla esošo spritu. To var izdarīt, sprite noklikšķinot uz miskastes pogas. Tagad mums ir tukšs audekls, un jūs varat mainīt fona krāsu uz visu, ko vēlaties.

Pēc tam izveidojiet jaunu sprite un tā vietā, lai izmantotu esošo sprite, krāsojiet savu. Padariet to par zilu punktu. Šis sprīts pārstāv kopienas uzņēmīgo populāciju, un mums būs arī atveseļota/izņemta un inficēta populācija, no kurienes nāk modeļa nosaukums SIR (uzņēmīgs, inficēts, atveseļots/noņemts). Noteikti nosauciet sprītu par “neinficētu”.

Tagad izveidojiet jaunu sprite (atkal) un piešķiriet tam sprite1 nosaukumu, kuru mēs arī krāsosim paši. Nosauciet to par "Sprite1" un izveidojiet 2 tērpus, vienam jābūt sarkanam, bet otram - pelēkam. Padariet tos attiecīgi par kostīmu1 un kostīmu2. Šie divi attēlo inficētās (sarkanais punkts) un atgūtās/noņemtās (pelēkais punkts) populācijas.

2. darbība. Koda iestatīšana uzņēmīgajai populācijai

Koda iestatīšana uzņēmīgajai populācijai
Koda iestatīšana uzņēmīgajai populācijai

Tagad mēs izveidojām uzņēmīgo iedzīvotāju kodu. Vispirms mēs izveidojam 2 mainīgos: cilvēkus un inficētos. Mainīgais "Cilvēki" attēlo iedzīvotāju skaitu, un to var mainīt atkarībā no tā, cik cilvēku mēs vēlamies mūsu simulācijā, un simulācija attiecīgi mainīsies. Mēs arī izveidojam inficētu mainīgo, un tas atspoguļo populāciju, kurai ir/bija slimība. Abiem šiem mainīgajiem jābūt globāliem mainīgajiem, kas nozīmē, ka tos var izmantot visos sprotos.

Pēc tam nokopējiet iepriekš minēto kodu neinficētā sprītā. Apskatīsim, ko tā dara. Kad programma sākas, sprite tiek paslēpta, un tas nozīmē, ka mums nav jāievieto tas pats kods kloniem pašā sprītā, kas palīdz. Pēc tam mēs iestatām abus mainīgos lielumus (inficētos un cilvēkus) tādus, kādus mēs vēlamies. Šajā gadījumā mēs nosakām inficētos 1, bet cilvēkus - 100. Tas nozīmē, ka mēs sākam ar vienu inficētu personu un 100 cilvēkiem, neieskaitot inficēto personu. Pēc tam mēs palaižam cilpu, kurā tiek palaista summa, kas mainīgajam cilvēkam ir šajā gadījumā 100. Mēs ejam nejaušā pozīcijā un pēc tam izveidojam sprite klonu. Mēs ejam uz nejaušu pozīciju, jo tādā veidā mums nav punktu līnijas, kas virzās vienā virzienā, un tā vietā mēs nārstojam nejaušās pozīcijās.

3. darbība: inficētā un noņemtā Sprite koda iestatīšana

Inficētā un noņemtā Sprite koda iestatīšana
Inficētā un noņemtā Sprite koda iestatīšana

Tagad pārslēdzieties uz sprite "Sprite1" un pēc tam nokopējiet iepriekš minēto kodu. Ejam tam cauri. Kad programma tiek palaista, sprite tiek paslēpta un pēc tam palaiž cilpu inficētajai summai. Tas nonāk nejaušā pozīcijā un izveido pats klonu.

4. darbība: aizpildiet uzņēmīgo iedzīvotāju kodu

Aizņemto iedzīvotāju populācijas koda aizpildīšana
Aizņemto iedzīvotāju populācijas koda aizpildīšana

Apskatīsim lietas, kas mums jādara:

  • Inficēties
  • Pārvietot

Pārslēdzieties uz neinficētu sprite, nokopējiet iepriekš minēto kodu un apskatīsim, kā tas pabeidz inficēšanu un pārvietošanu. Pirmkārt, tas attiecas uz vienu kostīmu, un tas tiešām nav nepieciešams, taču mums tas ir pieejams, tādēļ, ja mēs nolemjam pievienot vairāk, mums nav jāuztraucas par to, ka tas mainīs kostīmus uz jaunajiem, kurus mēs pievienojām. Tālāk tas parāda sevi. Ja atceraties, mēs slēpām sākotnējo sprītu, tāpēc arī kloni tiks paslēpti, ko mēs nevēlamies. Pēc tam mēs palaižam mūžīgo cilpu, kas darbinās visu programmu, līdz kāds noklikšķinās uz stop zīmes. Mēs slīdam nejaušā pozīcijā 1 sekundi un pēc tam pārbaudām, vai esam uz malas, un tādā gadījumā mēs to atlecam. Tālāk, ja mēs pieskaramies sarkanai krāsai, mēs klonējam Sprite1 (inficēto/noņemto populāciju) un palielinām inficēto mainīgo par 1, kam seko mūsu sprite.

5. darbība: inficētā/noņemtā koda aizpildīšana

Inficētā/noņemtā koda aizpildīšana
Inficētā/noņemtā koda aizpildīšana

Pārejot uz Sprite1, mēs izveidojam jaunu sarakstu, taimeri. Šajā sarakstā tiks izsekots, cik ilgi punkts ir inficēts, un pēc noteikta laika tas vai nu nomirst, vai atjaunojas, kļūst par daļu no izņemtajām/atgūtajām populācijām, un to attēlo pelēks punkts, kuru nevar atkārtoti inficēt.

Kopējiet iepriekš minēto kodu un apskatīsim to. Kad mēs sākam darboties kā klons, taimera sarakstā ievietojam kopējo programmas darbības laiku, un programma to pārbauda, lai redzētu, cik ilgi tā ir inficēta, un attiecīgi mainīsim to, lai tā tiktu atjaunota. Mēs slēpjam taimeru sarakstu un pēc tam katram gadījumam pārslēdzam klona kostīmu uz inficēto kostīmu, un pēc tam parādām mūsu spritu. Tagad mēs vadām mūžīgo cilpu, kurā notiek vairākas lietas: mēs liekam klonam katru sekundi slīdēt nejaušā pozīcijā, pārbaudīt, vai inficētais mainīgais ir lielāks par pašu populāciju, un tādā gadījumā mēs to iestatām uz populāciju, un visbeidzot, mēs ejam un pārbaudām taimera saraksta pirmo vienumu, lai redzētu, vai ir pagājušas vairāk nekā 5 sekundes, un, ja tā ir taisnība, mēs pārslēdzam kostīmu uz atgūto kostīmu, lai mēs nevarētu inficēties, un pēc tam izdzēšam priekšmetu no taimera.

Ieteicams: