Mündəricat:
- Addım 1: 2 Ölçülü Simulyasiya
- Addım 2: 3 Ölçüyə aparın
- Addım 3: Real Planetlərdən istifadə edin
- Addım 4: Son Fikirlər və Şərhlər
Video: Günəş sistemi simulyasiyası: 4 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
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
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ə:
Batareyalı Ofis. Şərq/Qərb Günəş Panelləri və Külək Türbini Avtomatik Keçirən Günəş Sistemi: 11 Addım (Şəkillərlə)
Batareyalı Ofis. Şərq/Qərb Günəş Panelləri və Külək Türbini Avtomatik Keçirən Günəş Sistemi: Layihə: 200 kvadrat metrlik bir ofisin akkumulyatorla təchiz edilməsi lazımdır. Ofisdə bu sistem üçün lazım olan bütün nəzarətçilər, batareyalar və komponentlər də olmalıdır. Günəş və külək enerjisi batareyaları dolduracaq. Yalnız kiçik bir problem var
Bir KiCad Dövrəsinin Simulyasiyası: 7 Addım
Bir KiCad Dövrünün Simulyasiyası: Dövrə çəkmək və dizayn etmək, ilk elektron komponentlər qədər köhnə bir prosesdir. O zaman asan idi. Məhdud sayda komponent və buna görə də məhdud sayda konfiqurasiya var idi, başqa sözlə desək: sxemlər daha sadə idi. İndi, içərisində
Batareyasız Günəş İşığı və ya Günəş İşığı Niyə olmasın ?: 3 addım
Batareyasız Günəş İşığı və ya Günəş İşığı … Niyə olmasın ?: Xoş gəldiniz. İngilis gün işığı üçün üzr istəyirəm? Günəş? Niyə? Gündüz bir az qaranlıq bir otağım var və istifadə edərkən işıqları yandırmalıyam. Günəş işığını gecə-gündüz quraşdırın (1 otaq): (Çilidə)-Günəş paneli 20w: 42 ABŞ dolları -Batareya: 15 ABŞ dolları-Günəş ödəniş əks
Daha böyük bir Günəş Sistemində Günəş Bağı İşıqlandırılır: 6 addım
Daha böyük bir Günəş Sistemində Günəş Bağı İşıqları: Həyətim üçün 12v bağ işıqlandırma sistemi axtarırdım. Sistemləri axtardığım zaman heç bir şey məni ələ keçirmədi və hansı yolla getmək istədiyimi bilmədim, əgər transformatoru elektrik enerjisinə istifadə etməli və ya günəş sisteminə getməli idim. Mən də
Günəş İşıqlandırma Cihazı (SID): Arduino əsaslı Günəş Sensoru: 9 addım
Günəş İşıqlandırma Cihazı (SID): Arduino Əsaslı Günəş Sensoru: Günəşin İşıqlandırma Cihazı (SID) günəşin parlaqlığını ölçür və xüsusi olaraq sinifdə istifadə üçün nəzərdə tutulmuşdur. Kiçik sinif şagirdlərindən böyüklərə qədər hər kəs tərəfindən yaradılmasına imkan verən Arduinos istifadə edərək inşa edilmişdir. Bu inst