Otázka:
Výpočet pozic na oběžné dráze družic Jovian / Moons pomocí dat JPL
PKCLsoft
2018-08-04 11:24:30 UTC
view on stackexchange narkive permalink

Snažil jsem se ve hře postavit model sluneční soustavy. Dosud se mi podařilo umístit každou z planet do polohy pomocí Keplerianových prvků a vzorců z https://ssd.jpl.nasa.gov/?planet_pos Příklad pro Jupiter je:

  ae IL long.peri. dlouhý. uzel. AU, AU / Cy rad, rad / Cy deg, deg / Cy deg, deg / Cy deg, deg / Cy deg, deg / Cy -------------------- -------------------------------------------------- ------------------------------------- Jupiter 5,20288700 0,04838624 1,30439695 34,39644051 14,72847983 100,47390909 -0,00011607 -0,00013253 -0,00183714 3034.74612775 0,21252668 0.20469106  

V tomto okamžiku chci přidat několik joviánských měsíců, ale zdá se, že stejný web neposkytuje stejný typ dat pro tyto měsíce, snad proto, že měsíce se chovají jinak. Moje matematika bohužel není skvělá; Obvykle můžu implementovat něco, co je zapsáno, ale nemám prostředky, abych to vyřešil sám.

U jupianských měsíců jsou data uvedena na: https: // ssd. jpl.nasa.gov/?sat_elem#jupiter Zde je příklad pro Ganymede:

  Sat. a m w uzel n P Pw Pnode R.A. Prosinec Naklonění (km) (stupně) (stupně) (stupně) (stupně) (stupně / den) (dny) (roky) (roky) (stupně) (stupně) (stupně) Ganymede 1070400. 0,0013 192,417 317,540 0,177 63,552 50,3176072 7.155 63.549 132.654 268.168 64.543 0.068  

Zde uvádějí, že data jsou „ Střední orbitální prvky odkazované na místní Laplaceovy roviny “, na rozdíl od „ Kepleriánských prvků pro přibližné polohy hlavních planet “.

Zatímco prvních 6 parametrů se jeví stejných (a, e, w, M, i, uzel), mají Keplerianovy prvky také „rates“ nebo časové deriváty (podle toho příspěvek: https://space.stackexchange.com/questions/8911/determining-orbital-position-at-a-future-point-in-time). Fóra laskavě poskytovaná NASA pro Keplerianovy elementy se spoléhají na tyto sazby.

Pokud bych mohl pochopit, jak určit „sazby“ pro Jupiterské měsíce, mohl bych použít stejný vzorec (je to je správná věc?) Zdá se mi, že tyto sazby jsou něco, co bych měl být schopen vypočítat z ostatních údajů poskytovaných pro měsíce, ale nebyl jsem schopen určit, jak.

Moje podezření je, že buď potřebuji jiný vzorec pro výpočet pomocí Laplaceových rovin, nebo musím vypočítat tyto hodnoty „rychlosti“ a použít stejný vzorec, který již mám.

Snažím se generovat kartézské (x, y, z) souřadnice pro každý Měsíc, kde (0,0,0) je středem samotného Jupiteru, pro dané datum / čas (obvykle „nyní“).

Jsem začíná přemýšlet, jestli na to štěkám špatný strom. Může kdokoli vrhnout světlo

Zkoušeli jste https://ssd.jpl.nasa.gov/horizons.cgi#top pomocí nastavení ELEMENTS pro požadovaný měsíc? Odtud můžete získat oscilační prvky.
Ano, i když se bojím, že nechápu, jak to pomáhá. Ano, tento web mi poskytne statická data pro dané časové období. Chci být schopen vypočítat pozici pro dané datum (před rokem 2050, protože se to zdá být, když průměrná data ztratí platnost, a je nepravděpodobné, že moje hra bude existovat za ~ 30 let).
Pokud chcete přesná data, budete muset použít něco jako SPICE (https://naif.jpl.nasa.gov/naif/). Pokud se podíváte na oscilační prvky, možná zjistíte, že sledují přibližný vzor, ​​který můžete napodobit. Teoreticky můžete dokonce vyřešit diferenciální rovnice dané počáteční polohou, ale to je velmi časově náročné. Nakonec je to otázka teorie informací (tyto oběžné dráhy prostě nejsou tak jednoduché) a časoprostorového kompromisu (pokud nechcete zaznamenávat pozice, budete je muset vypočítat).
OK díky. To je škoda. O víkendu jsem se podíval na SPICE, a i když to očividně bude dělat to, co chci, API mě nechalo trochu nepochopeno a skutečnost, že bych možná čelil potřebě přenést jej na iOS. Podařilo se mi nyní obíhat měsíce, i když nebudou na správných místech, což je škoda.
Můžete použít aktuální oscilační prvky a předstírat, že oběžné dráhy měsíců budou vždy eliptické - to by bylo krátkodobě přesné. Neváhejte mě také přímo kontaktovat a požádat o bezplatnou pomoc (kontaktní údaje v profilu). SPICE by se měl na iOS kompilovat „tak, jak je“, ale nikdy jsem ho tam nepoužíval, takže si nejsem jistý. Je to v podstatě jen knihovna C ++, takže pokud znáte C ++, měli byste být schopni ji používat.
@barrycarter děkuji, to je opravdu velkorysé. Vrátím se k tomu, protože vím, že nebudu spokojený, aniž bych se o to alespoň pokusil. Trochu mimo téma, ale váš komentář přesvědčil, že oběžné dráhy nejsou vždy eliptické. Jak se na Zemi tyto věci dokáží dostat na oběžné dráhy, které se mění bez dopadu? Je to proto, že jsou zhruba ve stejné rovině, takže jejich orbitální poloměr je drží dostatečně daleko od sebe?
Dva odpovědi:
Aloft
2019-01-13 01:08:08 UTC
view on stackexchange narkive permalink

Vynikající kniha od Jean Meeus „Astronomické algoritmy“ poskytuje výpočty planetárních pozic a Jupiterových Galilean Moons (Io, Europa, Ganymede a Callisto). Meeus ve skutečnosti matematiku do značné míry nevysvětluje, takže je poměrně jednoduché ji sledovat jako formulační přístup. Používá VSOP pro planetární polohy a Lieskeho teorii E5 pro měsíce (vysvětlení obou můžete získat na Wikipedii). Jako bonus Meeus ukazuje, jak provádět výpočty pro oba parametry s menší mírou přesnosti, což může zlepšit vaši rychlost výpočtu. Ačkoli tato kniha může být trochu hustá, možná budete chtít přečíst rozdíl mezi „časem efemeridy“ a „pozemským časem“, protože to také ovlivní vaši přesnost.

Děkuji za tento návrh. Jak se ukázalo, vzal jsem si na radu @barrycarter výše a vzhlédl SPICE. Níže zveřejňuji odpověď, která je výsledkem.
PKCLsoft
2020-06-17 18:35:05 UTC
view on stackexchange narkive permalink

Děkuji těm lidem, kteří se mi s tím pokusili pomoci, a to jak při prvním zveřejnění otázky, tak i později.

Díky důkladné radě @barrycarter v komentářích jsem se podíval na pomocí knihovny SPICE k výpočtu pozic různých nebeských těles, která nás zajímají.

Po několika přečteních a dalších radách od samotných NAIF jsem převzal port CSPICE Knihovna, verze 66 pro práci na iOS (a následně MacOS).

Potom jsem pomocí nástroje SPKMERGE vygeneroval soubory efemerid, které obsahovaly pouze data, která jsem pro svou aplikaci potřeboval. Aplikace poté načte tyto soubory pomocí CSPICE a vygeneruje potřebná poziční data.

Upravená verze knihovny CSPICE pro iOS je nyní k dispozici pro ostatní, kteří ji chtějí využít.

Naleznete na:

  [CSPICELib pro iOS] [3]  


Tyto otázky a odpovědi byly automaticky přeloženy z anglického jazyka.Původní obsah je k dispozici na webu stackexchange, za který děkujeme za licenci cc by-sa 4.0, pod kterou je distribuován.
Loading...