hpr2598 :: Calculating planetary orbits in Haskell
tuturto talks about calculating planetary orbits
Hosted by tuturto on Wednesday 2018-07-18 is flagged as Clean and is released under a CC-BY-SA license.
Tags: haskell,astronomy.
Listen in ogg,
spx, or
mp3 format. | Comments (0)
Part of the series: Haskell
A series looking into the Haskell (programming language)
Function signatures (it might or might not be helpful to have these at hand while listening):
- Helpers:
radToDeg :: Floating a => a -> a
degToRad :: Floating a => a -> a
clamp :: Float -> Float
Time:
day :: Int -> Int -> Int -> Float -> Day Float
- Orbital parameters:
longitudeOfAscendingNode :: Orbit body center => body -> center -> Day d -> LongAscNode body center
inclinationToEcliptic :: Orbit body center => body -> center -> Day d -> InclToEcl body center
argumentOfPeriapsis :: Orbit body center => body -> center -> Day d -> ArgPeri body center
semiMajorAxis :: Orbit body center => body -> center -> Day d -> SemiMajor body center
eccentricity :: Orbit body center => body -> center -> Day d -> Ecc body center
meanAnomaly :: Orbit body center => body -> center -> Day d -> MeanAno body center
- Calculating location on orbital plane:
eccAnomaly :: MeanAno a b -> Ecc a b -> EccAnomaly a b
trueAnomaly :: EccAnomaly a b -> Ecc a b -> TrueAnomaly a b
dist :: EccAnomaly a b -> Ecc a b -> SemiMajor a b -> Distance a b
- Translating between coordinate systems:
toEclCoord :: TrueAnomaly a b -> Distance a b -> LongAscNode a b -> ArgPeri a b -> InclToEcl a b -> EclCoord a b
toEqCoordinates :: EclCoord body Earth -> Day Float -> EqCoord body
Some helpful links:
- Guide by Paul Schlyter - https://www.stjarnhimlen.se/comp/ppcomp.html
- Sample calculations by Paul Schlyter - https://www.stjarnhimlen.se/comp/tutorial.html
- tuturto's blog post - https://engineersjourney.wordpress.com/2018/06/29/planetary-orbits-and-haskell/
- Definition of orbital elements in Wikipedia - https://en.wikipedia.org/wiki/Orbital_elements
- Units of angle in Wikipedia - https://en.wikipedia.org/wiki/Degree_(angle) and https://en.wikipedia.org/wiki/Radian
Show Transcript
Automatically generated using whisper
whisper --model tiny --language en hpr2598.wav
<< First, < Previous, Next >, Latest >>