A Rust library implementing advanced astronomical algorithms for planetary positioning, coordinate transformations, and time calculations.
astro-rust is a comprehensive library of astronomical algorithms written in Rust, providing precise calculations for celestial mechanics and observational astronomy. It implements advanced theories like VSOP87 for planetary positioning and ELP-2000/82 for lunar positioning, serving as a modern, well-tested foundation for applications in astronomy, education, and scientific research.
Developers and researchers building astronomy software, educational tools, or scientific applications that require high-accuracy celestial calculations, particularly those leveraging Rust's performance and safety features.
Developers choose astro-rust for its implementation of authoritative astronomical algorithms from sources like Jean Meeus's book, combined with Rust's reliability and performance. It offers a unique, well-documented, and tested library specifically for astronomical computations, including precise planetary, lunar, and time calculations not commonly found in general-purpose math libraries.
Astronomical algorithms in Rust
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Based on Jean Meeus's Astronomical Algorithms and VSOP87/ELP-2000/82 theories, providing reliable, high-accuracy positioning for planets and the Moon.
Includes functions for Julian dates, sidereal time, equinoxes, and transformations between equatorial, ecliptic, and galactic systems with corrections.
Tested with example data from Meeus's book, ensuring correctness, and offers detailed API documentation with usage examples.
Leverages Rust's memory safety and performance features, making it suitable for reliable scientific computations and integration into larger systems.
Admits missing the IAU 2000/2006 precession-nutation model, which is suggested for contribution, limiting ultra-high precision for some applications.
Requires manual input handling like Julian days and radians conversions, making it less accessible for those unfamiliar with astronomical concepts or Rust.
Focuses on solar system bodies; support for stars, galaxies, or deep-sky objects is not emphasized, reducing utility for broader astrophysics.