1 unstable release
new 0.1.0 | Feb 2, 2025 |
---|
#102 in Simulation
Used in astrograph-bin
135KB
2.5K
SLoC
Astrograph
A library for predicting the locations of astronomical bodies that are both deterministic and non-chaotic.
What this package aims to do
Provide a simple way of generating star maps for world-builders and writers, by allowing for varying levels of granularity in your simulations.
Allow users to generate astronomical tables that may be useful for e.g. Game masters wanting to introduce astrology/astromancy elements into their games.
What this package will not do
Predict bodies in a n-body problem, a situation where each body influences the motion of every other body. This is largely done to enable querying an arbitrary time without needing to querying every time before it, and allow querying times before the epoch.
Feature roadmap
- Fixed bodies, useful for roots or bodies with very long orbital periods e.g. distant galaxies
- Keplerian bodies
- Bodies, defines how dynamics relate to one another in parent/children relationships
- Rotating bodies, will be useful for observatories on bodies, possibly for drawing scenes later as well
- Observatories, define the latitude, longitude, and altitude of the observer for observation times
- Different projections, default will be an orthographic projection, but other projections will likely be added on a low priority
- Writing to file, probably an SVG, but possibly PNG/BMP/etc if I see a need for it.
- Configurable precision, i.e. F32, F64, and possibly F128
- Serialization, most likely json, but other supported serialization data formats will be added on an as needed basis
- Procedurally generated universes
- Arbitrary elliptic planes around stars
- Arbitrary elliptic planes around planets
- WASM target
- binary target
- Eclipses
- web page
- Summary output format (Similar to an almanac e.g. Astronomical Almanac, 2016, by The Stationery Office, U.S. Nautical Almanac Office, and Defense Department)
- Constellations
- Color coded/labeled Bodies
- Body classes (e.g.
planet-rocky
,planet-gas
,star-M-class
,moon-icy
,black-hole
), useful for filtering bodies in results
Dependencies
~4.5MB
~94K SLoC