/** * Keplerian Orbital Mechanics Calculator * * Calculates celestial body positions using classical Keplerian orbital elements. * Based on the standard orbital mechanics equations used in astronomy. */ export interface OrbitalElements { /** Semi-major axis in AU (Astronomical Units) */ semiMajorAxis: number; /** Orbital eccentricity (0 = circle, <1 = ellipse) */ eccentricity: number; /** Inclination in degrees */ inclination: number; /** Longitude of ascending node in degrees */ longitudeAscending: number; /** Argument of periapsis in degrees */ argumentPeriapsis: number; /** Mean anomaly at epoch (J2000) in degrees */ meanAnomalyEpoch: number; /** Orbital period in days */ orbitalPeriod: number; /** Parent body name for moons/satellites (optional) */ parent?: string; } export interface Position3D { x: number; y: number; z: number; [index: number]: number; } /** * Convert radians to degrees */ export declare function toDegrees(radians: number): number; /** * Calculate position in 3D space from orbital elements at a given time * * @param elements - Keplerian orbital elements * @param julianDate - Julian date (days since J2000 epoch) * @returns 3D position in AU (heliocentric or relative to parent) */ export declare function calculatePosition(elements: OrbitalElements, julianDate: number): Position3D; /** * Convert Date to Julian Date (days since J2000.0 epoch) * J2000.0 = January 1, 2000, 12:00 TT (Terrestrial Time) * * @param date - JavaScript Date object * @returns Julian date (days since J2000) */ export declare function dateToJulian(date: Date): number; /** * Convert Julian date to JavaScript Date * * @param julianDate - Days since J2000 * @returns JavaScript Date object */ export declare function julianToDate(julianDate: number): Date; /** * Generate orbital path points for visualization * * @param elements - Orbital elements * @param numPoints - Number of points to generate (default: 100) * @returns Array of 3D positions around the orbit */ export declare function generateOrbitalPath(elements: OrbitalElements, numPoints?: number): Position3D[]; //# sourceMappingURL=KeplerianCalculator.d.ts.map