Përmbajtje:

Simulimi i Sistemit Diellor: 4 Hapa
Simulimi i Sistemit Diellor: 4 Hapa

Video: Simulimi i Sistemit Diellor: 4 Hapa

Video: Simulimi i Sistemit Diellor: 4 Hapa
Video: " Sa i dua frutat " - Këngë për fëmijë - Kids song 2024, Korrik
Anonim

Për këtë projekt unë fillova të krijoj një simulim se si graviteti ndikon në lëvizjen e trupave planetarë në një sistem diellor. Në videon e mësipërme \, trupi i Diellit përfaqësohet nga sfera me rrjetë teli, dhe planetët janë të gjeneruar rastësisht.

Lëvizja e planetëve bazohet në fizikën e vërtetë, Ligjin e Gravitacionit Universal. Ky ligj përcakton forcën gravitacionale të ushtruar mbi një masë nga një masë tjetër; në këtë rast Dielli në të gjithë planetët, dhe planetët mbi njëri -tjetrin.

Për këtë projekt kam përdorur Processing, një mjedis programimi i bazuar në Java. Kam përdorur gjithashtu skedarin shembull të Përpunimit që simulon gravitetin e planetëve. E tëra që ju nevojitet për këtë është programi i përpunimit dhe një kompjuter.

Hapi 1: 2 Simulimi Dimensional

Fillova duke shikuar disa video se si të veproj për të koduar këtë që Dan Shiffman krijoi në Kanalin e tij në YouTube, Treni i Kodimit (Pjesa 1/3). Në këtë pikë mendova se do të përdorja rekursionin për të gjeneruar sistemin diellor, i ngjashëm me atë që Shiffman bën vetëm duke përdorur ligjet e fizikës.

Unë krijova një objekt planet që kishte 'fëmijë planetë', të cilët nga ana e tyre gjithashtu kishin planetë 'fëmijë'. Kodi për simulimin 2D nuk ishte përfunduar sepse nuk kisha një mënyrë të shkëlqyeshme për të simuluar forcat gravitacionale për secilin planet. Unë u tërhoqa nga kjo mënyrë e të menduarit, në një drejtim të bazuar në shembullin e integruar të përpunimit të tërheqjes gravitacionale. Çështja ishte se më duhej të llogarisja forcën gravitacionale nga të gjithë planetët e tjerë në secilin planet, por nuk mund të mendoja se si të tërhiqja lehtë informacionin e një planeti individual. Pasi pashë se si e bën tutorialin e Përpunimit, kuptova saktësisht se si ta bëj duke përdorur sythe dhe vargje në vend

Hapi 2: Marrja e tij në 3 dimensione

Duke përdorur kodin shembull për tërheqjen planetare që vjen me përpunimin, fillova një program të ri për një simulim 3D. Dallimi kryesor është në klasën Planet, ku shtova një funksion tërheqës, që llogarit forcën gravitacionale midis dy planetëve. Kjo më lejoi të simuloja sesi funksionojnë sistemet tona diellore, ku planetët nuk tërhiqen vetëm nga dielli, por edhe nga çdo planet tjetër.

Secili planet ka gjeneruar rastësisht karakteristika të tilla si masa, rrezja, shpejtësia fillestare orbitale, etj. Planetët janë sfera të forta dhe Dielli është një sferë me rrjetë teli. Për më tepër, vendndodhja e kamerës rrotullohet rreth qendrës së dritares.

Hapi 3: Përdorimi i planetëve të vërtetë

Image
Image

Pasi mora kuadrin për simulimin 3D, kam përdorur Wikipedia për të gjetur të dhënat aktuale planetare për sistemin tonë diellor. Kam krijuar një sërë objektesh të planetit dhe kam futur të dhënat e vërteta. Kur e bëra këtë, më duhej të zvogëloja të gjitha karakteristikat. Kur e bëra këtë, duhet të kisha marrë vlerat aktuale dhe të shumëzuar me një faktor për të zvogëluar vlerat, në vend të kësaj e bëra atë në njësi të Tokave. Kjo është që kam marrë raportin e vlerës së Tokës me vlerën e objekteve të tjera, për shembull Dielli ka 109 herë më shumë masë se Toka. Megjithatë kjo rezultoi në madhësinë e planetëve që dukeshin shumë të mëdha ose shumë të vogla.

Hapi 4: Mendimet dhe komentet përfundimtare

Nëse do të vazhdoja të punoja në këtë simulim, do të përsosja/përmirësoja disa gjëra:

1. Së pari unë do të shkallëzoja gjithçka në mënyrë uniforme duke përdorur të njëjtin faktor shkallëzimi. Pastaj për të përmirësuar dukshmërinë e orbitave, do të shtoja një gjurmë pas çdo planeti për të parë se si krahasohet secili revolucion me atë të mëparshmin

2. Kamera nuk është interaktive, që do të thotë se një pjesë e orbitave janë jashtë ekranit, duke parë "prapa personit". Ekziston një bibliotekë me kamera 3D e quajtur Peazy Cam, e cila përdoret në Pjesën 2 të serisë video të Coding Train për këtë temë. Kjo bibliotekë lejon shikuesin të rrotullohet, rrotullojë dhe zmadhojë kamerën në mënyrë që ata të jenë në gjendje të ndjekin të gjithë orbitën e një planeti.

3. Së fundi, planetët aktualisht nuk dallohen nga njëri -tjetri. Unë do të doja të shtoja 'lëkurë' në çdo planet dhe Diell, në mënyrë që shikuesit të mund të njohin Tokën dhe të tjera.

Recommended: