Isi kandungan:

Simulasi Sistem Suria: 4 Langkah
Simulasi Sistem Suria: 4 Langkah

Video: Simulasi Sistem Suria: 4 Langkah

Video: Simulasi Sistem Suria: 4 Langkah
Video: Urutan Planet di Dalam Sistem Tata Surya - Jagad.ID 2024, Julai
Anonim

Untuk projek ini saya merancang untuk membuat simulasi bagaimana graviti mempengaruhi pergerakan badan planet dalam sistem suria. Dalam video di atas \, badan Matahari dilambangkan oleh saringan dawai, dan planet dihasilkan secara rawak.

Gerakan planet berdasarkan fizik sebenar, Hukum Gravitasi Sejagat. Undang-undang ini menentukan kekuatan graviti yang diberikan pada jisim oleh jisim lain; dalam hal ini Matahari di semua planet, satu planet di antara satu sama lain.

Untuk projek ini saya menggunakan Pemprosesan, persekitaran pengaturcaraan berasaskan java. Saya juga menggunakan fail contoh Pemprosesan yang mensimulasikan graviti planet. Yang anda perlukan adalah perisian Pemprosesan dan komputer.

Langkah 1: Simulasi Dimensi 2

Saya mulakan dengan menonton beberapa video mengenai cara membuat pengekodan ini yang dibuat oleh Dan Shiffman di Saluran YouTubenya, Coding Train (Bahagian 1/3). Pada ketika ini saya berfikir bahawa saya akan menggunakan rekursi untuk menghasilkan sistem suria, sama seperti bagaimana Shiffman hanya menggunakan undang-undang fizik.

Saya membuat objek planet yang mempunyai 'planet anak-anak', yang pada gilirannya juga memiliki planet 'anak'. Kod untuk simulasi 2D belum selesai kerana saya tidak mempunyai cara yang bagus untuk mensimulasikan daya graviti bagi setiap planet. Saya berputar dari cara berfikir ini, ke arah berdasarkan contoh pemprosesan tarikan graviti yang dibina. Masalahnya adalah bahawa saya perlu mengira daya graviti dari semua planet lain di setiap planet, tetapi tidak dapat memikirkan bagaimana menarik maklumat planet individu dengan mudah. Setelah melihat bagaimana tutorial Pemprosesan melakukannya, saya menyedari bagaimana melakukannya dengan menggunakan gelung dan tatasusunan

Langkah 2: Membawa ke 3 Dimensi

Dengan menggunakan kod contoh untuk Tarikan Planet yang disertakan dengan pemprosesan, saya memulakan program baru untuk simulasi 3D. Perbezaan utama adalah dalam kelas Planet, di mana saya menambahkan fungsi tarikan, yang mengira daya graviti antara dua planet. Ini membolehkan saya mensimulasikan bagaimana sistem suria kita berfungsi, di mana planet-planet tidak hanya tertarik pada matahari, tetapi juga ke setiap planet lain.

Setiap planet mempunyai ciri-ciri yang dihasilkan secara rawak seperti jisim, jejari, halaju orbit awal, dan lain-lain. Planet-planet adalah sfera pepejal dan Matahari adalah sfera dawai. Selain itu, lokasi kamera berputar di sekitar tengah tetingkap.

Langkah 3: Menggunakan Planet Sebenar

Image
Image

Setelah saya merangka kerangka simulasi 3D, saya menggunakan Wikipedia untuk mencari data planet sebenar untuk sistem suria kita. Saya membuat pelbagai objek planet, dan memasukkan data sebenar. Semasa saya melakukan ini, saya harus mengurangkan semua ciri. Semasa saya melakukan ini, saya seharusnya mengambil nilai sebenar dan dikalikan dengan faktor untuk menurunkan nilai, sebaliknya saya melakukannya dalam unit Bumi. Iaitu saya mengambil nisbah nilai Bumi dengan nilai objek lain, misalnya Matahari mempunyai jisim 109 kali lebih banyak daripada Bumi. Namun ini mengakibatkan ukuran planet kelihatan terlalu besar atau terlalu kecil.

Langkah 4: Pemikiran dan Komen Akhir

Sekiranya saya terus mengerjakan simulasi ini, saya akan memperbaiki / memperbaiki beberapa perkara:

1. Mula-mula saya membuat skala semuanya secara seragam menggunakan faktor penskalaan yang sama. Kemudian untuk meningkatkan penglihatan orbit, saya akan menambah jejak di belakang setiap planet untuk melihat bagaimana setiap revolusi dibandingkan dengan yang sebelumnya

2. Kamera tidak interaktif, yang bermaksud bahawa bahagian orbit berada di luar skrin, melihat "belakang orang". Terdapat pustaka kamera 3D yang disebut Peazy Cam, yang digunakan pada Bahagian 2 siri video Coding Train mengenai topik ini. Perpustakaan ini membolehkan penonton memutar, menggeser, dan mengezum kamera sehingga mereka dapat mengikuti seluruh orbit planet.

3. Akhirnya, planet-planet pada masa ini tidak dapat dibezakan antara satu sama lain. Saya ingin menambahkan 'kulit' ke setiap planet dan Matahari, supaya penonton dapat mengenali Bumi dan sejenisnya.

Disyorkan: