Innehållsförteckning:
- Steg 1: Grundläggande installation
- Steg 2: Konfigurera koden för den mottagliga befolkningen
- Steg 3: Konfigurera koden för den infekterade och borttagna spriten
- Steg 4: Slutföra den mottagliga befolkningskoden
- Steg 5: Slutföra den infekterade/borttagna koden
Video: (Mycket enkel) Sjukdomsmodellering (med Scratch): 5 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:36
Idag simulerar vi ett sjukdomsutbrott, eftersom det är någon sjukdom, inte nödvändigtvis COVID-19. Denna simulering inspirerades av en video av 3blue1brown, som jag länkar till. Eftersom detta är dra och släpp kan vi inte göra så mycket vi kan med JS eller Python, men det finns fördelar med att använda scratch också, så om du vill se hur du modellerar ett utbrott med JS kan du se min artikel som jag skrev om modellering av sjukdomsutbrott här. Nu ska vi börja!
Obs! Bilden ovan är från en simulering genom quantum9innovation (inte en Instructables -användare) som du kan se här.
Tillbehör:
Du kommer att behöva:
- Ett Scratch -konto (du kan registrera dig här
- Grundläggande kunskap om dra och släpp (men jag går fortfarande igenom koden)
- En dator eller enhet du kan programmera med (vilket du förmodligen har, eftersom du läser detta)
- Valfritt - Titta på 3b1b -videon, det ger dig en uppfattning om vad vi programmerar.
Steg 1: Grundläggande installation
Låt oss först skapa ett projekt, namnge det vad du vill och sedan ta bort den befintliga spriten på duken. Du kan göra detta genom att klicka på papperskorgen på sprite. Nu har vi en tom duk, och du kan ändra bakgrundsfärgen till vad du vill.
Skapa sedan en ny sprite, och istället för att använda en befintlig sprite, måla din egen. Gör det till en blå prick. Denna sprite representerar den mottagliga befolkningen i samhället, och vi kommer också att ha en återhämtad/borttagen och infekterad befolkning, det är här namnet på modellen, SIR (mottagligt, infekterat, återhämtat/borttaget), kommer ifrån. Se till att namnge spriten "oinfekterad".
Skapa nu en ny sprite (igen) och benämn den sprite1, som vi också målar själva. Titel "Sprite1" och skapa 2 kostymer, den ena ska vara en röd prick och den andra en grå prick. Gör dem costume1 respektive costume2. Dessa två representerar de infekterade (den röda pricken) och återhämtade/borttagna (den gråa punkten) populationerna.
Steg 2: Konfigurera koden för den mottagliga befolkningen
Vi har nu satt upp den mottagliga befolkningskoden. Vi skapar först två variabler: människor och infekterade. Variabeln "Människor" representerar befolkningen och kan ändras beroende på hur många människor vi vill ha i vår simulering, och simuleringen kommer att förändras därefter. Vi skapar också en infekterad variabel, och detta representerar befolkningen som har/haft sjukdomen. Båda dessa variabler bör vara globala variabler, vilket innebär att de kan användas i alla sprites.
Kopiera sedan koden ovan till den oinfekterade spriten. Låt oss gå igenom vad det gör. När programmet startar är spriten dold, och det är så att vi inte behöver lägga samma kod för kloner i själva spriten, vilket hjälper. Sedan ställer vi in de två variablerna (infekterade och människor) till vad vi vill att de ska vara, i det här fallet sätter vi de infekterade till 1 och personer till 100. Det betyder att vi börjar med en person som är infekterad och 100 totalt personer, inklusive den infekterade personen. Vi kör sedan en loop, som körs det belopp som personvariabeln är, i det här fallet 100. Vi går till en slumpmässig position och skapar sedan en klon av spriten. Vi går till en slumpmässig position eftersom vi på så sätt inte har en rad prickar som rör sig i en riktning och istället gyter i slumpmässiga positioner.
Steg 3: Konfigurera koden för den infekterade och borttagna spriten
Byt nu till spriten "Sprite1" och kopiera sedan koden ovan. Låt oss gå igenom det. När programmet startar är spriten dold och kör sedan en loop för den mängd som infekterats är inställd på. Den går till en slumpmässig position och skapar en klon av sig själv.
Steg 4: Slutföra den mottagliga befolkningskoden
Låt oss gå igenom de saker vi behöver göra:
- Infektera
- Flytta
Byt till den oinfekterade spriten, kopiera koden ovan och låt oss gå igenom hur den slutför infekteringen och rörelsen. Först går det till kostym ett, och det här är verkligen inte nödvändigt, men vi har det där, så om vi bestämmer oss för att lägga till fler behöver vi inte oroa oss för att det ska byta dräkter till de nya vi lade till. Därefter visar det sig. Om du kommer ihåg gömde vi den ursprungliga spriten, så klonerna kommer också att döljas, vilket vi inte vill ha. Vi kör sedan en forever loop, som kommer att köra hela programmet tills någon klickar på stoppskylten från början. Vi glider till en slumpmässig position i 1 sekund och kontrollerar sedan om vi är på kanten, i vilket fall vi studsar av det. Om vi vidrör den röda färgen klonar vi sedan Sprite1 (den infekterade/borttagna populationen) och ökar den infekterade variabeln med 1, följt av att vi tar bort vår sprite.
Steg 5: Slutföra den infekterade/borttagna koden
När vi byter till Sprite1 skapar vi en ny lista, timer. Denna lista kommer att hålla reda på hur länge en prick är infekterad, och efter en viss tid dör den eller återhämtar sig, blir en del av den borttagna/återhämtade befolkningen och representeras av en grå prick som inte kan infekteras igen.
Kopiera koden ovan och låt oss gå igenom den. När vi börjar som en klon sätter vi in det totala antalet sekunder som programmet har körts i timarlistan, och vi kommer att kontrollera detta för att se hur länge det har infekterats och ändra det för att återställas i enlighet med detta. Vi döljer timerlistan och byter sedan klondräkten till den infekterade kostymen för säkerhets skull och visar sedan vår sprite. Vi kör nu en evighetsslinga, där flera saker händer: vi säger till klonen att glida till en slumpmässig position varannan sekund, kontrollera om den infekterade variabeln är större än populationen själv, i så fall sätter vi den till populationen och Slutligen går vi och kontrollerar timerlistans första objekt för att se om det har gått mer än 5 sekunder, och om det är sant byter vi kostym till den återställda kostymen så att vi inte kan infektera och tar sedan bort objektet från timern.
Rekommenderad:
Gör ett spel i anteckningsblock och mycket mycket mer: 10 steg
Att göra ett spel i anteckningsblock och mycket mycket mer: Detta är min första instruerbara. Så om du har några förslag, kommentera. Låt oss komma igång! När vi alla hör ordet anteckningsblock tänker vi på några tråkiga värdelösa applikationer för att anteckna saker. Tja anteckningsblock är mycket mer än det. Vi kan styra vår sida
Nödläge och mycket enkel mobiltelefonhållare för stativ: 4 steg (med bilder)
Nödläge och mycket enkel mobiltelefonhållare för ett stativ: Jag kunde inte hitta mobiltelefonhållaren som jag hade gjort tidigare och hade bara ett par timmar på mig att komma dit jag ville göra en video så jag kom på det här. Materialen är enkla: En metallhängare eller en ganska stel metalltråd A 1/4 "-NC 20 mutter (o
En (mycket) enkel LCD -bakgrundsbelysning: 4 steg (med bilder)
En (mycket) enkel LCD -bakgrundsbelysning: Fixa eventuell trasig LCD -bakgrundsbelysning med en vanlig glödlampa och en död CRT -skärm. Trasiga LCD -skärmar finns i princip i tre kategorier: 1) Sprucken LCD -panel, vilket gör enheten helt värdelös2) Problem med bakgrundsbelysning3) Ström leveransproblem Om det är en
Mycket enkel PWM med 555 Modulera varje sak: 5 steg
Mycket enkel PWM med 555 … Modulera allt: Obs: Alla kan be mig om hjälp. Kommentera inte mig om min stavning och grammatik ……. För att mitt modersmål inte är engelska. OK LETS GO och också plz plz betygsätta min instruerbara brunn Hej alla. Idag
Mycket enkelt Men mycket effektivt bus (Computer Prank): 3 steg
Very Simple … Yet Very Effective Prank (Computer Prank): Denna instruerbara är MYCKET enkel, men ändå MYCKET effektiv! Vad som kommer att hända är: Du gömmer alla ikoner på offrets skrivbord. Offret kommer att bli galen när de ser datorn efter att du gjort upptåg. Detta kan inte skada datorn på något sätt alls