Inhaltsverzeichnis:

(sehr einfache) Krankheitsmodellierung (mit Scratch) - Gunook
(sehr einfache) Krankheitsmodellierung (mit Scratch) - Gunook

Video: (sehr einfache) Krankheitsmodellierung (mit Scratch) - Gunook

Video: (sehr einfache) Krankheitsmodellierung (mit Scratch) - Gunook
Video: Corona Special: Scratch Simulation einer Krankheitsausbreitung 2024, Juli
Anonim
(sehr einfache) Krankheitsmodellierung (mit Scratch)
(sehr einfache) Krankheitsmodellierung (mit Scratch)

Heute simulieren wir einen Krankheitsausbruch, wobei es sich um eine beliebige Krankheit handelt, nicht unbedingt um COVID-19. Diese Simulation wurde von einem Video von 3blue1brown inspiriert, das ich verlinken werde. Da es sich um Drag & Drop handelt, können wir nicht so viel wie mit JS oder Python machen, aber die Verwendung von Scratch hat auch Vorteile. Wenn Sie also sehen möchten, wie Sie einen Ausbruch mit JS modellieren, können Sie sich mein Artikel, den ich hier über die Modellierung von Krankheitsausbrüchen geschrieben habe. Jetzt fangen wir an!

Hinweis: Das Bild oben stammt aus einer Simulation von Quantum9innovation (kein Instructables-Benutzer), die Sie hier anzeigen können.

Lieferungen:

