# hpr2598 :: Calculating planetary orbits in Haskell

### Tuula talks about calculating planetary orbits

<< First, < Previous, , Latest >>

Hosted by Tuula on 2018-07-18 is flagged as Clean and is released under a CC-BY-SA license.

Listen in ogg, spx, or mp3 format. Play now:

Duration: 00:28:31

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``````

## Show Transcript

Automatically generated using whisper

``whisper --model tiny --language en hpr2598.wav``

You can save these subtitle files to the same location as the HPR Episode, and they will automatically show in players like mpv, vlc. Some players allow you to specify the subtitle file location.

<< First, < Previous, , Latest >>