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.