Garmaine Staff asked 6 months ago

I have a python program that I use to calculate the xyz positions of a point in a kepler orbit.

https://github.com/sczesla/PyAstronomy/blob/master/src/pyasl/asl/keplerOrbit.py

It takes the following values to define the orbit.

  • semi-major axis
  • orbit period
  • eccentricity
  • longitude of the ascending node
  • inclination
  • longitude of the pericenter

I can then get a position by supplying a time value.

The solution to my problem would be A javascript function that takes the same values as the python one above, and if given a time returns an xyz.

I have not been able to find such a script – if one exists that could be pointed out to me that would solve my problem.

There is one that comes close:

https://github.com/lizard-isana/orb.js/blob/master/src/kepler.js

but this takes different values to calculate the orbit:

  • GM
  • semi_major_axis
  • eccentricity
  • inclination
  • longitude_of_ascending_node
  • argument_of_periapsis
  • time_of_periapsis

It will then give an xyz position if supplied with a time.

However I only have the values that I give to the python script above.

I can see how it might be possible, with minor modifications, that orb.js might be tweaked to perform as keplerOrbit.py but I am neither a javascript programmer or a mathematician.

Any help really appreciated – Thanks.