Du brauchst:

  • Ein Scratch-Konto (Sie können sich hier anmelden
  • Grundkenntnisse in Drag & Drop (aber ich werde den Code trotzdem durchgehen)
  • Ein Computer oder Gerät, mit dem Sie programmieren können (was Sie wahrscheinlich haben, da Sie dies lesen)
  • Optional - Sehen Sie sich das 3b1b-Video an, es gibt Ihnen eine Vorstellung davon, was wir programmieren.

Schritt 1: Grundkonfiguration

Grundeinstellung
Grundeinstellung

Zuerst erstellen wir ein Projekt, benennen es mit einem beliebigen Namen und löschen dann das vorhandene Sprite auf der Leinwand. Sie können dies tun, indem Sie auf den Papierkorb-Button des Sprites klicken. Jetzt haben wir eine leere Leinwand und Sie können die Hintergrundfarbe beliebig ändern.

Erstellen Sie als Nächstes ein neues Sprite und malen Sie anstelle eines vorhandenen Sprites Ihr eigenes. Machen Sie daraus einen blauen Punkt. Dieses Sprite repräsentiert die anfällige Bevölkerung der Community, und wir haben auch eine wiederhergestellte/entfernte und infizierte Bevölkerung, von der der Name des Modells, SIR (susceptible, infiziert, wiederhergestellt/entfernt), stammt. Stellen Sie sicher, dass Sie das Sprite "nicht infiziert" nennen.

Erstellen Sie nun (wieder) ein neues Sprite und benennen Sie es als Sprite1, das wir auch selbst malen werden. Benennen Sie es mit "Sprite1" und erstellen Sie 2 Kostüme, eines sollte ein roter Punkt und das andere ein grauer Punkt sein. Machen Sie ihnen Costume1 bzw. Costume2. Diese beiden repräsentieren die infizierten (roter Punkt) und wiederhergestellten/entfernten (grauer Punkt) Populationen.

Schritt 2: Einrichten des Codes für die anfällige Bevölkerung

Einrichten des Kodex für die anfällige Bevölkerung
Einrichten des Kodex für die anfällige Bevölkerung

Wir richten jetzt den anfälligen Bevölkerungscode ein. Wir erstellen zunächst 2 Variablen: Personen und Infizierte. Die Variable "Personen" stellt die Bevölkerung dar und kann entsprechend der Anzahl der Personen, die wir in unserer Simulation haben möchten, geändert werden, und die Simulation ändert sich entsprechend. Wir erstellen auch eine infizierte Variable, die die Population darstellt, die die Krankheit hat/hatte. Beide Variablen sollten globale Variablen sein, dh sie können in allen Sprites verwendet werden.

Kopieren Sie als Nächstes den obigen Code in das nicht infizierte Sprite. Lassen Sie uns durchgehen, was es tut. Wenn das Programm startet, ist das Sprite versteckt, und das ist, damit wir nicht den gleichen Code für Klone in das Sprite selbst einfügen müssen, was hilft. Dann setzen wir die beiden Variablen (Infizierte und Personen) auf die gewünschten Werte. In diesem Fall setzen wir Infizierte auf 1 und Personen auf 100. Dies bedeutet, dass wir mit einer infizierten Person und 100 Personen insgesamt beginnen. ohne die infizierte Person. Wir führen dann eine Schleife aus, die den Betrag durchlaufen wird, den die Variable people in diesem Fall 100 beträgt. Wir gehen zu einer zufälligen Position und erstellen dann einen Klon des Sprites. Wir gehen zu einer zufälligen Position, weil wir auf diese Weise keine Reihe von Punkten haben, die sich in eine Richtung bewegt, sondern an zufälligen Positionen erscheinen.

Schritt 3: Einrichten des Codes für das infizierte und entfernte Sprite

Einrichten des Codes für den infizierten und entfernten Sprite
Einrichten des Codes für den infizierten und entfernten Sprite

Wechseln Sie nun zum Sprite "Sprite1" und kopieren Sie den obigen Code. Gehen wir es durch. Wenn das Programm startet, wird das Sprite ausgeblendet und führt dann eine Schleife für die infizierte Menge aus. Es geht an eine zufällige Position und erstellt einen Klon von sich selbst.

Schritt 4: Vervollständigen des Codes für anfällige Bevölkerungsgruppen

Vervollständigen des Codes für anfällige Bevölkerungsgruppen
Vervollständigen des Codes für anfällige Bevölkerungsgruppen

Gehen wir die Dinge durch, die wir tun müssen:

  • Infizieren
  • Bewegung

Wechseln Sie zum nicht infizierten Sprite, kopieren Sie den obigen Code und lassen Sie uns durchgehen, wie es die Infektion und das Verschieben abschließt. Zuerst geht es zu Kostüm eins, und das ist wirklich nicht notwendig, aber wir haben es dort. Wenn wir uns also entscheiden, mehr hinzuzufügen, müssen wir uns keine Sorgen machen, dass wir die Kostüme durch die neuen, die wir hinzugefügt haben, ändern. Als nächstes zeigt es sich. Wenn Sie sich erinnern, haben wir das Original-Sprite versteckt, also werden auch die Klone versteckt, was wir nicht wollen. Wir führen dann eine Endlosschleife aus, die das gesamte Programm ausführt, bis jemand auf das Stoppschild klickt. Wir gleiten 1 Sekunde lang zu einer zufälligen Position und prüfen dann, ob wir am Rand sind, in diesem Fall prallen wir davon ab. Wenn wir als nächstes die Farbe Rot berühren, klonen wir Sprite1 (die infizierte/entfernte Population) und erhöhen die infizierte Variable um 1, gefolgt vom Löschen unseres Sprites.

Schritt 5: Vervollständigen des infizierten/entfernten Codes

Vervollständigen des infizierten/entfernten Codes
Vervollständigen des infizierten/entfernten Codes

Wenn wir zu Sprite1 wechseln, erstellen wir eine neue Liste, Timer. Diese Liste verfolgt, wie lange ein Punkt infiziert ist, und nach einer bestimmten Zeit stirbt er oder erholt sich, wird Teil der entfernten/wiederhergestellten Population und wird durch einen grauen Punkt dargestellt, der nicht erneut infiziert werden kann.

Kopieren Sie den obigen Code und gehen wir ihn durch. Wenn wir als Klon starten, fügen wir die Gesamtanzahl der Sekunden, die das Programm gelaufen ist, in die Timer-Liste ein, und wir überprüfen dies, um zu sehen, wie lange es infiziert ist, und ändern es entsprechend, um es wiederherzustellen. Wir blenden die Timerliste aus und schalten dann das Klonkostüm für alle Fälle auf das infizierte Kostüm um und zeigen dann unser Sprite. Wir führen jetzt eine Endlosschleife durch, in der mehrere Dinge passieren: Wir weisen den Klon an, jede Sekunde an eine zufällige Position zu gleiten, prüfen, ob die infizierte Variable größer ist als die Population selbst, in diesem Fall setzen wir sie auf die Population und Schließlich überprüfen wir das erste Element der Timer-Liste, um zu sehen, ob es mehr als 5 Sekunden vergangen ist, und wenn es wahr ist, schalten wir das Kostüm auf das wiederhergestellte Kostüm um, damit wir es nicht infizieren können, und löschen dann das Element aus dem Timer.

Empfohlen: