Innholdsfortegnelse:
- Trinn 1: Grunnleggende oppsett
- Trinn 2: Konfigurere koden for den mottakelige befolkningen
- Trinn 3: Konfigurere koden for den infiserte og fjernede sprite
- Trinn 4: Fullføring av den mottakelige befolkningskoden
- Trinn 5: Fullfør den infiserte/fjernede koden
Video: (Veldig enkel) Sykdomsmodellering (ved bruk av Scratch): 5 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:20
I dag vil vi simulere et sykdomsutbrudd, ettersom det er en hvilken som helst sykdom, ikke nødvendigvis COVID-19. Denne simuleringen ble inspirert av en video av 3blue1brown, som jeg vil koble til. Siden dette er dra og slipp, kan vi ikke gjøre så mye vi kan med JS eller Python, men det er fordeler med å bruke scratch også, så hvis du vil se hvordan du modellerer et utbrudd med JS, kan du se min artikkel som jeg skrev om modellering av sykdomsutbrudd her. La oss begynne!
Merk: Bildet ovenfor er fra en simulering ved quantum9innovation (ikke en Instructables -bruker) som du kan se her.
Rekvisita:
Du vil trenge:
- En skrapekonto (du kan registrere deg her
- Grunnleggende kunnskap om dra og slipp (men jeg skal fortsatt gå gjennom koden)
- En datamaskin eller enhet du kan programmere med (som du sannsynligvis har siden du leser dette)
- Valgfritt - Se 3b1b -videoen, den gir deg en ide om hva vi programmerer.
Trinn 1: Grunnleggende oppsett
La oss først lage et prosjekt, gi det tittelen du vil, og deretter slette den eksisterende spriteen på lerretet. Du kan gjøre dette ved å klikke på papirkurven på sprite. Nå har vi et tomt lerret, og du kan endre bakgrunnsfargen til det du vil.
Deretter lager du en ny sprite, og i stedet for å bruke en eksisterende sprite må du male din egen. Gjør det til en blå prikk. Denne sprite representerer den mottakelige befolkningen i samfunnet, og vi vil også ha en gjenopprettet/fjernet og infisert befolkning, det er her navnet på modellen, SIR (mottagelig, infisert, gjenopprettet/fjernet), kommer fra. Sørg for å gi spriten navnet "uinfisert".
Lag nå en ny sprite (igjen), og gi den tittelen sprite1, som vi også skal male selv. Gi den tittelen "Sprite1" og lag to kostymer, den ene skal være en rød prikk, og den andre en grå prikk. Lag dem henholdsvis kostyme1 og kostyme2. Disse to representerer den infiserte (den røde prikken) og gjenopprettede/fjernede (den grå prikken) populasjonene.
Trinn 2: Konfigurere koden for den mottakelige befolkningen
Vi har nå satt opp den mottakelige befolkningskoden. Vi lager først to variabler: mennesker og infiserte. Variabelen "People" representerer populasjonen og kan endres i henhold til hvor mange mennesker vi vil ha i vår simulering, og simuleringen vil endre seg deretter. Vi lager også en infisert variabel, og dette representerer befolkningen som har/hadde sykdommen. Begge disse variablene bør være globale variabler, noe som betyr at de kan brukes i alle sprites.
Deretter kopierer du koden ovenfor til den uinfiserte sprite. La oss gå gjennom det den gjør. Når programmet starter, er sprite skjult, og dette er slik at vi ikke trenger å sette den samme koden for kloner i selve sprite, noe som hjelper. Deretter setter vi de to variablene (infisert og mennesker) til det vi vil at de skal være, i dette tilfellet setter vi de smittede til 1 og personer til 100. Dette betyr at vi starter med en person som er infisert og 100 totalt mennesker, ikke inkludert den smittede. Vi kjører deretter en sløyfe, som kjøres mengden som personvariabelen er, i dette tilfellet 100. Vi går til en tilfeldig posisjon og lager deretter en klon av sprite. Vi går til en tilfeldig posisjon fordi vi på denne måten ikke har en linje med prikker som beveger seg i en retning, og i stedet gyter i tilfeldige posisjoner.
Trinn 3: Konfigurere koden for den infiserte og fjernede sprite
Nå, bytt til "Sprite1" sprite og kopier deretter koden ovenfor. La oss gå igjennom det. Når programmet starter, er sprite skjult, og deretter kjører en loop for mengden som infiserte er satt til. Den går til en tilfeldig posisjon og skaper en klon av seg selv.
Trinn 4: Fullføring av den mottakelige befolkningskoden
La oss gå gjennom tingene vi må gjøre:
- Infisere
- Bevege seg
Bytt til den uinfiserte sprite, kopier koden ovenfor, og la oss gå gjennom hvordan den fullfører smittingen og bevegelsen. Først går det til kostyme en, og dette er virkelig ikke nødvendig, men vi har det der, så hvis vi bestemmer oss for å legge til flere, trenger vi ikke å bekymre oss for at det endrer kostymer til de nye vi la til. Deretter viser det seg. Hvis du husker, gjemte vi den originale spriten, så klonene blir også skjult, noe vi ikke vil ha. Vi kjører deretter en evig løkke, som vil kjøre hele programmet til noen klikker på stoppskiltet på bunnen. Vi glir til en tilfeldig posisjon i 1 sekund, og kontrollerer deretter om vi er på kanten, i så fall spretter vi av den. Deretter, hvis vi berører fargen rød, kloner vi deretter Sprite1 (den infiserte/fjernede populasjonen) og øker den infiserte variabelen med 1, etterfulgt av å slette vår sprite.
Trinn 5: Fullfør den infiserte/fjernede koden
Ved å bytte til Sprite1 lager vi en ny liste, timer. Denne listen vil holde oversikt over hvor lenge en prikk er infisert, og etter en viss tid dør den eller gjenoppretter, blir en del av den fjernede/gjenopprettede befolkningen og representeres av en grå prikk, som ikke kan infiseres på nytt.
Kopier koden ovenfor, og la oss gå gjennom den. Når vi starter som en klon, setter vi inn det totale antallet sekunder programmet har kjørt i timelisten, og vi sjekker dette for å se hvor lenge det har blitt infisert og endrer det for å bli gjenopprettet tilsvarende. Vi skjuler timerlisten og bytter deretter klonedrakten til det infiserte kostymet for sikkerhets skyld, og viser deretter spriteen vår. Vi kjører nå en evig sløyfe, der flere ting skjer: vi forteller klonen om å glide til en tilfeldig posisjon hvert sekund, sjekke om den infiserte variabelen er større enn populasjonen selv, i så fall setter vi den til populasjonen, og Til slutt går vi og sjekker timerlistens første element for å se om det har gått mer enn 5 sekunder, og hvis det er sant, bytter vi drakten til det gjenopprettede kostymet slik at vi ikke kan smitte, og sletter deretter elementet fra timeren.
Anbefalt:
RC V.E.P. Veldig enkelt fly, bygget ved bruk av isoporbrett: 5 trinn
RC V.E.P. Very Easy Plane, Built Using Polystyrene Pizza Trays: Jeg har deltatt i konkurransen Epilog VIII, hvis du liker dette prosjektet, kan du stemme! Https: //www.instructables.com/contest/epilog8/Etter å ha bygget 9 prototyper av X- 37ABC, uten å kunne designe et flykropp som genererer nok løft, har jeg bestemt meg for
Veldig sterkt sykkellys ved bruk av tilpassede lyspanel -PCB: 8 trinn (med bilder)
Veldig sterkt sykkellys ved bruk av tilpassede PCB -lamper: Hvis du eier en sykkel, vet du hvor ubehagelige hullene kan være på dekkene og kroppen din. Jeg hadde nok av å blåse ut dekkene mine, så jeg bestemte meg for å designe mitt eget LED -panel med den hensikt å bruke det som sykkellys. En som fokuserer på å være E
Veldig sensitiv brannalarmkrets ved bruk av relé: 9 trinn
Veldig sensitiv brannalarmkrets ved bruk av relé: Hei venn, I dag skal jeg lage en krets med brannalarm som er veldig sensitiv.I dag vil jeg lage denne kretsen ved hjelp av relé og transistor BC547. La oss komme i gang
En virkelig enkel/enkel/ikke komplisert måte å få mennesker/mennesker/dyr/roboter til å se ut som om de har en veldig kul/lys varmesyn (farge du velger) ved hjelp av GIMP: 4 trinn
En virkelig enkel/enkel/ikke komplisert måte å få mennesker/mennesker/dyr/roboter til å se ut som om de har en veldig kul/lys varmesyn (farge du velger) Ved å bruke GIMP: Les … tittelen
Veldig enkelt Likevel veldig effektivt prank (Computer Prank): 3 trinn
Veldig enkelt … Likevel veldig effektivt prank (Computer Prank): Denne instruksjonsboken er VELDIG enkel, men VELDIG effektiv! Det som vil skje er: Du skjuler alle ikonene på offerets skrivebord. Offeret vil freak ut når de ser datamaskinen etter at du gjør tullet. Dette kan ikke skade datamaskinen på noen måte i det hele tatt