Мазмұны:

(Өте қарапайым) ауруларды модельдеу (Скретч көмегімен): 5 қадам
(Өте қарапайым) ауруларды модельдеу (Скретч көмегімен): 5 қадам

Бейне: (Өте қарапайым) ауруларды модельдеу (Скретч көмегімен): 5 қадам

Бейне: (Өте қарапайым) ауруларды модельдеу (Скретч көмегімен): 5 қадам
Бейне: Тұрақты макияж саласында қайда алданып жүрсіз? | Павел Сомов пен Ксения Логвиненко| #pmu подкаст 2024, Қараша
Anonim
(Өте қарапайым) Ауруларды модельдеу (Скретч көмегімен)
(Өте қарапайым) Ауруларды модельдеу (Скретч көмегімен)

Бүгін біз аурудың өршуін модельдейміз, бұл кез келген ауру, міндетті түрде COVID-19 емес. Бұл модельдеу сілтеме болатын 3blue1brown бейнеден шабыттандырылды. Бұл апарып тастау болғандықтан, біз JS немесе Python -мен мүмкіндігінше көп нәрсені жасай алмаймыз, бірақ тырнауды қолданудың артықшылықтары бар, сондықтан, егер сіз JS -пен өршуді қалай модельдеу керектігін білгіңіз келсе, менің Мен мақалада аурудың өршуін модельдеу туралы жаздым. Енді, бастайық!

Ескертпе: жоғарыдағы сурет кванттық9иновация модельдеуінен алынған (Instructables қолданушысы емес), оны сіз мұнда көре аласыз.

Жабдықтар:

Сізге қажет:

  • Скретч шоты (мұнда тіркеле аласыз
  • Апарып тастау туралы негізгі білім (бірақ мен әлі де кодты өтемін)
  • Сіз бағдарламалай алатын компьютер немесе құрылғы
  • Қосымша - 3b1b бейнесін қараңыз, ол сізге біз бағдарламалап отырған нәрсе туралы түсінік береді.

1 -қадам: Негізгі орнату

Негізгі орнату
Негізгі орнату

Алдымен, жоба жасайық, оны қалағаныңызша атаңыз, содан кейін кенепте бар спрайтты жойайық. Мұны спрайттағы қоқыс түймесін басу арқылы жасауға болады. Енді бізде бос кенеп бар, сіз өң түсін қалағаныңызша өзгерте аласыз.

Содан кейін жаңа спрайт жасаңыз және қолданыстағы спрайтты пайдаланудың орнына өзіңіздің бояуыңызды салыңыз. Оны көк нүктеге айналдырыңыз. Бұл спрайт қауымдастықтың сезімтал халқын білдіреді, сонымен қатар бізде қалпына келтірілген/жойылған және жұқтырған популяция болады, онда модельдің атауы SIR (сезімтал, жұқтырған, қалпына келтірілген/жойылған) шыққан. Спрайтқа «жұқтырылмаған» атау беріңіз.

Енді жаңа спрайт жасаңыз (қайтадан) және оны sprite1 деп атаңыз, біз оны өзіміз бояймыз. Оны «Sprite1» деп атаңыз және 2 костюм жасаңыз, олардың біреуі қызыл нүкте, екіншісі сұр нүкте болуы керек. Оларды сәйкесінше костюм1 мен костюм2 жасаңыз. Бұл екеуі жұқтырған (қызыл нүкте) және қалпына келтірілген/жойылған (сұр нүкте) популяцияны білдіреді.

2 -қадам: Халықтың сезімталдығы үшін кодты орнату

Сезімтал халық үшін кодты орнату
Сезімтал халық үшін кодты орнату

Біз қазір сезімтал халық кодын орнаттық. Біз алдымен 2 айнымалы құрамыз: адамдар мен жұқтырғандар. «Адамдар» айнымалысы халықты білдіреді және біздің модельдеуде қанша адам қалайтындығымызға қарай өзгертілуі мүмкін, ал имитация сәйкесінше өзгереді. Біз сондай -ақ жұқтырған айнымалы құрамыз, және бұл ауруға шалдыққан/бар популяцияны білдіреді. Бұл айнымалылардың екеуі де жаһандық айнымалы болуы керек, яғни оларды барлық спрайттарда қолдануға болады.

Содан кейін жоғарыдағы кодты жұқтырылмаған спрайтқа көшіріңіз. Ол не істейтінін қарастырайық. Бағдарлама басталған кезде спрайт жасырылады, сондықтан біз клондардың кодын спрайттың өзіне енгізудің қажеті жоқ, бұл көмектеседі. Содан кейін біз екі айнымалыны (жұқтырғандар мен адамдар) қалағанымызша қоямыз, бұл жағдайда біз жұқтырғандарды 1 -ге, ал адамдарды 100 -ге қоямыз. Бұл дегеніміз - біз жұқтырған бір адамнан және 100 адамнан бастаймыз. жұқтырған адамды қоспағанда. Біз циклды іске қосамыз, бұл адамдар айнымалысы болатын соманы құрайды, бұл жағдайда 100. Біз кездейсоқ позицияға барамыз, содан кейін спрайт клонын жасаймыз. Біз кездейсоқ позицияға барамыз, өйткені осылайша бізде бір бағытта қозғалатын нүкте сызығы болмайды және оның орнына кездейсоқ позицияларда уылдырық шашылады.

3 -қадам: жұқтырылған және жойылған Sprite кодын орнату

Жұқтырылған және жойылған спрайтқа кодты орнату
Жұқтырылған және жойылған спрайтқа кодты орнату

Енді «Sprite1» спрайтына ауысыңыз, содан кейін жоғарыдағы кодты көшіріңіз. Одан өтейік. Бағдарлама басталған кезде спрайт жасырылады, содан кейін вирус жұққан сомаға цикл іске қосылады. Ол кездейсоқ позицияға өтеді және өзінің клонын жасайды.

4 -қадам: Халықтың сезімталдық кодын толтыру

Халықтың сезімталдық кодын толтыру
Халықтың сезімталдық кодын толтыру

Келу керек нәрселерді қарастырайық:

  • Жұқтыру
  • Жылжыту

Жұқтырылмаған спрайтқа ауысыңыз, жоғарыдағы кодты көшіріңіз және оның инфекция мен қозғалуды қалай аяқтағанын қарастырайық. Біріншіден, бұл костюмнің біреуі, және бұл өте қажет емес, бірақ бізде бар, сондықтан егер біз қосымша қосуды шешсек, костюмдерді жаңасына ауыстыру туралы алаңдамаймыз. Әрі қарай, ол өзін көрсетеді. Естеріңізде болса, біз түпнұсқалық спрайтты жасырдық, сондықтан клондар да жасырылады, біз қаламаймыз. Содан кейін біз мәңгілік циклды іске қосамыз, ол біреу тоқтату белгісін басқанға дейін бүкіл бағдарламаны іске қосады. Біз кездейсоқ позицияға 1 секундқа сырғып, содан кейін шетімізде екенімізді тексереміз, бұл жағдайда біз одан секіреміз. Әрі қарай, егер біз қызыл түске тиетін болсақ, онда біз Sprite1 клонын (жұқтырылған/жойылған популяцияны) және жұқтырылған айнымалы мәнді 1 -ге арттырамыз, содан кейін біздің спрайтты жоямыз.

5 -қадам: жұқтырылған/жойылған кодты толтыру

Жұқтырылған/жойылған кодты толтыру
Жұқтырылған/жойылған кодты толтыру

Sprite1 -ге ауыса отырып, біз жаңа тізім, таймер жасаймыз. Бұл тізім нүктенің қанша уақытқа дейін жұқтырылғанын бақылап отырады және белгілі бір уақыт өткеннен кейін ол не өледі, не қалпына келеді, жойылған/қалпына келтірілген популяцияның бір бөлігіне айналады және қайта инфекцияланбайтын сұр нүктемен ұсынылған.

Жоғарыдағы кодты көшіріп алыңыз және оны қарастырайық. Біз клон ретінде бастаған кезде, біз бағдарламаның қанша секунд жұмыс істейтінін таймер тізіміне енгіземіз, және біз оны қанша уақыт жұқтырғанын білу үшін тексереміз және оны қалпына келтіру үшін өзгертеміз. Біз таймер тізімін жасырамыз, содан кейін клон костюмін жұқтырылған костюмге ауыстырамыз, содан кейін біздің спрайтты көрсетеміз. Біз қазір мәңгілік циклды жүргіземіз, онда бірнеше нәрсе болады: клонға әр секунд сайын кездейсоқ позицияға жылжуын айтамыз, жұқтырылған айнымалысы популяциядан үлкен екенін тексереміз, бұл жағдайда біз оны популяцияға орнатамыз және Ақырында, біз барып, таймер тізімінің бірінші тармағын тексеріп, оның 5 секундтан асқанын тексереміз, ал егер рас болса, біз костюмді қалпына келтірілген костюмге ауыстырамыз, сондықтан жұқтыра алмаймыз, содан кейін элементті таймерден өшіреміз.

Ұсынылған: