Բովանդակություն:

(Շատ պարզ) Հիվանդության մոդելավորում (քերծվածք օգտագործելով) ՝ 5 քայլ
(Շատ պարզ) Հիվանդության մոդելավորում (քերծվածք օգտագործելով) ՝ 5 քայլ

Video: (Շատ պարզ) Հիվանդության մոդելավորում (քերծվածք օգտագործելով) ՝ 5 քայլ

Video: (Շատ պարզ) Հիվանդության մոդելավորում (քերծվածք օգտագործելով) ՝ 5 քայլ
Video: Diálogos en Español - C1/C2 - Dialogues in Spanish 2024, Նոյեմբեր
Anonim
(Շատ պարզ) Հիվանդությունների մոդելավորում (քերծվածք օգտագործելով)
(Շատ պարզ) Հիվանդությունների մոդելավորում (քերծվածք օգտագործելով)

Այսօր մենք մոդելավորելու ենք հիվանդության բռնկում, ընդ որում ՝ դա ցանկացած հիվանդություն է, պարտադիր չէ, որ լինի COVID-19: Այս մոդելավորումը ոգեշնչված է 3blue1brown- ի տեսանյութից, որին ես կկապեմ: Քանի որ սա քաշել և թողնելն է, մենք չենք կարող անել այնքան, որքան կարող ենք JS- ի կամ Python- ի հետ, բայց քերծվածք օգտագործելը նաև օգուտներ ունի, ուստի, եթե ցանկանում եք տեսնել, թե ինչպես մոդելավորել բռնկումը JS- ով, կարող եք դիտել իմ հոդված, որը ես գրել եմ մոդելավորման հիվանդության բռնկումների մասին այստեղ: Հիմա, եկեք սկսենք:

Նշում. Վերը պատկերվածը quantum9inovation- ի մոդելավորումից է (ոչ Instructables- ի օգտվող), որը կարող եք դիտել այստեղ:

Պարագաներ:

Ձեզ անհրաժեշտ կլինի.

  • Քերծվածքային հաշիվ (կարող եք գրանցվել այստեղ
  • Քաշելու և թողնելու հիմնական գիտելիքներ (բայց ես դեռ կանցնեմ ծածկագրի միջով)
  • Համակարգիչ կամ սարք, որով կարող եք ծրագրավորել (որը հավանաբար ունեք, քանի որ կարդում եք սա)
  • Լրացուցիչ - Դիտեք 3b1b տեսանյութը, այն ձեզ որոշակի պատկերացում կտա այն մասին, թե ինչ ենք ծրագրավորում:

Քայլ 1: Հիմնական կարգավորում

Հիմնական կարգավորում
Հիմնական կարգավորում

Նախ, եկեք ստեղծենք նախագիծ, վերնագրենք այն, ինչ ուզում եք, այնուհետև ջնջեք կտավի վրա առկա սպրայտը: Դուք կարող եք դա անել ՝ սեղմելով աղբարկղի կոճակը sprite- ում: Այժմ մենք ունենք դատարկ կտավ, և դուք կարող եք ֆոնի գույնը փոխել այն, ինչ ցանկանում եք:

Հաջորդը, ստեղծեք նոր սպրեյտ և գոյություն ունեցող սփրեյթ օգտագործելու փոխարեն ներկեք ձեր սեփականը: Դարձրեք այն կապույտ կետ: Այս սպրայթը ներկայացնում է համայնքի զգայուն բնակչությունը, և մենք կունենանք նաև ապաքինված/հեռացված և վարակված բնակչություն, որտեղից էլ գալիս է մոդելի անունը ՝ SIR (ենթակա, վարակված, վերականգնված/հեռացված): Համոզվեք, որ sprite- ն անվանել «չպահված»:

Այժմ ստեղծեք նոր Sprite (կրկին) և վերնագրեք այն Sprite1, որը մենք ինքներս նույնպես կներկենք: Վերնագրի՛ր «Sprite1» և ստեղծի՛ր 2 տարազ, մեկը պետք է լինի կարմիր կետ, իսկ մյուսը ՝ մոխրագույն: Դարձրեք դրանք համապատասխանաբար ՝ տարազ 1 և զգեստ 2: Այս երկուսը ներկայացնում են վարակված (կարմիր կետ) և վերականգնված/հեռացված (մոխրագույն կետ) պոպուլյացիաները:

Քայլ 2. Կարգավորել ենթակա բնակչության օրենսգիրքը

Կենսունակ բնակչության օրենսգրքի սահմանում
Կենսունակ բնակչության օրենսգրքի սահմանում

Այժմ մենք ստեղծում ենք բնակչության ենթակա ծածկագիրը: Մենք նախ ստեղծում ենք 2 փոփոխական ՝ մարդիկ և վարակվածները: «Մարդիկ» փոփոխականը ներկայացնում է բնակչությունը և կարող է փոխվել ըստ այն բանի, թե քանի մարդ ենք ուզում մեր մոդելավորման մեջ, և սիմուլյացիան համապատասխանաբար կփոխվի: Մենք նաև ստեղծում ենք վարակված փոփոխական, և դա ներկայացնում է այն հիվանդությամբ հիվանդ բնակչությանը: Այս երկու փոփոխականները պետք է լինեն գլոբալ փոփոխականներ, այսինքն ՝ դրանք կարող են օգտագործվել բոլոր բծախնդիրների դեպքում:

Հաջորդը, պատճենեք վերը նշված կոդը չպահված սպրայտի մեջ: Եկեք քայլենք, թե ինչ է դա անում: Երբ ծրագիրը սկսվում է, sprite- ը թաքնված է, և դա այն է, որ մենք ստիպված չլինենք նույն ծածկագիրը ծածկագրերի համար տեղադրել հենց sprite- ի մեջ, ինչը օգնում է: Այնուհետև մենք երկու փոփոխականները (վարակված և մարդիկ) դնում ենք այնպիսին, ինչպիսին մենք ուզում ենք, որ լինեն: Այս դեպքում մենք վարակվածների թիվը սահմանում ենք 1, իսկ մարդիկ ՝ 100: Սա նշանակում է, որ մենք սկսում ենք վարակված մեկ անձից և ընդհանուր 100 մարդուց, ներառյալ վարակված անձը: Այնուհետև մենք գործարկում ենք մի օղակ, որը գործարկում է այն գումարը, որը մարդկանց փոփոխականն է, այս դեպքում `100: Մենք գնում ենք պատահական դիրքի, այնուհետև ստեղծում ենք սպրայտի կլոն: Մենք գնում ենք պատահական դիրքի, քանի որ այս կերպ մենք չունենք մեկ ուղղությամբ շարժվող կետերի գիծ, և փոխարենը ձվադրում ենք պատահական դիրքերում:

Քայլ 3. Կարգավորեք վարակված և հեռացված Sprite- ի ծածկագիրը

Վարակված և հեռացված Sprite- ի համար օրենսգիրք սահմանելը
Վարակված և հեռացված Sprite- ի համար օրենսգիրք սահմանելը

Այժմ անցեք «Sprite1» Sprite- ին և պատճենեք վերևի ծածկագիրը: Եկեք անցնենք դրա միջով: Երբ ծրագիրը սկսվում է, sprite- ը թաքնված է, այնուհետև վարում է օղակ ՝ վարակված գումարի համար: Այն անցնում է պատահական դիրքի և ստեղծում է իր համար կլոն:

Քայլ 4. Լրացնելով զգայուն բնակչության օրենսգիրքը

Լրացնելով զգայուն բնակչության օրենսգիրքը
Լրացնելով զգայուն բնակչության օրենսգիրքը

Եկեք անցնենք այն բաները, որոնք մենք պետք է անենք.

  • Վարակել
  • Տեղափոխել

Անցեք Անպաշտպան սպրայտին, պատճենեք վերևի ծածկագիրը և եկեք անցնենք, թե ինչպես է այն ավարտում վարակվելն ու շարժվելը: Նախ, դա վերաբերում է կոստյումների մեկին, և դա իսկապես անհրաժեշտ չէ, բայց մենք այն ունենք այնտեղ, այնպես որ, եթե որոշենք ավելացնել ավելին, մենք չպետք է անհանգստանանք, որ այն կփոխի մեր ավելացրած տարազները: Հաջորդը, դա իրեն ցույց է տալիս: Եթե հիշում եք, մենք թաքցրինք սկզբնական սպրայտը, ուստի կլոնները նույնպես կթաքցվեն, ինչը մենք չենք ցանկանում: Այնուհետև մենք գործարկում ենք հավերժական հանգույց, որը կաշխատի ամբողջ ծրագիրը մինչև որևէ մեկը կտտացնի կանգառի նշանը զրոյի վրա: Մենք 1 վայրկյան սահում ենք պատահական դիրքի վրա, այնուհետև ստուգում, թե արդյոք մենք եզրին ենք, որի դեպքում մենք ցատկում ենք դրանից: Հաջորդը, եթե շոշափում ենք կարմիր գույնը, ապա մենք կլոնավորում ենք Sprite1- ը (վարակված/հեռացված պոպուլյացիան) և վարակված փոփոխականը մեծացնում ենք 1 -ով, որին հաջորդում է ջնջելը:

Քայլ 5. Վարակված/հեռացված ծածկագրի լրացում

Լրացնելով վարակված/հեռացված ծածկագիրը
Լրացնելով վարակված/հեռացված ծածկագիրը

Անցնելով Sprite1- ին ՝ մենք ստեղծում ենք նոր ցուցակ ՝ ժամաչափ: Այս ցուցակը կպահպանի, թե որքան ժամանակ է կետը վարակվում, և որոշակի ժամանակ անց այն կամ մահանում է, կամ ապաքինվում, դառնում է հեռացված/վերականգնված բնակչության մի մաս և ներկայացված է գորշ կետով, որը չի կարող նորից վարակվել:

Պատճենեք վերևի ծածկագիրը և եկեք անցնենք դրա միջով: Երբ մենք սկսում ենք որպես կլոն, մենք տեղադրում ենք ծրագրի տևած վայրկյանների ընդհանուր քանակը ժամանակաչափի ցուցակում, և մենք դա կստուգենք `տեսնելու համար, թե որքան ժամանակ է վարակվել, և փոխում ենք այն, որպեսզի համապատասխանաբար վերականգնվի: Մենք թաքցնում ենք ժմչփի ցուցակը, այնուհետև կլոնային զգեստը փոխում ենք վարակված տարազի ՝ ամեն դեպքում, այնուհետև ցույց ենք տալիս մեր սպրիտը: Այժմ մենք վարում ենք հավերժական օղակ, որում տեղի են ունենում բազմաթիվ բաներ. Մենք ասում ենք, որ կլոնը վայրկյանում սահում է պատահական դիրքի, ստուգում ենք, արդյոք վարակված փոփոխականն ավելի մեծ է, քան ինքը `բնակչությունը, որի դեպքում մենք այն դնում ենք պոպուլյացիայի վրա, և վերջապես, մենք գնում ենք և ստուգում ենք ժմչփների ցուցակի առաջին տարրը ՝ տեսնելու համար, թե արդյո՞ք դա 5 վայրկյանից ավելի է, և եթե դա ճշմարիտ է, մենք փոխում ենք զգեստը վերականգնված տարազին, որպեսզի չկարողանանք վարակել, այնուհետև այն ջնջում ենք ժամաչափից:

Խորհուրդ ենք տալիս: