Мазмуну:
- 1 -кадам: Негизги орнотуу
- 2 -кадам: Сезимтал калк үчүн кодду орнотуу
- 3 -кадам: Жуктурулган жана алынып салынган Sprite үчүн кодду орнотуу
- 4 -кадам: Калктын аялуу кодун толтуруу
- 5 -кадам: Жуккан/Алынган кодду толтуруу
Video: (Өтө жөнөкөй) Ооруларды моделдөө (Scratch менен): 5 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:36
Бүгүн биз оорунун симуляциясын жасайбыз, бул кандайдыр бир оору эмес, сөзсүз түрдө COVID-19. Бул симуляция мен байланыштыра турган 3blue1brown видеосунун жетеги менен жазылган. Бул сүйрөө жана түшүрүү болгондуктан, биз JS же Python менен мүмкүн болушунча көп нерсе кыла албайбыз, бирок чийүүнү колдонуунун да пайдасы бар, андыктан, эгер сиз JS менен эпидемияны кантип моделдөө керек экенин көргүңүз келсе, менин Мен бул жерде оорунун чыгышын моделдөө боюнча жазган макала. Эми, баштайлы!
Эскертүү: Жогорудагы сүрөт бул жерде көрө турган kvant9innovation симуляциясынан (Instructables колдонуучусу эмес).
Берилиштер:
Сага керек болот:
- Scratch Account (бул жерден катталсаңыз болот
- Сүйрөө жана түшүрүү боюнча негизги билимдер (бирок мен дагы эле коддон өтөм)
- Сиз программалай ала турган компьютер же түзмөк (сиз муну окуп жаткандыктан, балким сизде бар)
- Кошумча - 3b1b видеосун көрүңүз, ал сизге эмнени программалап жатканыбызды түшүнүүгө жардам берет.
1 -кадам: Негизги орнотуу
Биринчиден, келгиле, долбоор түзөлү, аны каалаганына ат коюп, анан полотнодогу спрайтты жок кылалы. Сиз муну спрейттеги таштанды баскычын чыкылдатуу менен жасай аласыз. Эми бизде бош полотно бар, сиз фон түсүн каалаган нерсеңизге өзгөртө аласыз.
Андан кийин, жаңы спрайт түзүңүз жана учурдагы спрайтты колдонуунун ордуна, өзүңүздү боёңуз. Аны көк чекитке айлантыңыз. Бул спрайт коомдун сезгич калкын билдирет, ошондой эле бизде калыбына келтирилген/алынып салынган жана жуккан популяция болот, бул жерде SIR (сезгич, жуккан, калыбына келген/алынып салынган) моделинин аты келип чыккан. Спрайтка "жукпаган" деген ат коюуну унутпаңыз.
Эми, жаңы спрайт (кайра) түзүңүз жана аны sprite1 деп атасаңыз, биз аны өзүбүз боёп алабыз. Аны "Sprite1" деп атап, 2 костюм түзүңүз, бири кызыл чекит, экинчиси боз чекит болушу керек. Аларды костюм1 жана костюм2 кылыңыз. Бул экөө жуккан (кызыл чекит) жана калыбына келген/алынып салынган (боз чекит) популяцияны билдирет.
2 -кадам: Сезимтал калк үчүн кодду орнотуу
Биз азыр сезгич калк кодун орноттук. Биз адегенде 2 өзгөрмөнү түзөбүз: адамдар жана жуккан. "Адамдар" өзгөрмөсү калкты билдирет жана биздин симуляциябызда канча адам кааласак өзгөрүшү мүмкүн жана симуляция ошого жараша өзгөрөт. Биз ошондой эле жуккан өзгөрмөнү түзөбүз жана бул ооруга чалдыккан/болгон калкты билдирет. Бул өзгөрмөлөрдүн экөө тең глобалдык өзгөрмөлөр болушу керек, башкача айтканда аларды бардык спрайттарда колдонсо болот.
Андан кийин, жогорудагы кодду жукпаган спрайтка көчүрүңүз. Келгиле, ал эмне кылганын карап көрөлү. Программа башталганда, спрайт жашырылат, ошондуктан биз клон үчүн бир эле кодду спрайттын өзүнө киргизүүнүн кажети жок, бул жардам берет. Андан кийин, биз эки өзгөрмөнү (жуктуруп алгандар жана адамдар) каалаганыбызга койдук, бул учурда биз жуктургандарды 1ге, адамдарды 100гө койдук. Бул биз жуктурган бир адамдан жана 100 адамдан баштайбыз дегенди билдирет. жуккан адамды кошпогондо. Биз андан кийин циклди иштетебиз, бул адамдар өзгөрмөлүү болгон сумма, бул учурда 100. Биз туш келди позицияга барып, анан спрайттын клонун түзөбүз. Биз кокустук позицияга барабыз, анткени мындай жол менен бизде бир багытта кыймылдаган чекиттер жок, тескерисинче туш келди позицияларда уялап жатышат.
3 -кадам: Жуктурулган жана алынып салынган Sprite үчүн кодду орнотуу
Эми, "Sprite1" спрайтына өтүп, андан кийин жогорудагы кодду көчүрүңүз. Келгиле, андан өтөлү. Программа башталганда, спрайт жашырылат, андан кийин вирус жуккан сумма үчүн цикл иштейт. Ал туш келди позицияга барат жана өзүнүн клонун жаратат.
4 -кадам: Калктын аялуу кодун толтуруу
Келгиле, эмне кылышыбыз керек экенин карап көрөлү:
- Жугуштуу
- Кыймыл
Жугуштуу эмес спрайтка өтүңүз, жогорудагы кодду көчүрүп алыңыз жана анын жуктурууну жана жылууну кантип бүтүрөрүн карап көрөлү. Биринчиден, бул бир костюмга кирет, жана бул чынында эле зарыл эмес, бирок бизде бар, андыктан биз дагы кошууну чечсек, костюмдарды биз кошкон жаңыларына алмаштырып алуудан коркпойбуз. Андан кийин, ал өзүн көрсөтөт. Эсиңизде болсо, биз баштапкы спрайтты жашырдык, андыктан клондор да жашырылат, биз каалабайбыз. Биз анда түбөлүк циклди иштетебиз, ал кимдир бирөө тырмоодо токтоо белгисин басмайынча, бүт программаны иштетет. Биз туш келди позицияга 1 секундага жылабыз, анан четте экенибизди текшеребиз, бул учурда биз андан секиребиз. Андан кийин, эгерде биз кызыл түскө тийип жатсак, анда Sprite1 клондоштурабыз (жуккан/алынып салынган калк) жана жуккан өзгөрмөнү 1ге көбөйтөбүз, андан кийин биздин спрайт жок кылынат.
5 -кадам: Жуккан/Алынган кодду толтуруу
Sprite1ге которулуп, биз жаңы тизме түзөбүз, таймер. Бул тизме чекит канча убакытка чейин жуктурулганын көзөмөлдөп турат жана белгилүү бир убакыттан кийин ал өлөт же калыбына келет, алынып салынган/калыбына келтирилген калктын бир бөлүгү болуп калат жана кайра жугуштуу болбогон боз чекит менен көрсөтүлөт.
Жогорудагы кодду көчүрүп көрүңүз. Биз клон катары баштаганда, биз программанын иштеп жаткан секундаларынын жалпы санын таймер тизмесине киргизебиз, жана биз муну текшерип, анын канча убакытка чейин жуккандыгын көрүп, ошого жараша аны калыбына келтирүү үчүн өзгөртөбүз. Биз таймердин тизмесин жашырабыз, андан кийин клон костюмун жуккан костюмга алмаштырабыз, анан биздин спрайтты көрсөтөбүз. Биз азыр түбөлүк циклди иштетебиз, анда бир нече нерселер болот: клонго ар бир секундада туш келди позицияга жылышын айтабыз, жуккан өзгөрмө популяциянын өзүнөн чоң экенин текшеребиз, бул учурда биз аны популяцияга койдук жана Акыры, биз барып, таймер тизмесинин биринчи пунктун текшерип көрөлү, ал 5 секунддан ашык өттүбү же жокпу, чын болсо костюмду калыбына келтирилген костюмга которобуз, ошондуктан биз жуктура албайбыз, андан кийин нерсени таймерден өчүрөбүз.
Сунушталууда:
DIY модулдарын колдонуу менен үйдү автоматташтырууну баштоонун өтө жөнөкөй жолу: 6 кадам
DIY модулдарын колдонуп үйдү автоматташтырууну баштоонун өтө жөнөкөй жолу: Мен үй жардамчысына бир нече DIY сенсорлорун кошууну чечкенде, мен абдан таң калдым. ESPHome колдонуу өтө жөнөкөй жана бул постто биз GPIO пинди кантип башкарууну, ошондой эле температураны & зымсыз нымдуулук маалыматы
КАНТИП Өтө Жөнөкөй DIY стилин жасоо керек: 3 кадам
КАНТИП Өтө ЖӨНӨКӨЙ СТИЛУС КЫЛУУ КЕРЕК: БҮГҮН СИЗ ӨТӨ ӨЗҮҢҮЗДҮ ӨЗҮҢҮЗ ҮЙДӨ СТИЛУС КЫЛУУНУ ҮЙРӨНӨСҮЗ. СТИЛУС ЭМНЕ? ЭКРАНДЫ БИРОК ТУХРАН ТҮЗМӨКТӨР МЕНЕН КОЛДОНУУГА БОЛОТ. ЖАРДАМ МЕНЕН
Штатив үчүн шашылыш жана өтө жөнөкөй уюлдук телефондун кармагычы: 4 кадам (сүрөттөр менен)
Штатив үчүн шашылыш жана өтө жөнөкөй уюлдук телефондун кармагычы: Мен мурда жасаган уюлдук телефондун кармагычын таба алган жокмун жана видео жасагым келген жерге жетүү үчүн бир нече саатым бар болчу, ошондуктан мен муну ойлоп таптым. Материалдар жөнөкөй: металл илгич же бир топ катуу металл зымA 1/4 "-NC 20 гайкасы (о
Өтө жөнөкөй жакындык детектору: 9 кадам
Жакындыктын өтө жөнөкөй детектору: гаджеттер, темир жолчулар, роботтор же мышык-хосттор Sharp IS471 инфракызыл жакындык детекторунун ар тараптуулугун жакшы көрүшөт. Бул транзистордун өлчөмү, 4-16 вольт диапазонунда иштейт жана 4-9 дюйм алыстыктагы объекттерди
Өтө кичинекей робот жасаңыз: Дүйнөнүн эң кичинекей дөңгөлөктүү роботун туткун менен жасаңыз.: 9 кадам (сүрөттөр менен)
Өтө кичинекей роботту куруңуз: Дүйнөнүн эң кичинекей дөңгөлөктүү роботун туткун менен жасаңыз: 1/20 куб дюймдук роботту кичинекей нерселерди алып, жылдыра турган туткасы менен куруңуз. Бул Picaxe микроконтроллери тарабынан башкарылат. Бул учурда, менимче, бул дүйнөдөгү эң кичинекей дөңгөлөктүү робот болушу мүмкүн. Бул шексиз болот