Mündəricat:

Günəş sistemi simulyasiyası: 4 addım
Günəş sistemi simulyasiyası: 4 addım

Video: Günəş sistemi simulyasiyası: 4 addım

Video: Günəş sistemi simulyasiyası: 4 addım
Video: Международный аэропорт Ханэда всегда будет в курсе потребностей наших клиентов. 🇷🇺 2024, Iyul
Anonim

Bu layihə üçün cazibə qüvvəsinin günəş sistemindəki planet cisimlərinin hərəkətinə necə təsir etdiyini göstərən bir simulyasiya yaratmağa başladım. Yuxarıdakı videoda \u003d Günəş cəsədi mesh kürəsi ilə təmsil olunur və planetlər təsadüfi olaraq yaradılır.

Planetlərin hərəkəti əsl fizikaya, Ümumdünya Cazibə Qanununa əsaslanır. Bu qanun bir kütləyə başqa bir kütlənin təsir etdiyi cazibə qüvvəsini təyin edir; bu halda bütün planetlərdə Günəş, bir -birindəki planetlər.

Bu layihə üçün Java əsaslı bir proqramlaşdırma mühiti olan Processing -dən istifadə etdim. Planetlərin cazibə qüvvəsini simulyasiya edən İşləmə nümunəsi faylını da istifadə etdim. Bunun üçün işləmə proqramı və kompüterə ehtiyacınız olacaq.

Addım 1: 2 Ölçülü Simulyasiya

Dan Shiffman'ın YouTube Kanalında Kodlaşdırma Qatarında (1/3 hissə) yaratdığı kodlaşdırmanın necə aparılacağına dair bəzi videoları izləməyə başladım. Bu nöqtədə, Shiffmanın yalnız fizika qanunlarını istifadə etdiyi kimi, Günəş sistemini yaratmaq üçün rekursiyadan istifadə edəcəyimi düşündüm.

"Uşaq planetləri" olan, öz növbəsində "uşaq" planetləri olan bir planet obyekti yaratdım. 2D simulyasiya kodu bitmədi, çünki hər planet üçün cazibə qüvvələrini simulyasiya etmək üçün əla bir yolum yox idi. Bu düşüncə tərzindən, cazibə cazibəsinin daxili emal nümunəsinə əsaslanan bir istiqamətə döndüm. Məsələ ondadır ki, hər planetdəki bütün digər planetlərin cazibə qüvvəsini hesablamalı idim, ancaq ayrı bir planetin məlumatlarını necə asanlıqla çəkəcəyimi düşünə bilmədim. Qenerasiya dərsliyinin bunu necə etdiyini gördükdən sonra bunun əvəzinə döngələr və massivlərdən istifadə edərək bunu necə edəcəyimi başa düşdüm

Addım 2: 3 Ölçüyə aparın

İşlənmə ilə birlikdə gələn Planet Cazibəsi üçün nümunə kodu istifadə edərək, 3D simulyasiya üçün yeni bir proqram başladım. Əsas fərq, iki planet arasındakı cazibə qüvvəsini hesablayan bir cazibə funksiyasını əlavə etdiyim Planet sinifindədir. Bu, planetlərin təkcə Günəşə deyil, digər planetlərə də cəlb olunduğu Günəş sistemlərimizin necə işlədiyini təqlid etməyə imkan verdi.

Hər bir planetin kütləsi, yarıçapı, ilkin orbital sürəti və s. Kimi təsadüfi olaraq yaradılan xüsusiyyətlərə malikdir. Planetlər bərk kürələrdir və Günəş bir mesh kürəsidir. Bundan əlavə, kamera yeri pəncərənin ortasında fırlanır.

Addım 3: Real Planetlərdən istifadə edin

Image
Image

3D simulyasiya çərçivəsini aşağı saldıqdan sonra, Günəş sistemimiz üçün faktiki planet məlumatlarını tapmaq üçün Vikipediyadan istifadə etdim. Bir sıra planet cisimləri yaratdım və real məlumatları daxil etdim. Bunu etdiyim zaman bütün xüsusiyyətlərini kiçiltməli oldum. Bunu etdiyim zaman, dəyərləri kiçiltmək üçün həqiqi dəyərləri götürməli və faktorla çarpmalıydım, bunun əvəzinə Yerin vahidlərində etdim. Yəni Yerin dəyərini digər obyektlərin dəyərinə nisbətini götürdüm, məsələn Günəşin kütləsi Yerdən 109 dəfə çoxdur. Lakin bu, çox böyük və ya çox kiçik görünən planetlərin ölçüləri ilə nəticələndi.

Addım 4: Son Fikirlər və Şərhlər

Bu simulyasiya üzərində işləməyə davam etsəm, bir neçə şeyi təkmilləşdirərdim:

1. Əvvəlcə eyni miqyaslama faktorundan istifadə edərək hər şeyi vahid ölçüyə gətirərdim. Sonra orbitlərin görmə qabiliyyətini yaxşılaşdırmaq üçün hər bir inqilabın əvvəlki ilə necə müqayisə edildiyini görmək üçün hər planetin arxasına bir iz əlavə edərdim.

2. Kamera interaktiv deyil, yəni orbitlərin bir hissəsi ekrandan kənarda, "adamın arxasında" baxır. Kodlaşdırma Qatarının bu mövzuda video seriyasının 2 -ci hissəsində istifadə olunan Peazy Cam adlı bir 3D kamera kitabxanası var. Bu kitabxana, izləyiciyə kameranın fırlanmasına, sürüşməsinə və böyüməsinə imkan verir ki, planetin bütün orbitini izləyə bilsinlər.

3. Nəhayət, planetlər hazırda bir -birindən fərqlənmir. Hər bir planetə və Günəşə "dərilər" əlavə etmək istərdim ki, tamaşaçılar Yer kürəsini tanıya bilsinlər.

Tövsiyə: