Astronomi

Bagaimana saya boleh menginterpolasi 2 orbit

Bagaimana saya boleh menginterpolasi 2 orbit


We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

Soalan saya sangat serupa dengan soalan ini walaupun jawapannya bukan seperti yang saya cari. Pada dasarnya saya bekerja dalam permainan ruang angkasa (KSP) dan saya menjadikannya berbilang pemain. Pelanggan menghantar paket dengan parameter orbitnya pada selang waktu (30 milisaat secara lalai) tetapi antara paket tersebut saya ingin menyisipkan dan membuat orbit antara 2 paket tersebut.

Untuk vektor atau kelajuan normal, saya menggunakan interpolasi linear:

apungan statik persendirian Lerp (float v0, float v1, float t) {return (1 - t) * v0 + t * v1; }

Tetapi ia tidak berfungsi dengan baik ketika saya bekerja dengan orbit

var inclination = Lerp (inclination, Target.inclination, lerpPercentage), var eccentricity = Lerp (eksentrisity, Target.eccentricity, lerpPercentage), var semiMajorAxis = Lerp (semiMajorAxis, Target.semiMajorAxis, LANP, LanP, LANP, LanP, LANP .LAN, lerpPercentage), var argumentOfPeriapsis = Lerp (argumenOfPeriapsis, Target.argumentOfPeriapsis, lerpPercentage), var meanAnomalyAtEpoch = Lerp (meanAnomalyAtEpoch, Target.meanAnomalyAtPerch, Eppop, Lpp

Fungsi apa yang boleh saya gunakan untuk menginterpolasi mereka?


Terdapat beberapa pilihan:

Jangan campur tangan sama sekali. Anggap saja planet ini tetap diperbaiki sehingga kemas kini seterusnya. Planet Bumi bergerak $ 10 ^ {- 7} $ darjah dalam 30 milisaat. Dalam ruang yang luas itu adalah kesalahan pembulatan.

Memandangkan dua objek, kedudukan dan halaju dan pecutannya, dan nilai elemen Keplerian mereka pada waktu t0 dan t1, anda ingin menganggarkan kedudukan, halaju dan pecutannya pada bila-bila masa di antara.

Anda boleh menggunakan interpolasi linear mudah bagi kedudukan mereka. Ini mempunyai kelebihan menjadi sangat cepat, tetapi ia menganggap halaju tetap. Dalam jangka masa yang singkat ini adalah andaian yang wajar. Bagi kebanyakan badan yang mengorbit, pendekatan ini harus cukup tepat untuk perbezaan waktu beberapa minit, kerana perubahan dalam halaju relatif kecil.

Anda boleh melakukan pecutan berterusan dan interpolasi menggunakan persamaan SUVAT. Ini berfungsi dengan baik jika objek tidak bergerak terlalu jauh. Sebagai contoh, ia dapat memodelkan penerbangan bola di medan graviti Bumi dengan sangat baik, memberikan bentuk parabola. Ini harus memberikan penghampiran kedudukan yang cukup baik selama berjam-jam, atau bahkan berhari-hari.

Anda boleh menginterpolasi unsur orbit, secara linier, dan menyelesaikan persamaan Kepler untuk mendapatkan kedudukan badan pada waktu tertentu. Bagi kebanyakan badan, unsur-unsur Orbital berubah hanya perlahan dengan masa (kecuali Anomali) Itulah bentuk orbit yang tetap hampir sama, hanya kedudukan di orbit yang berubah. Mengira orbit planet dengan interpolasi unsur-unsurnya harus memberikan penghampiran yang baik selama beberapa ratus tahun masa orbit. Walau bagaimanapun proses menyelesaikan persamaan adalah perlahan.

Akhirnya anda dapat mengintegrasikan masalah n-badan bagi sistem suria secara berangka. Bergantung pada langkah waktu yang anda pilih, ini boleh tepat untuk jangka masa yang tidak ditentukan

Jadi ini dapat diringkaskan sebagai:

  1. Kedudukan tetap
  2. Halaju malar
  3. Pecutan berterusan
  4. Pecutan berubah mengikut undang-undang segiempat terbalik.
  5. Medan graviti n-badan pecutan boleh ubah.

Untuk mesin permainan, kelajuannya bagus. Sekiranya jurang masa berada pada urutan milisaat (masa nyata) maka tidak interpolasi semestinya tidak dapat dikesan.


Tonton videonya: FASTEST METHOD OF ROOTING PLANT CUTTINGS. DIY HYDROPONIC CLONER (Disember 2022).