Taula de continguts:

Modelatge de la malaltia (molt senzill) (mitjançant Scratch): 5 passos
Modelatge de la malaltia (molt senzill) (mitjançant Scratch): 5 passos

Vídeo: Modelatge de la malaltia (molt senzill) (mitjançant Scratch): 5 passos

Vídeo: Modelatge de la malaltia (molt senzill) (mitjançant Scratch): 5 passos
Vídeo: PISICI CÂINI PIATA PEȘTILOR și Papagalilor NU Aduce ODESSA 14 februarie TOP 5 câini. 2024, Desembre
Anonim
Modelatge de malalties (molt senzill) (mitjançant Scratch)
Modelatge de malalties (molt senzill) (mitjançant Scratch)

Avui simularem un brot de malaltia, ja que és qualsevol malaltia, no necessàriament COVID-19. Aquesta simulació es va inspirar en un vídeo de 3blue1brown, al qual enllaçaré. Com que es tracta d’arrossegar i deixar anar, no podem fer tot el que puguem amb JS o Python, però també hi ha avantatges en utilitzar scratch, així que, si voleu veure com modelar un brot amb JS, podeu veure el meu article que vaig escriure sobre el modelatge de brots de malaltia aquí. Ara, comencem!

Nota: La imatge superior prové d'una simulació per quantum9innovation (no un usuari d'Instructables) que podeu veure aquí.

Subministraments:

Necessitareu:

  • Un compte Scratch (us podeu inscriure aquí
  • Coneixements bàsics sobre arrossegar i deixar anar (però seguiré revisant el codi)
  • Un ordinador o dispositiu amb el qual podeu programar (que probablement tingueu, ja que esteu llegint això)
  • Opcional: mireu el vídeo 3b1b, us donarà una idea del que programem.

Pas 1: Configuració bàsica

Configuració bàsica
Configuració bàsica

Primer, creem un projecte, titulem-lo com vulgueu i, a continuació, suprimim el sprite existent al llenç. Podeu fer-ho fent clic al botó de la paperera a l’esquí. Ara tenim un llenç en blanc i podeu canviar el color de fons pel que vulgueu.

A continuació, creeu un sprite nou i, en lloc d’utilitzar un sprite existent, pinteu-ne el vostre. Feu-ne un punt blau. Aquest sprite representa la població susceptible de la comunitat i també tindrem una població recuperada / eliminada i infectada, d'on prové el nom del model, SIR (susceptible, infectat, recuperat / eliminat). Assegureu-vos de posar l’esquí “no infectat”.

Ara, creeu un nou sprite (de nou) i el títol sprite1, que també pintarem nosaltres mateixos. Poseu-lo per títol "Sprite1" i creeu 2 vestits, un hauria de ser un punt vermell i l'altre un punt gris. Feu-los vestit1 i vestit2, respectivament. Aquests dos representen les poblacions infectades (el punt vermell) i recuperades / eliminades (el punt gris).

Pas 2: Configuració del codi per a la població susceptible

Configuració del codi per a la població susceptible
Configuració del codi per a la població susceptible

Ara configurem el codi de població susceptible. Primer creem 2 variables: persones i infectats. La variable "Persones" representa la població i es pot canviar segons quantes persones vulguem a la nostra simulació, i la simulació canviarà en conseqüència. També creem una variable infectada, que representa la població que té / tenia la malaltia. Ambdues variables haurien de ser variables globals, és a dir, que es puguin utilitzar en tots els sprites.

A continuació, copieu el codi anterior al sprite no infectat. Caminem pel que fa. Quan s’inicia el programa, el sprite s’amaga, i això és així perquè no hem de posar el mateix codi per als clons al sprite mateix, cosa que ajuda. A continuació, establim les dues variables (infectades i persones) en el que volem que siguin, en aquest cas, posem els infectats en 1 i les persones en 100. Això vol dir que comencem per una persona infectada i 100 persones en total, sense incloure la persona infectada. A continuació, executem un bucle, que correspon a la quantitat que la variable people és, en aquest cas, de 100. Anem a una posició aleatòria i després creem un clon del sprite. Anem a una posició aleatòria perquè d’aquesta manera no tenim una línia de punts que es mouen en una direcció i, en canvi, generem en posicions aleatòries.

Pas 3: Configuració del codi per al Sprite infectat i eliminat

Configuració del codi per al Sprite infectat i eliminat
Configuració del codi per al Sprite infectat i eliminat

Ara, canvieu al sprite "Sprite1" i, a continuació, copieu el codi anterior. Passem-ho bé. Quan s'inicia el programa, el sprite s'amaga i, a continuació, executa un bucle per a la quantitat que s'estableix en infectats. Va a una posició aleatòria i crea un clon de si mateix.

Pas 4: Completar el Codi de població susceptible

Completar el Codi de població susceptible
Completar el Codi de població susceptible

Repassem les coses que hem de fer:

  • Infectar
  • Mou

Canvieu al sprite Uninfected, copieu el codi anterior i anem a veure com completa la infecció i el moviment. En primer lloc, es tracta d’un vestit, i realment no és necessari, però el tenim allà, de manera que, si decidim afegir-ne més, no ens hem de preocupar perquè canviï de vestuari per les noves que hem afegit. A continuació, es mostra a si mateix. Si ho recordeu, vam amagar el sprite original, de manera que també quedaran amagats els clons, cosa que no volem. A continuació, executem un bucle per sempre, que executarà tot el programa fins que algú faci clic al signe d'aturada a zero. Planegem fins a una posició aleatòria durant 1 segon i després comprovem si estem a la vora, en aquest cas rebotem. A continuació, si toquem el color vermell, clonem Sprite1 (la població infectada / eliminada) i augmentem la variable infectada en 1, seguit de la supressió del nostre sprite.

Pas 5: completar el codi infectat / eliminat

Completar el codi infectat / eliminat
Completar el codi infectat / eliminat

Passant a Sprite1, creem una llista nova, un temporitzador. Aquesta llista farà un seguiment del temps que s’infecta un punt i, després d’un cert temps, mor o es recupera, passa a formar part de la població eliminada / recuperada i es representa amb un punt gris que no es pot reinfectar.

Copieu el codi anterior i anem a revisar-lo. Quan comencem com a clon, inserim la quantitat total de segons que ha estat executant el programa a la llista de temporitzadors, i comprovarem això per veure quant temps s’ha infectat i el canviarem per recuperar-lo en conseqüència. Amaguem la llista de temporitzadors i, a continuació, canviem la disfressa de clon per la disfressa infectada per si de cas i després mostrem el nostre sprite. Ara executem un bucle per sempre, en el qual passen diverses coses: li diem al clon que llisqui a una posició aleatòria cada segon, comprovem si la variable infectada és superior a la pròpia població, en aquest cas la definim a la població i finalment, anem a comprovar el primer element de la llista de temporitzadors per veure si han passat més de 5 segons i, si és cert, canviem la disfressa per la disfressa recuperada perquè no puguem infectar-la i, a continuació, suprimim l’element del temporitzador.

Recomanat: