Visualisasi Bumi 3D dengan Pemetaan Tekstur UV dengan Python

Plot Globe yang realistis menggunakan pemetaan tekstur dengan NumPy dan PyVista

pengantar

Banyak proyek ilmu data dan teknik memperoleh keuntungan dari visualisasi yang menarik. Menghasilkan bagan dan diagram dinamis memungkinkan pemahaman yang lebih baik dan komunikasi data , di antara manfaat lainnya.

Salah satu area di mana visual interaktif merupakan keuntungan besar adalah plot lintasan , yang berlaku untuk topik seperti masalah Dua Benda mekanik orbital .

Foto oleh Juliana Kozoski di Unsplash

Aplikasi

Dimungkinkan untuk membuat plot 3D dinamis menggunakan Matplotlib untuk masalah dua benda setelah berhasil menerapkan teknik integrasi numerik untuk menyelesaikan persamaan gerak . Namun, kelemahan Matplotlib adalah ia menggunakan penyaji 2D¹ . Oleh karena itu, ada opsi lain yang tersedia untuk menghasilkan output 3D yang lebih baik.

Gambar 1 menggambarkan gerak dua benda semata-mata karena pengaruh gaya tarik gravitasi timbal baliknya.

Alih-alih hanya menganimasikan massa titik menggunakan Matplotlib , memiliki tekstur tubuh planet akan meningkatkan grafik secara signifikan .

Gambar 1 — Gerak Masalah Dua Benda di Ruang Inersia (Gambar Oleh Penulis)

Pemetaan Tekstur

Pemetaan tekstur mengubah pola atau gambar realistis ke dalam model komputer. Ambil Gambar 2 sebagai contoh peta Bumi datar .

Pemetaan UV memproyeksikan gambar 2D ini ke permukaan model 3D. Proses memberikan piksel gambar ke area permukaan pada model.

Gambar 2 — Peta Tekstur Nasa Marmer Biru (Sumber: NASA)

Visualization Toolkit ( VTK) adalah perangkat lunak yang dirancang untuk grafik komputer 3D, pemrosesan gambar, dan visualisasi data. PyVista adalah pustaka Python 3D plotting dan mesh-analysis yang berfungsi sebagai antarmuka yang disederhanakan untuk VTK.

Membuat bola di PyVista menggunakan Gist 1. Menjalankan kode di bawah ini memberikan hasil pada Gambar 3.

Melakukan proses ini dimungkinkan di Matplotlib. Namun, menggunakan PyVista memberikan gambar yang jauh lebih realistis .

Gambar 3 — PyVista Sphere (Gambar Oleh Penulis)

Persamaan yang relevan untuk memfasilitasi pemetaan UV sferis ada di Wikipedia², membuat prosesnya mudah untuk diterapkan. Persamaan 1 dan 2 menentukan koordinat untuk menampilkan pola 2D dengan benar pada gambar 3D.

Persamaan 1 dan 2 — Koordinat UV (Gambar Oleh Penulis)

dₓ, dᵧ, dan d adalah posisi kartesius dari pusat model bola 3D ke suatu titik di permukaannya.

Hasil

Gambar 4 adalah hasil animasi globe yang dipetakan tekstur 3D yang dibuat dengan PyVista dan jpeg NASA marmer biru .

Kecepatan bingkai gif relatif tinggi, dan ukuran file dikompresi secara signifikan untuk memenuhi batas unggah gambar 25 Megabita Medium . Dengan demikian, hasil sebenarnya lebih baik di desktop, yang muncul sebagai jendela Python interaktif standar.

Gambar 4 — Hasil Simulasi untuk Tekstur Bumi yang Dipetakan (Image By Author)

Kesimpulan

PyVista menawarkan fungsi untuk memperbarui nilai mesh dan menggambar ulang gambar. Jadi, mengikuti hasil pemodelan realisme 3D , langkah selanjutnya adalah memasukkan ini ke dalam kode untuk simulasi mekanika orbital dan mencoba untuk menghasilkan kembali Gambar 1 gif.

Jelajahi dokumentasi PyVista untuk contoh unik lainnya tentang apa yang mungkin dilakukan dengan data geografis.

Lihat artikel saya yang lain jika Anda tertarik dengan Python, teknik, dan ilmu data.

Referensi

[1] Python Memetakan Gambar ke 3D Sphere — StackOverflow
[2] Pemetaan UV — Wikipedia
[3] Mengapa PyVista? — Dokumentasi PyVista

Suggested posts

Dua tahun dalam desain- Yang baik, buruk, dan jelek…

Dua tahun dalam desain- Yang baik, buruk, dan jelek…

“Hai Siri, mainkan Me Dive oleh Olivia Dean.” Saat itu Mei 2021 ketika saya memulai magang di Future Academy Africa di Akure, Nigeria.

Mendanai penghapusan karbon di FY24

Rincian permintaan alokasi Carbon180 di seluruh jalur

Mendanai penghapusan karbon di FY24

Oleh Alyson Lee, penasihat urusan pemerintah yang mengelola Proses alokasi tahunan pemerintah federal merupakan inti dari upaya kami untuk mendanai penghilangan karbon dioksida (CDR). Setiap tahun, Carbon180 mengajukan permintaan ke berbagai kantor kongres untuk membantu mengarahkan ke mana dolar tahun depan akan mengalir.

Related posts

Penganiayaan Umat Kristiani: Kejahatan Kebencian yang Tidak Kita Bicarakan

Lupakan Islamofobia: Kristen (dan Yahudi) adalah korban utama kejahatan kebencian agama.

Penganiayaan Umat Kristiani: Kejahatan Kebencian yang Tidak Kita Bicarakan

Pikiran rasional mana pun tahu bahwa lingkaran politik dan media didominasi oleh kiri, bahkan paling kiri, suatu keadaan yang menciptakan ketidakseimbangan dalam wacana politik. Di bidang agama, ketidakseimbangan ini terlihat jelas: surat kabar dan jaringan sayap kiri tidak terburu-buru membela iman Kristen.

Arsip Ancaman Itu: Vol 7 Black Basta

Arsip Ancaman Itu: Vol 7 Black Basta

Di dunia yang saling terhubung saat ini, ancaman serangan dunia maya lebih umum dari sebelumnya. Penjahat dunia maya dan aktor negara terus-menerus berusaha mengeksploitasi kerentanan dan mencuri data berharga, yang menimbulkan risiko signifikan bagi organisasi dari semua ukuran.

Apa yang dapat Anda lakukan di musim menunggu (menunggu untuk mendapatkan pekerjaan pertama Anda di bidang teknologi)

Apa yang dapat Anda lakukan di musim menunggu (menunggu untuk mendapatkan pekerjaan pertama Anda di bidang teknologi)

Beralih ke karir baru bisa sangat menantang jika Anda mencoba melakukannya sendiri. Penting untuk menemukan mitra akuntabilitas yang memiliki tingkat pembelajaran yang sama dengan Anda, yang memiliki tujuan, keuletan, dan dorongan yang sama.

Jaringan TV Twitter

Jaringan TV Twitter

Apa yang lama sekarang menjadi baru lagi dan apa yang dulu berkilau berkilau sekarang terasa kusam. Saya tidak berbicara tentang jeans JNCO yang kembali populer di antara anak-anak keren di pusat kota bersama dengan mode akhir 1990-an lainnya.