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

Արեգակնային համակարգի մոդելավորում. 4 քայլ
Արեգակնային համակարգի մոդելավորում. 4 քայլ

Video: Արեգակնային համակարգի մոդելավորում. 4 քայլ

Video: Արեգակնային համակարգի մոդելավորում. 4 քայլ
Video: Հաղորդակցման մոդելները - ԱՆՆԱ ԱԼԵՔՍԱՆՅԱՆ — 4 2024, Հուլիսի
Anonim

Այս նախագծի համար ես նպատակ ունեի ստեղծել մոդելավորում, թե ինչպես է գրավիտացիան ազդում արեգակնային համակարգում մոլորակային մարմինների շարժման վրա: Վերևում տեսանյութում \, Արևի մարմինը ներկայացված է մետաղական ցանցի գնդով, և մոլորակները պատահականորեն են գեներացվում:

Մոլորակների շարժումը հիմնված է իրական ֆիզիկայի ՝ Համընդհանուր ձգողության օրենքի վրա: Այս օրենքը սահմանում է այլ զանգվածով զանգվածի վրա գործադրվող գրավիտացիոն ուժը. այս դեպքում Արեգակը բոլոր մոլորակներում, և մոլորակները ՝ միմյանց վրա:

Այս նախագծի համար ես օգտագործեցի Processing ՝ java ծրագրավորման միջավայր: Ես նաև օգտագործեցի Մշակման օրինակ ֆայլը, որը նմանակում է մոլորակների ծանրությունը: Դրա համար ձեզ հարկավոր է միայն Processing ծրագիրը և համակարգիչը:

Քայլ 1: 2 ծավալային մոդելավորում

Ես սկսեցի դիտելով որոշ տեսանյութեր, թե ինչպես կարելի է կոդավորել այն, ինչ ստեղծել է Դեն Շիֆմանը իր YouTube ալիքում ՝ Կոդավորման գնացք (մաս 1/3): Այս պահին ես մտածեցի, որ ես ռեկուրսիան կօգտագործեմ Արեգակնային համակարգ ստեղծելու համար, ինչպես Շիֆմանը անում է միայն ֆիզիկայի օրենքները օգտագործելով:

Ես ստեղծեցի մի մոլորակային օբյեկտ, որն ուներ «մանկական մոլորակներ», որոնք իրենց հերթին ունեին նաև «մանկական» մոլորակներ: 2D մոդելավորման ծածկագիրը չի ավարտվել, քանի որ ես չունեի յուրաքանչյուր մոլորակի գրավիտացիոն ուժերը մոդելավորելու հիանալի միջոց: Ես շրջվեցի այս մտածելակերպից ՝ մի ուղղությամբ, որը հիմնված է գրավիտացիոն գրավչության ներկառուցված մշակման օրինակի վրա: Խնդիրն այն էր, որ ես պետք է հաշվարկեի գրավիտացիոն ուժը յուրաքանչյուր մոլորակի մյուս բոլոր մոլորակներից, բայց չէի կարող մտածել, թե ինչպես հեշտությամբ քաշել առանձին մոլորակի տեղեկատվությունը: Տեսնելով, թե ինչպես է դա անում Processing ձեռնարկը, ես հասկացա, թե ինչպես դա անել, փոխարենը օգտագործելով loops և զանգվածներ

Քայլ 2: Այն հասցնել 3 չափսերի

Օգտագործելով մոլորակային գրավչության օրինակելի կոդը, որը գալիս է մշակման հետ, ես սկսեցի նոր ծրագիր 3D մոդելավորման համար: Հիմնական տարբերությունը «Մոլորակ» դասի մեջ է, որտեղ ես ավելացրել եմ ներգրավման գործառույթը, որը հաշվարկում է գրավիտացիոն ուժը երկու մոլորակների միջև: Սա թույլ տվեց մոդելավորել, թե ինչպես են աշխատում մեր արեգակնային համակարգերը, որտեղ մոլորակները գրավում են ոչ միայն արևը, այլև յուրաքանչյուր այլ մոլորակ:

Յուրաքանչյուր մոլորակ ունի պատահական հատկություններ, ինչպիսիք են զանգվածը, շառավիղը, ուղեծրի սկզբնական արագությունը և այլն: Մոլորակները ամուր ոլորտներ են, իսկ Արևը ՝ մետաղալար ցանց: Բացի այդ, տեսախցիկի տեղադրությունը պտտվում է պատուհանի կենտրոնի շուրջը:

Քայլ 3: Իրական մոլորակների օգտագործումը

Image
Image

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

Քայլ 4: Վերջնական մտքեր և մեկնաբանություններ

Եթե ես շարունակեի աշխատել այս սիմուլյացիայի վրա, ես կբարելավեի/կբարելավեի մի քանի բան.

1. Սկզբում ես ամեն ինչ կդարձնեի միատեսակ ՝ օգտագործելով նույն մասշտաբի գործոնը: Հետո ուղեծրերի տեսանելիությունը բարելավելու համար ես հետք կավելացնեի յուրաքանչյուր մոլորակի հետևում ՝ տեսնելու, թե ինչպես է յուրաքանչյուր հեղափոխություն համեմատվում նախորդի հետ:

2. Տեսախցիկը ինտերակտիվ չէ, ինչը նշանակում է, որ ուղեծրերի մի մասը էկրանից դուրս է, «անձի հետևում» դիտում: Գոյություն ունի Peazy Cam կոչվող 3D ֆոտոխցիկի գրադարան, որն օգտագործվում է այս թեմայով Coding Train- ի տեսաշարերի 2 -րդ մասում: Այս գրադարանը հնարավորություն է տալիս դիտողին պտտել, շրջել և խոշորացնել տեսախցիկը, որպեսզի նրանք կարողանան հետևել մոլորակի ամբողջ ուղեծրին:

3. Վերջապես, մոլորակները ներկայումս միմյանցից չեն տարբերվում: Ես կցանկանայի «երեսվածքներ» ավելացնել յուրաքանչյուր մոլորակի և Արևի վրա, որպեսզի դիտողները կարողանան ճանաչել Երկիրը և այլն:

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