From 02d0b4863edd79538d158017bfaaafd8df4308d6 Mon Sep 17 00:00:00 2001 From: Andreas Moeller Date: Tue, 10 Nov 2020 16:53:02 +0100 Subject: [PATCH] feat(mars): calculate central meridian --- src/planets/Mars.ts | 4 ++++ src/utils/physicalObsCalc.test.js | 7 +++++++ src/utils/physicalObsCalc.ts | 32 +++++++++++++++++++++++++++++++ 3 files changed, 43 insertions(+) create mode 100644 src/utils/physicalObsCalc.test.js create mode 100644 src/utils/physicalObsCalc.ts diff --git a/src/planets/Mars.ts b/src/planets/Mars.ts index 41583e1b..bc5932a7 100644 --- a/src/planets/Mars.ts +++ b/src/planets/Mars.ts @@ -35,4 +35,8 @@ export default class Mars extends Planet { return observationCalc.getAngularDiameter(distance, DIAMETER_MARS); } + + public async getCentralMeridian(): Promise { + return 0.0; + } } diff --git a/src/utils/physicalObsCalc.test.js b/src/utils/physicalObsCalc.test.js new file mode 100644 index 00000000..b4fce6a3 --- /dev/null +++ b/src/utils/physicalObsCalc.test.js @@ -0,0 +1,7 @@ +import {getCentralMeridianMars} from './physicalObsCalc'; + +it('tests getCentralMeridianMars', () => { + const T = -0.0714441976; + + getCentralMeridianMars(T); +}); diff --git a/src/utils/physicalObsCalc.ts b/src/utils/physicalObsCalc.ts new file mode 100644 index 00000000..ca6222be --- /dev/null +++ b/src/utils/physicalObsCalc.ts @@ -0,0 +1,32 @@ +export function getCentralMeridianMars(T: number): number { + const lambda0 = 352.9065 + 1.1733 * T; + const beta0 = 63.2818 - 0.00394 * T; + + console.log(lambda0, beta0); + + const t = 0.005028; // TODO light time + + const rightAscension0 = 316.55 + 0.00675 * (T - 1905); + const declination0 = 52.85 + 0.00347 * (T - 1950); + + console.log(rightAscension0, declination0); + const JDE = 0; + // const t = 0; // Light time + + const delta0Rad = 0.0; + const deltaRad = 0.0; + const alpha0Rad = 0.0; + const alphaRad = 0.0; + + const W = 11.504 + 350.89200025* (JDE - t - 2433282.5); + + console.log(W); + + const term1 = Math.sin(delta0Rad) * Math.cos(deltaRad) * Math.cos(alpha0Rad - alphaRad) + - Math.sin(deltaRad) * Math.cos(delta0Rad); + const term2 = Math.cos(deltaRad) * Math.sin(alpha0Rad - alphaRad); + const zeta = Math.atan2(term1, term2); + + const omega = W - zeta; + +}