Tabla de contenido:

Modelado de enfermedades (muy simple) (usando Scratch): 5 pasos
Modelado de enfermedades (muy simple) (usando Scratch): 5 pasos

Video: Modelado de enfermedades (muy simple) (usando Scratch): 5 pasos

Video: Modelado de enfermedades (muy simple) (usando Scratch): 5 pasos
Video: ⏯ Programando en Scratch 🐱: Cómo simular una epidemia - Parte 1 2024, Noviembre
Anonim
Modelado de enfermedades (muy simple) (usando Scratch)
Modelado de enfermedades (muy simple) (usando Scratch)

Hoy, estaremos simulando un brote de enfermedad, siendo cualquier enfermedad, no necesariamente COVID-19. Esta simulación se inspiró en un video de 3blue1brown, al que vincularé. Dado que esto es arrastrar y soltar, no podemos hacer todo lo que podemos con JS o Python, pero el uso de scratch también tiene beneficios, por lo que, si desea ver cómo modelar un brote con JS, puede ver mi artículo que escribí sobre el modelado de brotes de enfermedades aquí. ¡Ahora, comencemos!

Nota: La imagen de arriba es de una simulación de quantum9innovation (no un usuario de Instructables) que puede ver aquí.

Suministros:

Necesitarás:

  • Una cuenta de Scratch (puede registrarse aquí
  • Conocimientos básicos de arrastrar y soltar (pero seguiré revisando el código)
  • Una computadora o dispositivo con el que pueda programar (que probablemente tenga, ya que está leyendo esto)
  • Opcional: mire el video de 3b1b, le dará una idea de lo que estamos programando.

Paso 1: configuración básica

Configuración básica
Configuración básica

Primero, vamos a crear un proyecto, ponerle el título como quieras y luego eliminar el sprite existente en el lienzo. Puedes hacer esto haciendo clic en el botón de la papelera en el objeto. Ahora tenemos un lienzo en blanco y puedes cambiar el color de fondo a lo que quieras.

A continuación, cree un nuevo objeto y, en lugar de utilizar un objeto existente, pinte el suyo. Conviértelo en un punto azul. Este sprite representa la población susceptible de la comunidad, y también tendremos una población recuperada / eliminada e infectada, que es de donde proviene el nombre del modelo, SIR (susceptible, infectado, recuperado / eliminado). Asegúrate de nombrar el objeto "no infectado".

Ahora, crea un nuevo sprite (de nuevo) y ponle el título sprite1, que también pintaremos nosotros mismos. Ponle el título "Sprite1" y crea 2 disfraces, uno debe ser un punto rojo y el otro un punto gris. Hazlos disfraz1 y disfraz2, respectivamente. Estos dos representan las poblaciones infectadas (el punto rojo) y recuperadas / eliminadas (el punto gris).

Paso 2: Configuración del código para la población susceptible

Establecimiento del código para la población susceptible
Establecimiento del código para la población susceptible

Ahora configuramos el código de población susceptible. Primero creamos 2 variables: personas e infectados. La variable "Personas" representa la población y se puede cambiar según la cantidad de personas que queramos en nuestra simulación, y la simulación cambiará en consecuencia. También creamos una variable infectada, que representa la población que tiene / ha tenido la enfermedad. Ambas variables deben ser variables globales, lo que significa que se pueden usar en todos los sprites.

A continuación, copie el código anterior en el objeto no infectado. Repasemos lo que hace. Cuando se inicia el programa, el sprite está oculto, y esto es para que no tengamos que poner el mismo código para los clones en el propio sprite, lo que ayuda. Luego, establecemos las dos variables (infectados y personas) a lo que queremos que sean, en este caso, establecemos los infectados en 1 y las personas en 100. Esto significa que comenzamos con una persona que está infectada y 100 personas en total, sin incluir a la persona infectada. Luego ejecutamos un ciclo, que se ejecuta la cantidad que la variable personas es, en este caso, 100. Vamos a una posición aleatoria y luego creamos un clon del sprite. Vamos a una posición aleatoria porque de esta manera no tenemos una línea de puntos moviéndose en una dirección, sino que estamos generando en posiciones aleatorias.

Paso 3: Configurar el código para el Sprite infectado y eliminado

Configuración del código para el Sprite infectado y eliminado
Configuración del código para el Sprite infectado y eliminado

Ahora, cambie al sprite "Sprite1" y luego copie el código anterior. Repasemos esto. Cuando se inicia el programa, el sprite se oculta y luego ejecuta un ciclo para la cantidad de infectado que está configurada. Va a una posición aleatoria y crea un clon de sí mismo.

Paso 4: Completar el Código de población susceptible

Cumplimentación del Código de población susceptible
Cumplimentación del Código de población susceptible

Repasemos las cosas que debemos hacer:

  • Infectar
  • Moverse

Cambie al sprite No infectado, copie el código anterior y veamos cómo completa la infección y el movimiento. Primero, va al disfraz uno, y esto realmente no es necesario, pero lo tenemos allí, así que si decidimos agregar más, no tenemos que preocuparnos por cambiar los disfraces por los nuevos que agregamos. A continuación, se muestra. Si recuerdas, ocultamos el sprite original, por lo que los clones también estarán ocultos, lo que no queremos. Luego ejecutamos un ciclo indefinido, que ejecutará todo el programa hasta que alguien haga clic en la señal de alto en cero. Nos deslizamos a una posición aleatoria durante 1 segundo y luego comprobamos si estamos en el borde, en cuyo caso rebotamos. A continuación, si tocamos el color rojo, clonamos Sprite1 (la población infectada / eliminada) y aumentamos la variable infectada en 1, seguido de la eliminación de nuestro sprite.

Paso 5: completar el código infectado / eliminado

Completar el código infectado / eliminado
Completar el código infectado / eliminado

Al cambiar a Sprite1, creamos una nueva lista, temporizador. Esta lista hará un seguimiento de cuánto tiempo está infectado un punto y, después de un cierto período de tiempo, muere o se recupera, pasa a formar parte de la población eliminada / recuperada y está representado por un punto gris, que no se puede volver a infectar.

Copie el código de arriba y veámoslo. Cuando comenzamos como un clon, insertamos la cantidad total de segundos durante los que el programa se ha estado ejecutando en la lista de temporizadores, y lo comprobaremos para ver cuánto tiempo ha estado infectado y lo cambiaremos para que se recupere en consecuencia. Ocultamos la lista del temporizador y luego cambiamos el disfraz de clon al disfraz infectado por si acaso, y luego mostramos nuestro sprite. Ahora ejecutamos un ciclo indefinido, en el que suceden varias cosas: le decimos al clon que se deslice a una posición aleatoria cada segundo, verificamos si la variable infectada es mayor que la población misma, en cuyo caso la configuramos para la población, y finalmente, revisamos el primer elemento de la lista del temporizador para ver si han pasado más de 5 segundos, y si es cierto, cambiamos el disfraz al disfraz recuperado para que no podamos infectar, y luego borramos el elemento del temporizador.

Recomendado: