Daftar Isi:

Simulasi Tata Surya: 4 Langkah
Simulasi Tata Surya: 4 Langkah

Video: Simulasi Tata Surya: 4 Langkah

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

Untuk proyek ini saya mulai membuat simulasi bagaimana gravitasi mempengaruhi gerakan benda-benda planet di tata surya. Dalam video di atas\, benda Matahari diwakili oleh bola wire mesh, dan planet-planet dihasilkan secara acak.

Pergerakan planet didasarkan pada fisika nyata, Hukum Gravitasi Universal. Hukum ini mendefinisikan gaya gravitasi yang diberikan pada suatu massa oleh massa lain; dalam hal ini Matahari di semua planet, sebuah planet di satu sama lain.

Untuk proyek ini saya menggunakan Processing, lingkungan pemrograman berbasis java. Saya juga menggunakan file contoh Processing yang mensimulasikan gravitasi planet. Yang Anda perlukan untuk ini adalah perangkat lunak Pemrosesan dan komputer.

Langkah 1: Simulasi 2 Dimensi

Saya mulai dengan menonton beberapa video tentang cara mengkodekan ini yang dibuat Dan Shiffman di Saluran YouTube-nya, Kereta Pengodean (Bagian 1/3). Pada titik ini saya berpikir bahwa saya akan menggunakan rekursi untuk menghasilkan tata surya, mirip dengan bagaimana Shiffman hanya menggunakan hukum fisika.

Saya membuat objek planet yang memiliki 'planet anak', yang pada gilirannya juga memiliki planet 'anak'. Kode untuk simulasi 2D belum selesai karena saya tidak memiliki cara yang bagus untuk mensimulasikan gaya gravitasi untuk setiap planet. Saya berputar dari cara berpikir ini, ke arah yang didasarkan pada contoh pemrosesan bawaan dari tarikan gravitasi. Masalahnya adalah saya perlu menghitung gaya gravitasi dari semua planet lain di setiap planet, tetapi tidak dapat memikirkan cara menarik informasi dari satu planet dengan mudah. Setelah melihat bagaimana tutorial Pemrosesan melakukannya, saya menyadari dengan tepat bagaimana melakukannya dengan menggunakan loop dan array

Langkah 2: Membawanya ke 3 Dimensi

Menggunakan kode contoh untuk Planetary Attraction yang disertakan dengan pemrosesan, saya memulai program baru untuk simulasi 3D. Perbedaan utama adalah di kelas Planet, di mana saya menambahkan fungsi tarik-menarik, yang menghitung gaya gravitasi antara dua planet. Ini memungkinkan saya untuk mensimulasikan cara kerja tata surya kita, di mana planet-planet tidak hanya tertarik ke matahari, tetapi juga ke setiap planet lain.

Setiap planet memiliki karakteristik yang dihasilkan secara acak seperti massa, jari-jari, kecepatan orbit awal, dll. Planet-planet adalah bola padat dan Matahari adalah bola wire-mesh. Selain itu, lokasi kamera berputar di sekitar bagian tengah jendela.

Langkah 3: Menggunakan Planet Nyata

Image
Image

Setelah saya mendapatkan kerangka kerja untuk simulasi 3D, saya menggunakan Wikipedia untuk menemukan data planet yang sebenarnya untuk tata surya kita. Saya membuat array objek planet, dan memasukkan data sebenarnya. Ketika saya melakukan ini, saya harus mengurangi semua karakteristik. Ketika saya melakukan ini, saya seharusnya mengambil nilai aktual dan dikalikan dengan faktor untuk memperkecil nilainya, alih-alih saya melakukannya dalam satuan Bumi. Yaitu saya mengambil rasio nilai Bumi dengan nilai benda-benda lain, misalnya Matahari memiliki massa 109 kali lebih banyak daripada Bumi. Namun ini mengakibatkan ukuran planet terlihat terlalu besar atau terlalu kecil.

Langkah 4: Pikiran dan Komentar Terakhir

Jika saya terus mengerjakan simulasi ini, saya akan memperbaiki/meningkatkan beberapa hal:

1. Pertama saya akan menskalakan semuanya secara seragam menggunakan faktor penskalaan yang sama. Kemudian untuk meningkatkan visibilitas orbit, saya akan menambahkan jejak di belakang setiap planet untuk melihat bagaimana setiap revolusi dibandingkan dengan yang sebelumnya

2. Kamera tidak interaktif, yang berarti bahwa bagian dari orbit berada di luar layar, melihat "di belakang orang". Ada perpustakaan kamera 3D yang disebut Peazy Cam, yang digunakan pada Bagian 2 dari seri video Coding Train tentang topik ini. Pustaka ini memungkinkan pemirsa untuk memutar, menggeser, dan memperbesar kamera sehingga mereka dapat mengikuti seluruh orbit planet.

3. Akhirnya, planet-planet saat ini tidak dapat dibedakan satu sama lain. Saya ingin menambahkan 'kulit' ke setiap planet dan Matahari, sehingga pemirsa dapat mengenali Bumi dan semacamnya.

Direkomendasikan: