Съдържание:

(Много просто) Моделиране на болести (с помощта на Scratch): 5 стъпки
(Много просто) Моделиране на болести (с помощта на Scratch): 5 стъпки

Видео: (Много просто) Моделиране на болести (с помощта на Scratch): 5 стъпки

Видео: (Много просто) Моделиране на болести (с помощта на Scratch): 5 стъпки
Видео: Лучшие страшные видео 2023 года [Mega Scary Comp. V2] 2024, Юли
Anonim
(Много просто) Моделиране на болести (с помощта на Scratch)
(Много просто) Моделиране на болести (с помощта на Scratch)

Днес ще симулираме огнище на болест, като това е всяка болест, а не непременно COVID-19. Тази симулация е вдъхновена от видеоклип от 3blue1brown, към който ще дам линк. Тъй като това е плъзгане и пускане, не можем да направим колкото можем с JS или Python, но има и ползи от използването на скреч, така че, ако искате да видите как да моделирате огнище с JS, можете да видите моя статия, която написах за моделиране на огнища на болести тук. Сега, нека започнем!

Забележка: Изображението по -горе е от симулация от quantum9innovation (не е потребител на Instructables), която можете да видите тук.

Консумативи:

Ще имаш нужда:

  • Скреч акаунт (можете да се регистрирате тук
  • Основни познания за плъзгане и пускане (но все пак ще разгледам кода)
  • Компютър или устройство, с което можете да програмирате (което вероятно имате, тъй като четете това)
  • По избор - Гледайте видеото 3b1b, то ще ви даде представа какво програмираме.

Стъпка 1: Основна настройка

Основна настройка
Основна настройка

Първо, нека да създадем проект, да го озаглавим както искате и след това да изтрием съществуващия спрайт върху платното. Можете да направите това, като щракнете върху бутона за кошче върху спрайта. Сега имаме празно платно и можете да промените цвета на фона на каквото искате.

След това създайте нов спрайт и вместо да използвате съществуващ спрайт, нарисувайте свой собствен. Направете го синя точка. Този спрайт представлява възприемчивата популация на общността и също така ще имаме възстановена/премахната и заразена популация, откъдето идва и името на модела, SIR (податлив, заразен, възстановен/премахнат). Не забравяйте да дадете име на спрайта „незаразен“.

Сега създайте нов спрайт (отново) и го озаглавете sprite1, който също ще нарисуваме сами. Заглави го „Sprite1“и създай 2 костюма, единият трябва да е червена точка, а другият сива точка. Направете ги съответно костюм1 и костюм2. Тези две представляват заразените (червената точка) и възстановените/премахнати (сивата точка) популации.

Стъпка 2: Създаване на кода за податливото население

Създаване на кода за податливото население
Създаване на кода за податливото население

Сега създадохме кода на възприемчивата популация. Първо създаваме 2 променливи: хора и заразени. Променливата "Хора" представлява популацията и може да бъде променена според това колко хора искаме в нашата симулация, и симулацията ще се промени съответно. Ние също създаваме инфектирана променлива и това представлява популацията, която е имала/имала болестта. И двете променливи трябва да бъдат глобални, което означава, че могат да се използват във всички спрайтове.

След това копирайте горния код в незаразения спрайт. Нека преминем през това, което прави. Когато програмата стартира, спрайтът е скрит и това е така, че не е нужно да поставяме същия код за клонинги в самия спрайт, което помага. След това задаваме двете променливи (заразени и хора) на това, което искаме да бъдат, в този случай поставяме заразените на 1, а хората на 100. Това означава, че започваме с един заразен човек и общо 100 души, без да включва заразеното лице. След това изпълняваме цикъл, който се изпълнява, като в този случай променливата people е 100. Отиваме на произволна позиция и след това създаваме клонинг на спрайта. Отиваме на произволна позиция, защото по този начин нямаме линия от точки, движещи се в една посока, и вместо това се хвърлят хайвера в произволни позиции.

Стъпка 3: Настройване на кода за заразения и премахнат спрайт

Настройване на кода за заразения и премахнат спрайт
Настройване на кода за заразения и премахнат спрайт

Сега преминете към спрайта "Sprite1" и след това копирайте кода по -горе. Нека преминем през него. Когато програмата стартира, спрайтът е скрит и след това изпълнява цикъл за сумата, която заразеното е настроено на. Той отива в произволна позиция и създава свой клонинг.

Стъпка 4: Попълване на кода за приемливо население

Попълване на кода за податливото население
Попълване на кода за податливото население

Нека преминем през нещата, които трябва да направим:

  • Инфекциозен
  • Ход

Преминете към незаразения спрайт, копирайте кода по -горе и нека разгледаме как завършва заразяването и преместването. Първо, това отива на костюм едно и това наистина не е необходимо, но го имаме, така че ако решим да добавим още, не е нужно да се притесняваме, че ще промени костюмите с новите, които добавихме. След това се показва. Ако си спомняте, ние скрихме оригиналния спрайт, така че клонингите също ще бъдат скрити, което не искаме. След това изпълняваме цикъл завинаги, който ще изпълнява цялата програма, докато някой не натисне знака стоп при нулата. Плъзгаме се в произволна позиция за 1 секунда и след това проверяваме дали сме на ръба, в този случай отскачаме от него. След това, ако докосваме червения цвят, след това клонираме Sprite1 (заразената/премахната популация) и увеличаваме заразената променлива с 1, последвано от изтриване на нашия спрайт.

Стъпка 5: Попълване на заразения/премахнат код

Попълване на заразения/премахнат код
Попълване на заразения/премахнат код

Преминавайки към Sprite1, създаваме нов списък, таймер. Този списък ще следи колко дълго една точка е заразена и след определено време тя или умира, или се възстановява, става част от премахната/възстановена популация и е представена със сива точка, която не може да бъде заразена отново.

Копирайте горния код и нека преминем през него. Когато стартираме като клонинг, ние вмъкваме общия брой секунди, през които програмата работи, в списъка с таймери и ще проверим това, за да видим колко време е заразен и ще го променим, за да бъде възстановен съответно. Скриваме списъка с таймери и след това превключваме костюма на клониране към заразения костюм за всеки случай и след това показваме нашия спрайт. Сега изпълняваме цикъл завинаги, в който се случват множество неща: казваме на клонинга да се плъзга до произволна позиция на всяка секунда, проверяваме дали заразената променлива е по -голяма от самата популация, като в този случай я задаваме за популацията, и накрая отиваме и проверяваме първия елемент от списъка на таймера, за да видим дали е минало повече от 5 секунди, и ако е вярно, превключваме костюма към възстановения костюм, за да не можем да заразим, и след това изтриваме елемента от таймера.

Препоръчано: