@interstellar-tools/equations 0.18.0 → 0.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/__tests__/helpers/index.d.ts +3 -9
- package/dist/__tests__/helpers/index.d.ts.map +1 -1
- package/dist/__tests__/helpers/index.js +15 -21
- package/dist/__tests__/helpers/index.js.map +1 -1
- package/dist/categories/angle/__tests__/compute-angle.int.spec.d.ts.map +1 -0
- package/dist/{__tests__ → categories/angle/__tests__}/compute-angle.int.spec.js +2 -2
- package/dist/categories/angle/__tests__/compute-angle.int.spec.js.map +1 -0
- package/dist/categories/angle/__tests__/wrap-angle.spec.d.ts.map +1 -0
- package/dist/{__tests__ → categories/angle/__tests__}/wrap-angle.spec.js +1 -1
- package/dist/categories/angle/__tests__/wrap-angle.spec.js.map +1 -0
- package/dist/categories/anomalies/__tests__/eccentric-to-true-anomaly.spec.d.ts.map +1 -0
- package/dist/{__tests__ → categories/anomalies/__tests__}/eccentric-to-true-anomaly.spec.js +1 -1
- package/dist/categories/anomalies/__tests__/eccentric-to-true-anomaly.spec.js.map +1 -0
- package/dist/categories/anomalies/__tests__/mean-to-eccentric-anomaly.spec.d.ts.map +1 -0
- package/dist/{__tests__ → categories/anomalies/__tests__}/mean-to-eccentric-anomaly.spec.js +3 -3
- package/dist/categories/anomalies/__tests__/mean-to-eccentric-anomaly.spec.js.map +1 -0
- package/dist/categories/anomalies/__tests__/true-to-mean-anomaly.spec.d.ts.map +1 -0
- package/dist/{__tests__ → categories/anomalies/__tests__}/true-to-mean-anomaly.spec.js +2 -2
- package/dist/categories/anomalies/__tests__/true-to-mean-anomaly.spec.js.map +1 -0
- package/dist/categories/anomalies/eccentric-to-true-anomaly.d.ts +1 -1
- package/dist/categories/anomalies/eccentric-to-true-anomaly.d.ts.map +1 -1
- package/dist/categories/anomalies/true-to-mean-anomaly.d.ts +1 -1
- package/dist/categories/anomalies/true-to-mean-anomaly.d.ts.map +1 -1
- package/dist/categories/cartography/__tests__/body-fixed-from-inertial-dcm-iau.int.spec.d.ts +2 -0
- package/dist/categories/cartography/__tests__/body-fixed-from-inertial-dcm-iau.int.spec.d.ts.map +1 -0
- package/dist/categories/cartography/__tests__/body-fixed-from-inertial-dcm-iau.int.spec.js +56 -0
- package/dist/categories/cartography/__tests__/body-fixed-from-inertial-dcm-iau.int.spec.js.map +1 -0
- package/dist/categories/cartography/__tests__/eccentricity-squared-oblate-spheroid.spec.d.ts +2 -0
- package/dist/categories/cartography/__tests__/eccentricity-squared-oblate-spheroid.spec.d.ts.map +1 -0
- package/dist/categories/cartography/__tests__/eccentricity-squared-oblate-spheroid.spec.js +60 -0
- package/dist/categories/cartography/__tests__/eccentricity-squared-oblate-spheroid.spec.js.map +1 -0
- package/dist/categories/cartography/__tests__/flattening-oblate-spheroid.spec.d.ts +2 -0
- package/dist/categories/cartography/__tests__/flattening-oblate-spheroid.spec.d.ts.map +1 -0
- package/dist/categories/cartography/__tests__/flattening-oblate-spheroid.spec.js +60 -0
- package/dist/categories/cartography/__tests__/flattening-oblate-spheroid.spec.js.map +1 -0
- package/dist/categories/cartography/__tests__/is-on-triaxial-ellipsoid-surface.spec.d.ts +2 -0
- package/dist/categories/cartography/__tests__/is-on-triaxial-ellipsoid-surface.spec.d.ts.map +1 -0
- package/dist/categories/cartography/__tests__/is-on-triaxial-ellipsoid-surface.spec.js +73 -0
- package/dist/categories/cartography/__tests__/is-on-triaxial-ellipsoid-surface.spec.js.map +1 -0
- package/dist/categories/cartography/__tests__/planetocentric-latitude.spec.d.ts +2 -0
- package/dist/categories/cartography/__tests__/planetocentric-latitude.spec.d.ts.map +1 -0
- package/dist/categories/cartography/__tests__/planetocentric-latitude.spec.js +69 -0
- package/dist/categories/cartography/__tests__/planetocentric-latitude.spec.js.map +1 -0
- package/dist/categories/cartography/__tests__/planetographic-latitude-oblate.spec.d.ts +2 -0
- package/dist/categories/cartography/__tests__/planetographic-latitude-oblate.spec.d.ts.map +1 -0
- package/dist/categories/cartography/__tests__/planetographic-latitude-oblate.spec.js +103 -0
- package/dist/categories/cartography/__tests__/planetographic-latitude-oblate.spec.js.map +1 -0
- package/dist/categories/cartography/body-fixed-from-inertial-dcm-iau.d.ts +50 -0
- package/dist/categories/cartography/body-fixed-from-inertial-dcm-iau.d.ts.map +1 -0
- package/dist/categories/cartography/body-fixed-from-inertial-dcm-iau.js +64 -0
- package/dist/categories/cartography/body-fixed-from-inertial-dcm-iau.js.map +1 -0
- package/dist/categories/cartography/eccentricity-squared-oblate-spheroid.d.ts +40 -0
- package/dist/categories/cartography/eccentricity-squared-oblate-spheroid.d.ts.map +1 -0
- package/dist/categories/cartography/eccentricity-squared-oblate-spheroid.js +50 -0
- package/dist/categories/cartography/eccentricity-squared-oblate-spheroid.js.map +1 -0
- package/dist/categories/cartography/flattening-oblate-spheroid.d.ts +40 -0
- package/dist/categories/cartography/flattening-oblate-spheroid.d.ts.map +1 -0
- package/dist/categories/cartography/flattening-oblate-spheroid.js +50 -0
- package/dist/categories/cartography/flattening-oblate-spheroid.js.map +1 -0
- package/dist/categories/cartography/is-on-triaxial-ellipsoid-surface.d.ts +54 -0
- package/dist/categories/cartography/is-on-triaxial-ellipsoid-surface.d.ts.map +1 -0
- package/dist/categories/cartography/is-on-triaxial-ellipsoid-surface.js +77 -0
- package/dist/categories/cartography/is-on-triaxial-ellipsoid-surface.js.map +1 -0
- package/dist/categories/cartography/planetocentric-latitude.d.ts +38 -0
- package/dist/categories/cartography/planetocentric-latitude.d.ts.map +1 -0
- package/dist/categories/cartography/planetocentric-latitude.js +47 -0
- package/dist/categories/cartography/planetocentric-latitude.js.map +1 -0
- package/dist/categories/cartography/planetographic-latitude-oblate.d.ts +19 -0
- package/dist/categories/cartography/planetographic-latitude-oblate.d.ts.map +1 -0
- package/dist/categories/cartography/planetographic-latitude-oblate.js +44 -0
- package/dist/categories/cartography/planetographic-latitude-oblate.js.map +1 -0
- package/dist/categories/gravity/__tests__/gravitational-acceleration-on1-by2.int.spec.d.ts.map +1 -0
- package/dist/{__tests__ → categories/gravity/__tests__}/gravitational-acceleration-on1-by2.int.spec.js +3 -2
- package/dist/categories/gravity/__tests__/gravitational-acceleration-on1-by2.int.spec.js.map +1 -0
- package/dist/categories/gravity/__tests__/gravitational-force-on1-by2.int.spec.d.ts.map +1 -0
- package/dist/{__tests__ → categories/gravity/__tests__}/gravitational-force-on1-by2.int.spec.js +3 -2
- package/dist/categories/gravity/__tests__/gravitational-force-on1-by2.int.spec.js.map +1 -0
- package/dist/categories/gravity/__tests__/gravitational-force.spec.d.ts.map +1 -0
- package/dist/{__tests__ → categories/gravity/__tests__}/gravitational-force.spec.js +3 -2
- package/dist/categories/gravity/__tests__/gravitational-force.spec.js.map +1 -0
- package/dist/categories/gravity/__tests__/gravitational-parameters.spec.d.ts.map +1 -0
- package/dist/{__tests__ → categories/gravity/__tests__}/gravitational-parameters.spec.js +2 -2
- package/dist/categories/gravity/__tests__/gravitational-parameters.spec.js.map +1 -0
- package/dist/categories/helpers/__tests__/apply-matrix-3.spec.d.ts +2 -0
- package/dist/categories/helpers/__tests__/apply-matrix-3.spec.d.ts.map +1 -0
- package/dist/categories/helpers/__tests__/apply-matrix-3.spec.js +79 -0
- package/dist/categories/helpers/__tests__/apply-matrix-3.spec.js.map +1 -0
- package/dist/categories/helpers/__tests__/det-3.spec.d.ts +2 -0
- package/dist/categories/helpers/__tests__/det-3.spec.d.ts.map +1 -0
- package/dist/categories/helpers/__tests__/det-3.spec.js +73 -0
- package/dist/categories/helpers/__tests__/det-3.spec.js.map +1 -0
- package/dist/categories/helpers/__tests__/mat-mul3.spec.d.ts +2 -0
- package/dist/categories/helpers/__tests__/mat-mul3.spec.d.ts.map +1 -0
- package/dist/categories/helpers/__tests__/mat-mul3.spec.js +86 -0
- package/dist/categories/helpers/__tests__/mat-mul3.spec.js.map +1 -0
- package/dist/categories/helpers/__tests__/misc.spec.d.ts +2 -0
- package/dist/categories/helpers/__tests__/misc.spec.d.ts.map +1 -0
- package/dist/categories/helpers/__tests__/misc.spec.js +101 -0
- package/dist/categories/helpers/__tests__/misc.spec.js.map +1 -0
- package/dist/categories/helpers/__tests__/radians.spec.d.ts +2 -0
- package/dist/categories/helpers/__tests__/radians.spec.d.ts.map +1 -0
- package/dist/categories/helpers/__tests__/radians.spec.js +37 -0
- package/dist/categories/helpers/__tests__/radians.spec.js.map +1 -0
- package/dist/categories/helpers/__tests__/rot-1.spec.d.ts +2 -0
- package/dist/categories/helpers/__tests__/rot-1.spec.d.ts.map +1 -0
- package/dist/categories/helpers/__tests__/rot-1.spec.js +59 -0
- package/dist/categories/helpers/__tests__/rot-1.spec.js.map +1 -0
- package/dist/categories/helpers/__tests__/rot-3.spec.d.ts +2 -0
- package/dist/categories/helpers/__tests__/rot-3.spec.d.ts.map +1 -0
- package/dist/categories/helpers/__tests__/rot-3.spec.js +65 -0
- package/dist/categories/helpers/__tests__/rot-3.spec.js.map +1 -0
- package/dist/categories/helpers/apply-matrix-3.d.ts +38 -0
- package/dist/categories/helpers/apply-matrix-3.d.ts.map +1 -0
- package/dist/categories/helpers/apply-matrix-3.js +44 -0
- package/dist/categories/helpers/apply-matrix-3.js.map +1 -0
- package/dist/categories/helpers/det-3.d.ts +52 -0
- package/dist/categories/helpers/det-3.d.ts.map +1 -0
- package/dist/categories/helpers/det-3.js +62 -0
- package/dist/categories/helpers/det-3.js.map +1 -0
- package/dist/categories/helpers/mat-mul3.d.ts +46 -0
- package/dist/categories/helpers/mat-mul3.d.ts.map +1 -0
- package/dist/categories/helpers/mat-mul3.js +52 -0
- package/dist/categories/helpers/mat-mul3.js.map +1 -0
- package/dist/categories/helpers/misc.d.ts +118 -0
- package/dist/categories/helpers/misc.d.ts.map +1 -0
- package/dist/categories/helpers/misc.js +131 -0
- package/dist/categories/helpers/misc.js.map +1 -0
- package/dist/categories/helpers/radians.d.ts +41 -0
- package/dist/categories/helpers/radians.d.ts.map +1 -0
- package/dist/categories/helpers/radians.js +40 -0
- package/dist/categories/helpers/radians.js.map +1 -0
- package/dist/categories/helpers/rot-1.d.ts +38 -0
- package/dist/categories/helpers/rot-1.d.ts.map +1 -0
- package/dist/categories/helpers/rot-1.js +47 -0
- package/dist/categories/helpers/rot-1.js.map +1 -0
- package/dist/categories/helpers/rot-3.d.ts +38 -0
- package/dist/categories/helpers/rot-3.d.ts.map +1 -0
- package/dist/categories/helpers/rot-3.js +47 -0
- package/dist/categories/helpers/rot-3.js.map +1 -0
- package/dist/categories/helpers/transpose-3.d.ts +51 -0
- package/dist/categories/helpers/transpose-3.d.ts.map +1 -0
- package/dist/categories/helpers/transpose-3.js +54 -0
- package/dist/categories/helpers/transpose-3.js.map +1 -0
- package/dist/categories/kepler/__tests__/solve-kepler-bisection.spec.d.ts.map +1 -0
- package/dist/{__tests__ → categories/kepler/__tests__}/solve-kepler-bisection.spec.js +3 -2
- package/dist/categories/kepler/__tests__/solve-kepler-bisection.spec.js.map +1 -0
- package/dist/categories/kepler/__tests__/solve-kepler-high-eccentricity.spec.d.ts.map +1 -0
- package/dist/{__tests__ → categories/kepler/__tests__}/solve-kepler-high-eccentricity.spec.js +1 -1
- package/dist/categories/kepler/__tests__/solve-kepler-high-eccentricity.spec.js.map +1 -0
- package/dist/categories/kepler/__tests__/solve-kepler-newton-raphson.spec.d.ts.map +1 -0
- package/dist/{__tests__ → categories/kepler/__tests__}/solve-kepler-newton-raphson.spec.js +1 -1
- package/dist/categories/kepler/__tests__/solve-kepler-newton-raphson.spec.js.map +1 -0
- package/dist/categories/kepler/__tests__/solve-kepler.int.spec.d.ts.map +1 -0
- package/dist/{__tests__ → categories/kepler/__tests__}/solve-kepler.int.spec.js +1 -1
- package/dist/categories/kepler/__tests__/solve-kepler.int.spec.js.map +1 -0
- package/dist/categories/kepler/solve-kepler-bisection.d.ts +1 -1
- package/dist/categories/kepler/solve-kepler-bisection.d.ts.map +1 -1
- package/dist/categories/kepler/solve-kepler-high-eccentricity.d.ts +1 -1
- package/dist/categories/kepler/solve-kepler-high-eccentricity.d.ts.map +1 -1
- package/dist/categories/kepler/solve-kepler-newton-raphson.d.ts +1 -1
- package/dist/categories/kepler/solve-kepler-newton-raphson.d.ts.map +1 -1
- package/dist/categories/kepler/solve-kepler-newton-raphson.js +1 -1
- package/dist/categories/kepler/solve-kepler.d.ts +1 -1
- package/dist/categories/kepler/solve-kepler.d.ts.map +1 -1
- package/dist/categories/manoeuvres/__tests__/combine-burns-delta-v.spec.d.ts.map +1 -0
- package/dist/{__tests__ → categories/manoeuvres/__tests__}/combine-burns-delta-v.spec.js +3 -2
- package/dist/categories/manoeuvres/__tests__/combine-burns-delta-v.spec.js.map +1 -0
- package/dist/categories/manoeuvres/__tests__/gravity-assist-turning-angle.spec.d.ts.map +1 -0
- package/dist/{__tests__ → categories/manoeuvres/__tests__}/gravity-assist-turning-angle.spec.js +2 -2
- package/dist/categories/manoeuvres/__tests__/gravity-assist-turning-angle.spec.js.map +1 -0
- package/dist/categories/manoeuvres/__tests__/hohmann-transfer.spec.d.ts.map +1 -0
- package/dist/{__tests__ → categories/manoeuvres/__tests__}/hohmann-transfer.spec.js +2 -2
- package/dist/categories/manoeuvres/__tests__/hohmann-transfer.spec.js.map +1 -0
- package/dist/categories/manoeuvres/__tests__/oberth-energy-gain.spec.d.ts.map +1 -0
- package/dist/{__tests__ → categories/manoeuvres/__tests__}/oberth-energy-gain.spec.js +2 -2
- package/dist/categories/manoeuvres/__tests__/oberth-energy-gain.spec.js.map +1 -0
- package/dist/categories/manoeuvres/__tests__/plane-change-delta-v.spec.d.ts.map +1 -0
- package/dist/{__tests__ → categories/manoeuvres/__tests__}/plane-change-delta-v.spec.js +3 -2
- package/dist/categories/manoeuvres/__tests__/plane-change-delta-v.spec.js.map +1 -0
- package/dist/categories/manoeuvres/__tests__/rocket-delta-v-from-isp.spec.d.ts +2 -0
- package/dist/categories/manoeuvres/__tests__/rocket-delta-v-from-isp.spec.d.ts.map +1 -0
- package/dist/categories/manoeuvres/__tests__/rocket-delta-v-from-isp.spec.js +84 -0
- package/dist/categories/manoeuvres/__tests__/rocket-delta-v-from-isp.spec.js.map +1 -0
- package/dist/categories/manoeuvres/__tests__/rocket-delta-v-from-ve.spec.d.ts +2 -0
- package/dist/categories/manoeuvres/__tests__/rocket-delta-v-from-ve.spec.d.ts.map +1 -0
- package/dist/categories/manoeuvres/__tests__/rocket-delta-v-from-ve.spec.js +65 -0
- package/dist/categories/manoeuvres/__tests__/rocket-delta-v-from-ve.spec.js.map +1 -0
- package/dist/categories/manoeuvres/rocket-delta-v-from-isp.d.ts +46 -0
- package/dist/categories/manoeuvres/rocket-delta-v-from-isp.d.ts.map +1 -0
- package/dist/categories/manoeuvres/rocket-delta-v-from-isp.js +67 -0
- package/dist/categories/manoeuvres/rocket-delta-v-from-isp.js.map +1 -0
- package/dist/categories/manoeuvres/rocket-delta-v-from-ve.d.ts +44 -0
- package/dist/categories/manoeuvres/rocket-delta-v-from-ve.d.ts.map +1 -0
- package/dist/categories/manoeuvres/rocket-delta-v-from-ve.js +62 -0
- package/dist/categories/manoeuvres/rocket-delta-v-from-ve.js.map +1 -0
- package/dist/categories/orbits/__tests__/atmospheric-drag-acceleration.spec.d.ts +2 -0
- package/dist/categories/orbits/__tests__/atmospheric-drag-acceleration.spec.d.ts.map +1 -0
- package/dist/categories/orbits/__tests__/atmospheric-drag-acceleration.spec.js +71 -0
- package/dist/categories/orbits/__tests__/atmospheric-drag-acceleration.spec.js.map +1 -0
- package/dist/categories/orbits/__tests__/characteristic-energy-c3.spec.d.ts.map +1 -0
- package/dist/{__tests__ → categories/orbits/__tests__}/characteristic-energy-c3.spec.js +2 -2
- package/dist/categories/orbits/__tests__/characteristic-energy-c3.spec.js.map +1 -0
- package/dist/categories/orbits/__tests__/circular-speed.spec.d.ts.map +1 -0
- package/dist/{__tests__ → categories/orbits/__tests__}/circular-speed.spec.js +2 -2
- package/dist/categories/orbits/__tests__/circular-speed.spec.js.map +1 -0
- package/dist/categories/orbits/__tests__/cw-hill-derivatives.spec.d.ts.map +1 -0
- package/dist/{__tests__ → categories/orbits/__tests__}/cw-hill-derivatives.spec.js +2 -2
- package/dist/categories/orbits/__tests__/cw-hill-derivatives.spec.js.map +1 -0
- package/dist/categories/orbits/__tests__/escape-speed.spec.d.ts.map +1 -0
- package/dist/{__tests__ → categories/orbits/__tests__}/escape-speed.spec.js +2 -2
- package/dist/categories/orbits/__tests__/escape-speed.spec.js.map +1 -0
- package/dist/categories/orbits/__tests__/flight-path-angle-from-true-anomaly.spec.d.ts.map +1 -0
- package/dist/{__tests__ → categories/orbits/__tests__}/flight-path-angle-from-true-anomaly.spec.js +2 -2
- package/dist/categories/orbits/__tests__/flight-path-angle-from-true-anomaly.spec.js.map +1 -0
- package/dist/categories/orbits/__tests__/hyperbolic-periapsis-speed.spec.d.ts.map +1 -0
- package/dist/{__tests__ → categories/orbits/__tests__}/hyperbolic-periapsis-speed.spec.js +2 -2
- package/dist/categories/orbits/__tests__/hyperbolic-periapsis-speed.spec.js.map +1 -0
- package/dist/categories/orbits/__tests__/j2-argument-of-perigee-rate.spec.d.ts +2 -0
- package/dist/categories/orbits/__tests__/j2-argument-of-perigee-rate.spec.d.ts.map +1 -0
- package/dist/categories/orbits/__tests__/j2-argument-of-perigee-rate.spec.js +104 -0
- package/dist/categories/orbits/__tests__/j2-argument-of-perigee-rate.spec.js.map +1 -0
- package/dist/categories/orbits/__tests__/j2-nodal-precession-rate.spec.d.ts +2 -0
- package/dist/categories/orbits/__tests__/j2-nodal-precession-rate.spec.d.ts.map +1 -0
- package/dist/categories/orbits/__tests__/j2-nodal-precession-rate.spec.js +99 -0
- package/dist/categories/orbits/__tests__/j2-nodal-precession-rate.spec.js.map +1 -0
- package/dist/categories/orbits/__tests__/kepler-period.spec.d.ts.map +1 -0
- package/dist/{__tests__ → categories/orbits/__tests__}/kepler-period.spec.js +2 -2
- package/dist/categories/orbits/__tests__/kepler-period.spec.js.map +1 -0
- package/dist/categories/orbits/__tests__/mean-motion.spec.d.ts.map +1 -0
- package/dist/{__tests__ → categories/orbits/__tests__}/mean-motion.spec.js +2 -2
- package/dist/categories/orbits/__tests__/mean-motion.spec.js.map +1 -0
- package/dist/categories/orbits/__tests__/peri-apoapsis-radii.spec.d.ts.map +1 -0
- package/dist/{__tests__ → categories/orbits/__tests__}/peri-apoapsis-radii.spec.js +2 -2
- package/dist/categories/orbits/__tests__/peri-apoapsis-radii.spec.js.map +1 -0
- package/dist/categories/orbits/__tests__/specific-angular-momentum-from-elements.spec.d.ts.map +1 -0
- package/dist/{__tests__ → categories/orbits/__tests__}/specific-angular-momentum-from-elements.spec.js +2 -2
- package/dist/categories/orbits/__tests__/specific-angular-momentum-from-elements.spec.js.map +1 -0
- package/dist/categories/orbits/__tests__/specific-angular-momentum.spec.d.ts.map +1 -0
- package/dist/{__tests__ → categories/orbits/__tests__}/specific-angular-momentum.spec.js +3 -2
- package/dist/categories/orbits/__tests__/specific-angular-momentum.spec.js.map +1 -0
- package/dist/categories/orbits/__tests__/specific-mechanical-energy.spec.d.ts.map +1 -0
- package/dist/{__tests__ → categories/orbits/__tests__}/specific-mechanical-energy.spec.js +2 -2
- package/dist/categories/orbits/__tests__/specific-mechanical-energy.spec.js.map +1 -0
- package/dist/categories/orbits/__tests__/sphere-of-influence-radius.spec.d.ts.map +1 -0
- package/dist/{__tests__ → categories/orbits/__tests__}/sphere-of-influence-radius.spec.js +2 -2
- package/dist/categories/orbits/__tests__/sphere-of-influence-radius.spec.js.map +1 -0
- package/dist/categories/orbits/__tests__/vis-viva-speed.spec.d.ts.map +1 -0
- package/dist/{__tests__ → categories/orbits/__tests__}/vis-viva-speed.spec.js +2 -2
- package/dist/categories/orbits/__tests__/vis-viva-speed.spec.js.map +1 -0
- package/dist/categories/orbits/atmospheric-drag-acceleration.d.ts +40 -0
- package/dist/categories/orbits/atmospheric-drag-acceleration.d.ts.map +1 -0
- package/dist/categories/orbits/atmospheric-drag-acceleration.js +63 -0
- package/dist/categories/orbits/atmospheric-drag-acceleration.js.map +1 -0
- package/dist/categories/orbits/flight-path-angle-from-true-anomaly.d.ts +1 -1
- package/dist/categories/orbits/flight-path-angle-from-true-anomaly.d.ts.map +1 -1
- package/dist/categories/orbits/j2-argument-of-perigee-rate.d.ts +53 -0
- package/dist/categories/orbits/j2-argument-of-perigee-rate.d.ts.map +1 -0
- package/dist/categories/orbits/j2-argument-of-perigee-rate.js +84 -0
- package/dist/categories/orbits/j2-argument-of-perigee-rate.js.map +1 -0
- package/dist/categories/orbits/j2-nodal-precession-rate.d.ts +52 -0
- package/dist/categories/orbits/j2-nodal-precession-rate.d.ts.map +1 -0
- package/dist/categories/orbits/j2-nodal-precession-rate.js +82 -0
- package/dist/categories/orbits/j2-nodal-precession-rate.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/__tests__/characteristic-energy-c3.spec.d.ts.map +0 -1
- package/dist/__tests__/characteristic-energy-c3.spec.js.map +0 -1
- package/dist/__tests__/circular-speed.spec.d.ts.map +0 -1
- package/dist/__tests__/circular-speed.spec.js.map +0 -1
- package/dist/__tests__/combine-burns-delta-v.spec.d.ts.map +0 -1
- package/dist/__tests__/combine-burns-delta-v.spec.js.map +0 -1
- package/dist/__tests__/compute-angle.int.spec.d.ts.map +0 -1
- package/dist/__tests__/compute-angle.int.spec.js.map +0 -1
- package/dist/__tests__/cw-hill-derivatives.spec.d.ts.map +0 -1
- package/dist/__tests__/cw-hill-derivatives.spec.js.map +0 -1
- package/dist/__tests__/eccentric-to-true-anomaly.spec.d.ts.map +0 -1
- package/dist/__tests__/eccentric-to-true-anomaly.spec.js.map +0 -1
- package/dist/__tests__/escape-speed.spec.d.ts.map +0 -1
- package/dist/__tests__/escape-speed.spec.js.map +0 -1
- package/dist/__tests__/flight-path-angle-from-true-anomaly.spec.d.ts.map +0 -1
- package/dist/__tests__/flight-path-angle-from-true-anomaly.spec.js.map +0 -1
- package/dist/__tests__/gravitational-acceleration-on1-by2.int.spec.d.ts.map +0 -1
- package/dist/__tests__/gravitational-acceleration-on1-by2.int.spec.js.map +0 -1
- package/dist/__tests__/gravitational-force-on1-by2.int.spec.d.ts.map +0 -1
- package/dist/__tests__/gravitational-force-on1-by2.int.spec.js.map +0 -1
- package/dist/__tests__/gravitational-force.spec.d.ts.map +0 -1
- package/dist/__tests__/gravitational-force.spec.js.map +0 -1
- package/dist/__tests__/gravitational-parameters.spec.d.ts.map +0 -1
- package/dist/__tests__/gravitational-parameters.spec.js.map +0 -1
- package/dist/__tests__/gravity-assist-turning-angle.spec.d.ts.map +0 -1
- package/dist/__tests__/gravity-assist-turning-angle.spec.js.map +0 -1
- package/dist/__tests__/hohmann-transfer.spec.d.ts.map +0 -1
- package/dist/__tests__/hohmann-transfer.spec.js.map +0 -1
- package/dist/__tests__/hyperbolic-periapsis-speed.spec.d.ts.map +0 -1
- package/dist/__tests__/hyperbolic-periapsis-speed.spec.js.map +0 -1
- package/dist/__tests__/kepler-period.spec.d.ts.map +0 -1
- package/dist/__tests__/kepler-period.spec.js.map +0 -1
- package/dist/__tests__/mean-motion.spec.d.ts.map +0 -1
- package/dist/__tests__/mean-motion.spec.js.map +0 -1
- package/dist/__tests__/mean-to-eccentric-anomaly.spec.d.ts.map +0 -1
- package/dist/__tests__/mean-to-eccentric-anomaly.spec.js.map +0 -1
- package/dist/__tests__/oberth-energy-gain.spec.d.ts.map +0 -1
- package/dist/__tests__/oberth-energy-gain.spec.js.map +0 -1
- package/dist/__tests__/peri-apoapsis-radii.spec.d.ts.map +0 -1
- package/dist/__tests__/peri-apoapsis-radii.spec.js.map +0 -1
- package/dist/__tests__/plane-change-delta-v.spec.d.ts.map +0 -1
- package/dist/__tests__/plane-change-delta-v.spec.js.map +0 -1
- package/dist/__tests__/solve-kepler-bisection.spec.d.ts.map +0 -1
- package/dist/__tests__/solve-kepler-bisection.spec.js.map +0 -1
- package/dist/__tests__/solve-kepler-high-eccentricity.spec.d.ts.map +0 -1
- package/dist/__tests__/solve-kepler-high-eccentricity.spec.js.map +0 -1
- package/dist/__tests__/solve-kepler-newton-raphson.spec.d.ts.map +0 -1
- package/dist/__tests__/solve-kepler-newton-raphson.spec.js.map +0 -1
- package/dist/__tests__/solve-kepler.int.spec.d.ts.map +0 -1
- package/dist/__tests__/solve-kepler.int.spec.js.map +0 -1
- package/dist/__tests__/specific-angular-momentum-from-elements.spec.d.ts.map +0 -1
- package/dist/__tests__/specific-angular-momentum-from-elements.spec.js.map +0 -1
- package/dist/__tests__/specific-angular-momentum.spec.d.ts.map +0 -1
- package/dist/__tests__/specific-angular-momentum.spec.js.map +0 -1
- package/dist/__tests__/specific-mechanical-energy.spec.d.ts.map +0 -1
- package/dist/__tests__/specific-mechanical-energy.spec.js.map +0 -1
- package/dist/__tests__/sphere-of-influence-radius.spec.d.ts.map +0 -1
- package/dist/__tests__/sphere-of-influence-radius.spec.js.map +0 -1
- package/dist/__tests__/true-to-mean-anomaly.spec.d.ts.map +0 -1
- package/dist/__tests__/true-to-mean-anomaly.spec.js.map +0 -1
- package/dist/__tests__/vis-viva-speed.spec.d.ts.map +0 -1
- package/dist/__tests__/vis-viva-speed.spec.js.map +0 -1
- package/dist/__tests__/wrap-angle.spec.d.ts.map +0 -1
- package/dist/__tests__/wrap-angle.spec.js.map +0 -1
- /package/dist/{__tests__ → categories/angle/__tests__}/compute-angle.int.spec.d.ts +0 -0
- /package/dist/{__tests__ → categories/angle/__tests__}/wrap-angle.spec.d.ts +0 -0
- /package/dist/{__tests__ → categories/anomalies/__tests__}/eccentric-to-true-anomaly.spec.d.ts +0 -0
- /package/dist/{__tests__ → categories/anomalies/__tests__}/mean-to-eccentric-anomaly.spec.d.ts +0 -0
- /package/dist/{__tests__ → categories/anomalies/__tests__}/true-to-mean-anomaly.spec.d.ts +0 -0
- /package/dist/{__tests__ → categories/gravity/__tests__}/gravitational-acceleration-on1-by2.int.spec.d.ts +0 -0
- /package/dist/{__tests__ → categories/gravity/__tests__}/gravitational-force-on1-by2.int.spec.d.ts +0 -0
- /package/dist/{__tests__ → categories/gravity/__tests__}/gravitational-force.spec.d.ts +0 -0
- /package/dist/{__tests__ → categories/gravity/__tests__}/gravitational-parameters.spec.d.ts +0 -0
- /package/dist/{__tests__ → categories/kepler/__tests__}/solve-kepler-bisection.spec.d.ts +0 -0
- /package/dist/{__tests__ → categories/kepler/__tests__}/solve-kepler-high-eccentricity.spec.d.ts +0 -0
- /package/dist/{__tests__ → categories/kepler/__tests__}/solve-kepler-newton-raphson.spec.d.ts +0 -0
- /package/dist/{__tests__ → categories/kepler/__tests__}/solve-kepler.int.spec.d.ts +0 -0
- /package/dist/{__tests__ → categories/manoeuvres/__tests__}/combine-burns-delta-v.spec.d.ts +0 -0
- /package/dist/{__tests__ → categories/manoeuvres/__tests__}/gravity-assist-turning-angle.spec.d.ts +0 -0
- /package/dist/{__tests__ → categories/manoeuvres/__tests__}/hohmann-transfer.spec.d.ts +0 -0
- /package/dist/{__tests__ → categories/manoeuvres/__tests__}/oberth-energy-gain.spec.d.ts +0 -0
- /package/dist/{__tests__ → categories/manoeuvres/__tests__}/plane-change-delta-v.spec.d.ts +0 -0
- /package/dist/{__tests__ → categories/orbits/__tests__}/characteristic-energy-c3.spec.d.ts +0 -0
- /package/dist/{__tests__ → categories/orbits/__tests__}/circular-speed.spec.d.ts +0 -0
- /package/dist/{__tests__ → categories/orbits/__tests__}/cw-hill-derivatives.spec.d.ts +0 -0
- /package/dist/{__tests__ → categories/orbits/__tests__}/escape-speed.spec.d.ts +0 -0
- /package/dist/{__tests__ → categories/orbits/__tests__}/flight-path-angle-from-true-anomaly.spec.d.ts +0 -0
- /package/dist/{__tests__ → categories/orbits/__tests__}/hyperbolic-periapsis-speed.spec.d.ts +0 -0
- /package/dist/{__tests__ → categories/orbits/__tests__}/kepler-period.spec.d.ts +0 -0
- /package/dist/{__tests__ → categories/orbits/__tests__}/mean-motion.spec.d.ts +0 -0
- /package/dist/{__tests__ → categories/orbits/__tests__}/peri-apoapsis-radii.spec.d.ts +0 -0
- /package/dist/{__tests__ → categories/orbits/__tests__}/specific-angular-momentum-from-elements.spec.d.ts +0 -0
- /package/dist/{__tests__ → categories/orbits/__tests__}/specific-angular-momentum.spec.d.ts +0 -0
- /package/dist/{__tests__ → categories/orbits/__tests__}/specific-mechanical-energy.spec.d.ts +0 -0
- /package/dist/{__tests__ → categories/orbits/__tests__}/sphere-of-influence-radius.spec.d.ts +0 -0
- /package/dist/{__tests__ → categories/orbits/__tests__}/vis-viva-speed.spec.d.ts +0 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { Matrix3x3Type } from '@interstellar-tools/types';
|
|
2
|
+
/**
|
|
3
|
+
* Transpose a **3×3 matrix** (row-major).
|
|
4
|
+
*
|
|
5
|
+
* For a matrix:
|
|
6
|
+
* $$
|
|
7
|
+
* \mathbf{A} =
|
|
8
|
+
* \begin{bmatrix}
|
|
9
|
+
* a_{00} & a_{01} & a_{02} \\
|
|
10
|
+
* a_{10} & a_{11} & a_{12} \\
|
|
11
|
+
* a_{20} & a_{21} & a_{22}
|
|
12
|
+
* \end{bmatrix}
|
|
13
|
+
* $$
|
|
14
|
+
*
|
|
15
|
+
* the transpose is:
|
|
16
|
+
* $$
|
|
17
|
+
* \mathbf{A}^\mathsf{T} =
|
|
18
|
+
* \begin{bmatrix}
|
|
19
|
+
* a_{00} & a_{10} & a_{20} \\
|
|
20
|
+
* a_{01} & a_{11} & a_{21} \\
|
|
21
|
+
* a_{02} & a_{12} & a_{22}
|
|
22
|
+
* \end{bmatrix}
|
|
23
|
+
* $$
|
|
24
|
+
*
|
|
25
|
+
* Notes:
|
|
26
|
+
* - Matrices are treated as **row-major**: `A[row][col]`.
|
|
27
|
+
* - For rotation matrices / DCMs, the transpose is also the inverse:
|
|
28
|
+
* $ \mathbf{R}^{-1} = \mathbf{R}^\mathsf{T} $.
|
|
29
|
+
*
|
|
30
|
+
* @param A - 3×3 matrix (row-major).
|
|
31
|
+
* @returns Transposed matrix `Aᵀ` (row-major).
|
|
32
|
+
* @group Helpers
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```ts
|
|
36
|
+
* const A: Matrix3x3Type = [
|
|
37
|
+
* [1, 2, 3],
|
|
38
|
+
* [4, 5, 6],
|
|
39
|
+
* [7, 8, 9]
|
|
40
|
+
* ];
|
|
41
|
+
*
|
|
42
|
+
* const AT = transpose3(A);
|
|
43
|
+
* // [
|
|
44
|
+
* // [1, 4, 7],
|
|
45
|
+
* // [2, 5, 8],
|
|
46
|
+
* // [3, 6, 9]
|
|
47
|
+
* // ]
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export declare const transpose3: (A: Matrix3x3Type) => Matrix3x3Type;
|
|
51
|
+
//# sourceMappingURL=transpose-3.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transpose-3.d.ts","sourceRoot":"","sources":["../../../src/categories/helpers/transpose-3.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,eAAO,MAAM,UAAU,GAAI,GAAG,aAAa,KAAG,aAKlC,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transpose a **3×3 matrix** (row-major).
|
|
3
|
+
*
|
|
4
|
+
* For a matrix:
|
|
5
|
+
* $$
|
|
6
|
+
* \mathbf{A} =
|
|
7
|
+
* \begin{bmatrix}
|
|
8
|
+
* a_{00} & a_{01} & a_{02} \\
|
|
9
|
+
* a_{10} & a_{11} & a_{12} \\
|
|
10
|
+
* a_{20} & a_{21} & a_{22}
|
|
11
|
+
* \end{bmatrix}
|
|
12
|
+
* $$
|
|
13
|
+
*
|
|
14
|
+
* the transpose is:
|
|
15
|
+
* $$
|
|
16
|
+
* \mathbf{A}^\mathsf{T} =
|
|
17
|
+
* \begin{bmatrix}
|
|
18
|
+
* a_{00} & a_{10} & a_{20} \\
|
|
19
|
+
* a_{01} & a_{11} & a_{21} \\
|
|
20
|
+
* a_{02} & a_{12} & a_{22}
|
|
21
|
+
* \end{bmatrix}
|
|
22
|
+
* $$
|
|
23
|
+
*
|
|
24
|
+
* Notes:
|
|
25
|
+
* - Matrices are treated as **row-major**: `A[row][col]`.
|
|
26
|
+
* - For rotation matrices / DCMs, the transpose is also the inverse:
|
|
27
|
+
* $ \mathbf{R}^{-1} = \mathbf{R}^\mathsf{T} $.
|
|
28
|
+
*
|
|
29
|
+
* @param A - 3×3 matrix (row-major).
|
|
30
|
+
* @returns Transposed matrix `Aᵀ` (row-major).
|
|
31
|
+
* @group Helpers
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```ts
|
|
35
|
+
* const A: Matrix3x3Type = [
|
|
36
|
+
* [1, 2, 3],
|
|
37
|
+
* [4, 5, 6],
|
|
38
|
+
* [7, 8, 9]
|
|
39
|
+
* ];
|
|
40
|
+
*
|
|
41
|
+
* const AT = transpose3(A);
|
|
42
|
+
* // [
|
|
43
|
+
* // [1, 4, 7],
|
|
44
|
+
* // [2, 5, 8],
|
|
45
|
+
* // [3, 6, 9]
|
|
46
|
+
* // ]
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
export const transpose3 = (A) => [
|
|
50
|
+
[A[0][0], A[1][0], A[2][0]],
|
|
51
|
+
[A[0][1], A[1][1], A[2][1]],
|
|
52
|
+
[A[0][2], A[1][2], A[2][2]]
|
|
53
|
+
];
|
|
54
|
+
//# sourceMappingURL=transpose-3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transpose-3.js","sourceRoot":"","sources":["../../../src/categories/helpers/transpose-3.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAgB,EAAiB,EAAE,CAC5D;IACE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACnB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solve-kepler-bisection.spec.d.ts","sourceRoot":"","sources":["../../../../src/categories/kepler/__tests__/solve-kepler-bisection.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import assert from 'node:assert/strict';
|
|
2
2
|
import test, { describe } from 'node:test';
|
|
3
|
-
import { solveKeplerBisection } from '../
|
|
4
|
-
import { angleClose
|
|
3
|
+
import { solveKeplerBisection } from '../solve-kepler-bisection';
|
|
4
|
+
import { angleClose } from 'packages/equations/src/__tests__/helpers';
|
|
5
5
|
import { TWO_PI } from '@interstellar-tools/constants';
|
|
6
|
+
import { norm2pi, residual } from '../../helpers/misc';
|
|
6
7
|
describe('solveKeplerBisection', () => {
|
|
7
8
|
test('basic correctness: residual close to 0 (e=0.5, M=1.234)', () => {
|
|
8
9
|
const e = 0.5;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solve-kepler-bisection.spec.js","sourceRoot":"","sources":["../../../../src/categories/kepler/__tests__/solve-kepler-bisection.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solve-kepler-high-eccentricity.spec.d.ts","sourceRoot":"","sources":["../../../../src/categories/kepler/__tests__/solve-kepler-high-eccentricity.spec.ts"],"names":[],"mappings":""}
|
package/dist/{__tests__ → categories/kepler/__tests__}/solve-kepler-high-eccentricity.spec.js
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import assert from 'node:assert/strict';
|
|
2
2
|
import test, { describe } from 'node:test';
|
|
3
|
-
import { solveKeplerHighEccentricity } from '../
|
|
3
|
+
import { solveKeplerHighEccentricity } from '../solve-kepler-high-eccentricity';
|
|
4
4
|
const EPSILON = 1e-9;
|
|
5
5
|
const assertApproxEqual = (actual, expected) => {
|
|
6
6
|
assert.ok(Math.abs(actual - expected) < EPSILON, `Expected ~${expected}, got ${actual}`);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solve-kepler-high-eccentricity.spec.js","sourceRoot":"","sources":["../../../../src/categories/kepler/__tests__/solve-kepler-high-eccentricity.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solve-kepler-newton-raphson.spec.d.ts","sourceRoot":"","sources":["../../../../src/categories/kepler/__tests__/solve-kepler-newton-raphson.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import assert from 'node:assert/strict';
|
|
2
2
|
import test, { describe } from 'node:test';
|
|
3
|
-
import { solveKeplerNewtonRaphson } from '../
|
|
3
|
+
import { solveKeplerNewtonRaphson } from '../solve-kepler-newton-raphson';
|
|
4
4
|
const EPSILON = 1e-9;
|
|
5
5
|
const assertApproxEqual = (actual, expected) => {
|
|
6
6
|
assert.ok(Math.abs(actual - expected) < EPSILON, `Expected ~${expected}, got ${actual}`);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solve-kepler-newton-raphson.spec.js","sourceRoot":"","sources":["../../../../src/categories/kepler/__tests__/solve-kepler-newton-raphson.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solve-kepler.int.spec.d.ts","sourceRoot":"","sources":["../../../../src/categories/kepler/__tests__/solve-kepler.int.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import assert from 'node:assert/strict';
|
|
2
2
|
import test, { describe } from 'node:test';
|
|
3
|
-
import { solveKepler } from '../
|
|
3
|
+
import { solveKepler } from '../solve-kepler';
|
|
4
4
|
const EPSILON = 1e-8; // Floating-point tolerance
|
|
5
5
|
const assertApproxEqual = (actual, expected) => {
|
|
6
6
|
assert.ok(Math.abs(actual - expected) < EPSILON, `Expected ~${expected}, got ${actual}`);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solve-kepler.int.spec.js","sourceRoot":"","sources":["../../../../src/categories/kepler/__tests__/solve-kepler.int.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solve-kepler-bisection.d.ts","sourceRoot":"","sources":["../../../src/categories/kepler/solve-kepler-bisection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"solve-kepler-bisection.d.ts","sourceRoot":"","sources":["../../../src/categories/kepler/solve-kepler-bisection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,oBAAoB,GAC/B,GAAG,OAAO,EACV,GAAG,MAAM,EACT,SAAS,MAAM,EACf,WAAW,MAAM,KAChB,OAqEF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solve-kepler-high-eccentricity.d.ts","sourceRoot":"","sources":["../../../src/categories/kepler/solve-kepler-high-eccentricity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"solve-kepler-high-eccentricity.d.ts","sourceRoot":"","sources":["../../../src/categories/kepler/solve-kepler-high-eccentricity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAKzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyFG;AAEH,eAAO,MAAM,2BAA2B,GACtC,GAAG,OAAO,EACV,GAAG,MAAM,EACT,gBAAsE,EACtE,kBAAgB,KACf,OAgEF,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Radians } from '@interstellar-tools/types';
|
|
1
|
+
import type { Radians } from '@interstellar-tools/types';
|
|
2
2
|
/**
|
|
3
3
|
* Solves **Kepler's Equation** for the **Eccentric Anomaly** ($E$) using the **Newton-Raphson method**
|
|
4
4
|
* with Householder acceleration for fast convergence.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solve-kepler-newton-raphson.d.ts","sourceRoot":"","sources":["../../../src/categories/kepler/solve-kepler-newton-raphson.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"solve-kepler-newton-raphson.d.ts","sourceRoot":"","sources":["../../../src/categories/kepler/solve-kepler-newton-raphson.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFG;AACH,eAAO,MAAM,wBAAwB,GACnC,GAAG,OAAO,EACV,GAAG,MAAM,EACT,SAAS,MAAM,EACf,WAAW,MAAM,KAChB,OAAO,GAAG,MAwCZ,CAAC"}
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
*/
|
|
85
85
|
export const solveKeplerNewtonRaphson = (M, e, maxIter, tolerance) => {
|
|
86
86
|
if (e < 0 || e >= 1) {
|
|
87
|
-
throw new RangeError(`Invalid eccentricity: ${e}. Must be in range [0,1
|
|
87
|
+
throw new RangeError(`Invalid eccentricity: ${e}. Must be in range [0,1).`);
|
|
88
88
|
}
|
|
89
89
|
let E;
|
|
90
90
|
// Smart initial guess
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solve-kepler.d.ts","sourceRoot":"","sources":["../../../src/categories/kepler/solve-kepler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"solve-kepler.d.ts","sourceRoot":"","sources":["../../../src/categories/kepler/solve-kepler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAQzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+EG;AACH,eAAO,MAAM,WAAW,GACtB,GAAG,OAAO,EACV,GAAG,MAAM,EACT,gBAAY,EACZ,kBAAgB,KACf,OAkBF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combine-burns-delta-v.spec.d.ts","sourceRoot":"","sources":["../../../../src/categories/manoeuvres/__tests__/combine-burns-delta-v.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import assert from 'node:assert/strict';
|
|
2
2
|
import test, { describe } from 'node:test';
|
|
3
|
-
import { combineBurnsDeltaV } from '../
|
|
4
|
-
import { absClose
|
|
3
|
+
import { combineBurnsDeltaV } from '../combine-burns-delta-v';
|
|
4
|
+
import { absClose } from 'packages/equations/src/__tests__/helpers';
|
|
5
|
+
import { toRad } from '../../helpers/radians';
|
|
5
6
|
const PI = Math.PI;
|
|
6
7
|
const relClose = (a, b, rel = 1e-12, abs = 1e-12, msg) => {
|
|
7
8
|
const denom = Math.max(1, Math.abs(a), Math.abs(b));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combine-burns-delta-v.spec.js","sourceRoot":"","sources":["../../../../src/categories/manoeuvres/__tests__/combine-burns-delta-v.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gravity-assist-turning-angle.spec.d.ts","sourceRoot":"","sources":["../../../../src/categories/manoeuvres/__tests__/gravity-assist-turning-angle.spec.ts"],"names":[],"mappings":""}
|
package/dist/{__tests__ → categories/manoeuvres/__tests__}/gravity-assist-turning-angle.spec.js
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import assert from 'node:assert/strict';
|
|
2
2
|
import test, { describe } from 'node:test';
|
|
3
|
-
import { relClose } from '
|
|
4
|
-
import { gravityAssistTurningAngle } from '../
|
|
3
|
+
import { relClose } from 'packages/equations/src/__tests__/helpers';
|
|
4
|
+
import { gravityAssistTurningAngle } from '../gravity-assist-turning-angle';
|
|
5
5
|
describe('gravityAssistTurningAngle', () => {
|
|
6
6
|
/**
|
|
7
7
|
* Local helper for the expected value using the same math definition.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gravity-assist-turning-angle.spec.js","sourceRoot":"","sources":["../../../../src/categories/manoeuvres/__tests__/gravity-assist-turning-angle.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hohmann-transfer.spec.d.ts","sourceRoot":"","sources":["../../../../src/categories/manoeuvres/__tests__/hohmann-transfer.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import assert from 'node:assert/strict';
|
|
2
2
|
import test, { describe } from 'node:test';
|
|
3
|
-
import { hohmannSemiMajorAxis, hohmannTransfer, hohmannTransferTime } from '../
|
|
4
|
-
import { absClose, relClose } from '
|
|
3
|
+
import { hohmannSemiMajorAxis, hohmannTransfer, hohmannTransferTime } from '../hohmann-transfer';
|
|
4
|
+
import { absClose, relClose } from 'packages/equations/src/__tests__/helpers';
|
|
5
5
|
describe('hohmannTransfer', () => {
|
|
6
6
|
test('semi-major axis: at = (r1 + r2) / 2', () => {
|
|
7
7
|
const r1 = 7000e3;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hohmann-transfer.spec.js","sourceRoot":"","sources":["../../../../src/categories/manoeuvres/__tests__/hohmann-transfer.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oberth-energy-gain.spec.d.ts","sourceRoot":"","sources":["../../../../src/categories/manoeuvres/__tests__/oberth-energy-gain.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import assert from 'node:assert/strict';
|
|
2
2
|
import test, { describe } from 'node:test';
|
|
3
|
-
import { oberthEnergyGain } from '../
|
|
4
|
-
import { absClose } from '
|
|
3
|
+
import { oberthEnergyGain } from '../oberth-energy-gain';
|
|
4
|
+
import { absClose } from 'packages/equations/src/__tests__/helpers';
|
|
5
5
|
const relClose = (a, b, rel = 1e-12, abs = 1e-12, msg) => {
|
|
6
6
|
const denom = Math.max(1, Math.abs(a), Math.abs(b));
|
|
7
7
|
assert.ok(Math.abs(a - b) <= Math.max(abs, rel * denom), msg);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oberth-energy-gain.spec.js","sourceRoot":"","sources":["../../../../src/categories/manoeuvres/__tests__/oberth-energy-gain.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plane-change-delta-v.spec.d.ts","sourceRoot":"","sources":["../../../../src/categories/manoeuvres/__tests__/plane-change-delta-v.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import assert from 'node:assert/strict';
|
|
2
2
|
import test, { describe } from 'node:test';
|
|
3
|
-
import { planeChangeDeltaV } from '../
|
|
4
|
-
import { absClose, relClose
|
|
3
|
+
import { planeChangeDeltaV } from '../plane-change-delta-v';
|
|
4
|
+
import { absClose, relClose } from 'packages/equations/src/__tests__/helpers';
|
|
5
|
+
import { toRad } from '../../helpers/radians';
|
|
5
6
|
const PI = Math.PI;
|
|
6
7
|
describe('planeChangeDeltaV', () => {
|
|
7
8
|
test('Δi = 0 → Δv = 0', () => {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plane-change-delta-v.spec.js","sourceRoot":"","sources":["../../../../src/categories/manoeuvres/__tests__/plane-change-delta-v.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rocket-delta-v-from-isp.spec.d.ts","sourceRoot":"","sources":["../../../../src/categories/manoeuvres/__tests__/rocket-delta-v-from-isp.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import assert from 'node:assert/strict';
|
|
2
|
+
import test, { describe } from 'node:test';
|
|
3
|
+
import { rocketDeltaVFromIsp } from '../rocket-delta-v-from-isp';
|
|
4
|
+
import { relClose } from 'packages/equations/src/__tests__/helpers';
|
|
5
|
+
describe('rocketDeltaVFromIsp', () => {
|
|
6
|
+
test('computes Δv = g0 * Isp * ln(m0/mf) for typical inputs (default g0)', () => {
|
|
7
|
+
const Isp = 320; // s
|
|
8
|
+
const m0 = 1200; // kg
|
|
9
|
+
const mf = 800; // kg
|
|
10
|
+
const dv = rocketDeltaVFromIsp(Isp, m0, mf);
|
|
11
|
+
const expected = 9.80665 * Isp * Math.log(m0 / mf);
|
|
12
|
+
relClose(dv, expected);
|
|
13
|
+
assert.ok(dv > 0);
|
|
14
|
+
});
|
|
15
|
+
test('uses provided g0 when passed', () => {
|
|
16
|
+
const Isp = 300;
|
|
17
|
+
const m0 = 1000;
|
|
18
|
+
const mf = 500;
|
|
19
|
+
const g0 = 9.81;
|
|
20
|
+
const dv = rocketDeltaVFromIsp(Isp, m0, mf, g0);
|
|
21
|
+
const expected = g0 * Isp * Math.log(m0 / mf);
|
|
22
|
+
relClose(dv, expected);
|
|
23
|
+
});
|
|
24
|
+
test('scales linearly with Isp (doubling Isp doubles Δv)', () => {
|
|
25
|
+
const m0 = 1200;
|
|
26
|
+
const mf = 800;
|
|
27
|
+
const dv1 = rocketDeltaVFromIsp(200, m0, mf);
|
|
28
|
+
const dv2 = rocketDeltaVFromIsp(400, m0, mf);
|
|
29
|
+
relClose(dv2 / dv1, 2);
|
|
30
|
+
});
|
|
31
|
+
test('scales linearly with g0 (doubling g0 doubles Δv)', () => {
|
|
32
|
+
const Isp = 300;
|
|
33
|
+
const m0 = 1200;
|
|
34
|
+
const mf = 800;
|
|
35
|
+
const dv1 = rocketDeltaVFromIsp(Isp, m0, mf, 9.80665);
|
|
36
|
+
const dv2 = rocketDeltaVFromIsp(Isp, m0, mf, 2 * 9.80665);
|
|
37
|
+
relClose(dv2 / dv1, 2);
|
|
38
|
+
});
|
|
39
|
+
test('increases as mf decreases (more propellant -> higher Δv)', () => {
|
|
40
|
+
const Isp = 320;
|
|
41
|
+
const m0 = 1000;
|
|
42
|
+
const dvLessProp = rocketDeltaVFromIsp(Isp, m0, 900);
|
|
43
|
+
const dvMoreProp = rocketDeltaVFromIsp(Isp, m0, 500);
|
|
44
|
+
assert.ok(dvMoreProp > dvLessProp, `${dvMoreProp} should be > ${dvLessProp}`);
|
|
45
|
+
});
|
|
46
|
+
test('near-limit case (mf close to m0) yields a small Δv', () => {
|
|
47
|
+
const dv = rocketDeltaVFromIsp(300, 1000, 999.999);
|
|
48
|
+
assert.ok(dv >= 0);
|
|
49
|
+
assert.ok(dv < 10, `expected small dv, got ${dv}`);
|
|
50
|
+
});
|
|
51
|
+
test('throws TypeError when any input is not finite', () => {
|
|
52
|
+
assert.throws(() => rocketDeltaVFromIsp(Number.NaN, 1, 0.5), (err) => err instanceof TypeError &&
|
|
53
|
+
err.message === 'Isp must be a finite number. Received: NaN');
|
|
54
|
+
assert.throws(() => rocketDeltaVFromIsp(300, Number.POSITIVE_INFINITY, 0.5), (err) => err instanceof TypeError &&
|
|
55
|
+
err.message === 'm0 must be a finite number. Received: Infinity');
|
|
56
|
+
assert.throws(() => rocketDeltaVFromIsp(300, 1, Number.NEGATIVE_INFINITY), (err) => err instanceof TypeError &&
|
|
57
|
+
err.message === 'mf must be a finite number. Received: -Infinity');
|
|
58
|
+
assert.throws(() => rocketDeltaVFromIsp(300, 1, 0.5, Number.NaN), (err) => err instanceof TypeError &&
|
|
59
|
+
err.message === 'g0 must be a finite number. Received: NaN');
|
|
60
|
+
});
|
|
61
|
+
test('throws RangeError when Isp <= 0', () => {
|
|
62
|
+
assert.throws(() => rocketDeltaVFromIsp(0, 10, 5), (err) => err instanceof RangeError &&
|
|
63
|
+
err.message === 'Isp must be > 0. Received: 0');
|
|
64
|
+
});
|
|
65
|
+
test('throws RangeError when g0 <= 0', () => {
|
|
66
|
+
assert.throws(() => rocketDeltaVFromIsp(300, 10, 5, 0), (err) => err instanceof RangeError &&
|
|
67
|
+
err.message === 'g0 must be > 0. Received: 0');
|
|
68
|
+
});
|
|
69
|
+
test('throws RangeError when m0 <= 0', () => {
|
|
70
|
+
assert.throws(() => rocketDeltaVFromIsp(300, 0, 0.5), (err) => err instanceof RangeError &&
|
|
71
|
+
err.message === 'm0 must be > 0. Received: 0');
|
|
72
|
+
});
|
|
73
|
+
test('throws RangeError when mf <= 0', () => {
|
|
74
|
+
assert.throws(() => rocketDeltaVFromIsp(300, 10, 0), (err) => err instanceof RangeError &&
|
|
75
|
+
err.message === 'mf must be > 0. Received: 0');
|
|
76
|
+
});
|
|
77
|
+
test('throws RangeError when mf >= m0', () => {
|
|
78
|
+
assert.throws(() => rocketDeltaVFromIsp(300, 10, 10), (err) => err instanceof RangeError &&
|
|
79
|
+
err.message === 'mf must be < m0. Received: mf=10, m0=10');
|
|
80
|
+
assert.throws(() => rocketDeltaVFromIsp(300, 10, 11), (err) => err instanceof RangeError &&
|
|
81
|
+
err.message === 'mf must be < m0. Received: mf=11, m0=10');
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
//# sourceMappingURL=rocket-delta-v-from-isp.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rocket-delta-v-from-isp.spec.js","sourceRoot":"","sources":["../../../../src/categories/manoeuvres/__tests__/rocket-delta-v-from-isp.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rocket-delta-v-from-ve.spec.d.ts","sourceRoot":"","sources":["../../../../src/categories/manoeuvres/__tests__/rocket-delta-v-from-ve.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import assert from 'node:assert/strict';
|
|
2
|
+
import test, { describe } from 'node:test';
|
|
3
|
+
import { rocketDeltaVFromVe } from '../rocket-delta-v-from-ve';
|
|
4
|
+
import { relClose } from 'packages/equations/src/__tests__/helpers';
|
|
5
|
+
describe('rocketDeltaVFromVe', () => {
|
|
6
|
+
test('computes Δv = ve * ln(m0/mf) for typical inputs', () => {
|
|
7
|
+
const ve = 3100; // m/s
|
|
8
|
+
const m0 = 1200; // kg
|
|
9
|
+
const mf = 800; // kg
|
|
10
|
+
const dv = rocketDeltaVFromVe(ve, m0, mf);
|
|
11
|
+
const expected = ve * Math.log(m0 / mf);
|
|
12
|
+
relClose(dv, expected);
|
|
13
|
+
assert.ok(dv > 0);
|
|
14
|
+
});
|
|
15
|
+
test('returns 0 when m0 === mf (but function disallows this, so we test a near-limit case)', () => {
|
|
16
|
+
const ve = 3000;
|
|
17
|
+
const m0 = 1000;
|
|
18
|
+
const mf = 999.999;
|
|
19
|
+
const dv = rocketDeltaVFromVe(ve, m0, mf);
|
|
20
|
+
// ln(1 + tiny) ~ tiny
|
|
21
|
+
assert.ok(dv >= 0);
|
|
22
|
+
assert.ok(dv < 10, `expected small dv, got ${dv}`);
|
|
23
|
+
});
|
|
24
|
+
test('scales linearly with ve (doubling ve doubles Δv)', () => {
|
|
25
|
+
const m0 = 1200;
|
|
26
|
+
const mf = 800;
|
|
27
|
+
const dv1 = rocketDeltaVFromVe(1000, m0, mf);
|
|
28
|
+
const dv2 = rocketDeltaVFromVe(2000, m0, mf);
|
|
29
|
+
relClose(dv2 / dv1, 2);
|
|
30
|
+
});
|
|
31
|
+
test('increases as mf decreases (more propellant -> higher Δv)', () => {
|
|
32
|
+
const ve = 3000;
|
|
33
|
+
const m0 = 1000;
|
|
34
|
+
const dvLessProp = rocketDeltaVFromVe(ve, m0, 900);
|
|
35
|
+
const dvMoreProp = rocketDeltaVFromVe(ve, m0, 500);
|
|
36
|
+
assert.ok(dvMoreProp > dvLessProp, `${dvMoreProp} should be > ${dvLessProp}`);
|
|
37
|
+
});
|
|
38
|
+
test('throws TypeError when any input is not finite', () => {
|
|
39
|
+
assert.throws(() => rocketDeltaVFromVe(Number.NaN, 1, 0.5), (err) => err instanceof TypeError &&
|
|
40
|
+
err.message === 've must be a finite number. Received: NaN');
|
|
41
|
+
assert.throws(() => rocketDeltaVFromVe(1, Number.POSITIVE_INFINITY, 0.5), (err) => err instanceof TypeError &&
|
|
42
|
+
err.message === 'm0 must be a finite number. Received: Infinity');
|
|
43
|
+
assert.throws(() => rocketDeltaVFromVe(1, 1, Number.NEGATIVE_INFINITY), (err) => err instanceof TypeError &&
|
|
44
|
+
err.message === 'mf must be a finite number. Received: -Infinity');
|
|
45
|
+
});
|
|
46
|
+
test('throws RangeError when ve <= 0', () => {
|
|
47
|
+
assert.throws(() => rocketDeltaVFromVe(0, 10, 5), (err) => err instanceof RangeError &&
|
|
48
|
+
err.message === 've must be > 0. Received: 0');
|
|
49
|
+
});
|
|
50
|
+
test('throws RangeError when m0 <= 0', () => {
|
|
51
|
+
assert.throws(() => rocketDeltaVFromVe(1, 0, 0.5), (err) => err instanceof RangeError &&
|
|
52
|
+
err.message === 'm0 must be > 0. Received: 0');
|
|
53
|
+
});
|
|
54
|
+
test('throws RangeError when mf <= 0', () => {
|
|
55
|
+
assert.throws(() => rocketDeltaVFromVe(1, 10, 0), (err) => err instanceof RangeError &&
|
|
56
|
+
err.message === 'mf must be > 0. Received: 0');
|
|
57
|
+
});
|
|
58
|
+
test('throws RangeError when mf >= m0', () => {
|
|
59
|
+
assert.throws(() => rocketDeltaVFromVe(1, 10, 10), (err) => err instanceof RangeError &&
|
|
60
|
+
err.message === 'mf must be < m0. Received: mf=10, m0=10');
|
|
61
|
+
assert.throws(() => rocketDeltaVFromVe(1, 10, 11), (err) => err instanceof RangeError &&
|
|
62
|
+
err.message === 'mf must be < m0. Received: mf=11, m0=10');
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
//# sourceMappingURL=rocket-delta-v-from-ve.spec.js.map
|