Ruby, Golfed version 313 bytes
->e,a,i,w,u,l,t{s="<svg viewBox='0-90 358 180'style='background:tan'>" v=d=0.01 (t+=d*((a-a*e*e)**3/u)**0.5/(1+e*Math.cos(v+=d))**2 x,q=(1i**((v+w)/n=1i.arg)).rect y,z=(q*1i**(i/n)).rect s<<"<circle r='1'cx='#{j=((-x-y*1i).arg-t/l*n*=4)%n*57}'cy='#{Math.asin(z)*-57}'/>" v>2*d||K=j)until v%6.29<d&&(j-K).abs<20 s}
Try it online!
This golfed version has 2 differences with respect to the ungolfed version: the formulas that generate and use the radius r have been combined, saving 12 bytes; and the code for rounding the numbers in the output has been removed.
The lack of rounding means the output is larger, therefore the output of the last 2 test cases (with 5 and 6 orbits each) exceeds the byte limit on TIO.run. The other test cases (with less orbits) run to completion.
Ruby, ungolfed version 322 347 345 bytes
->e,a,i,w,u,l,t{s="<svg viewBox='0-90 358 180'style='background:tan'>" v=d=0.01 (r=(a-a*e*e)/(1+e*Math.cos(v+=d)) t+=r*r/(u*(a-a*e*e))**0.5*d x,q=(1i**((v+w)/n=1i.arg)).rect y,z=(q*1i**(i/n)).rect s<<"<circle r='1'cx='#{(j=((-x-y*1i).arg-t/l*n*=4)%n*57).round(1)}'cy='#{(Math.asin(z)*-57).round(1)}'/>" v>2*d||K=j)until v%6.29<d&&(j-K).abs<20 s}
Try it online!
A function returning an SVG image.
Byte count of code has increased to fully comply with OP requirement for simulation time while still providing a function that will terminate.
TIO.run will run up to 6 orbits without exceeding the output byte count (though newlines had to be deleted from output to make this fit.) This is enough to run any of the test cases including the last one. The Javascript editor built into this website will display any of the test cases in edit mode, but the byte limit for publication is about 3 orbits worth of data. Rounding will be removed in the golfed version, which will increase the size of the output.
I/O requirements
Arguments as follows
Orbit shape: e=eccentricity; a=semimajor axis Orbit orientation: i=inclination; w=argument of periapsis (in radians) Grav. parameter: u Planetary rotation: l=day length; t=start time
Per the test cases in the question, there are no specific physical units for a and u, but the orbital period arising from them is such that it is consistent with the units of time used for l and t.
Function returns an SVG image with coordinate 0,0 at the centre. Tan background is used delimit the edge of the plot (Tan is one of only two SVG colours with only 3 letters, the other being red.) Calculations are done in radians but the output is crudely scaled by a factor of 57 (180/PI=57.2958 rounded down.) The width of the plot is therefore only 358 plot units. Calculated longitude values must be reduced MOD 2*pi to ensure they stay in the plot. This means the plot goes from 0 to 2*pi, but negative signs in -x-q*1i impart a 180 degree phase shift so that the calculated 0 longitude is in the centre of the plot. Latitude is +/-90 (limited to +/-89.5 plot units by the scale factor.) The aspect ratio is such that 1 degree is equal length in both longitude and latitude directions (not stretched horizontally like the plots in the question.)
The image is missing some whitespace required by the SVG spec for golfing reasons, but works fine on Chrome and Edge.
EXPLANATION
The code uses formulas from en.wikipedia.org/wiki/Kepler_orbit. They use α instead of μ for the gravitational parameter and introduce a symbol p=a(1-e**2) for a parameter known as the the semi-latus rectum. For golfing reasons, this is expressed as (a-a*e*e) in the code.
The wikipedia article gives radial & tangential velocity components in terms of angular momentum H=sqrt(αp)=constant=magnitude of cross product of displacement r and velocity r dot equations (26 and 3.) This reduces to scalar radius * tangential velocity, with the latter being simply H/r (equation 19) giving the result dTheta/dt=H/r**2 (equation 3)
This is consistent with an observation made by Kepler (who first described the orbit of the planets) that the orbit sweeps out equal area in equal time. He attempted to explain the reason for this (but his reasoning was incorrect since he knew only Aristotlean mechanics.) Newton later explained the reason correctly. There were however anomalies in the orbit of Mercury which were later shown to be due to relativistic effects (and not a postulated additional planet, that had been given the provisional name Vulcan.)
variable names
variable names follow convention where possible, with Greek symbols replaced by the most visually similar Latin equivalent.
s = string containing SVG image v = true anomaly (angle of satellite from periapsis) d = step size of true anomaly (delta v) z = z coordinate in earth centred coordinates y = y coordinate in earth centred coordinates x = x coordinate (in both coordinate systems, since orbital & equatorial planes cross at the x axis) q = y coordinate in orbital plane n = PI/2 or 2*PI (changed in the code for golfing reasons) j = longitude of current point k = longitude of 1st point plotted
Step 1: Initialise
Initialise s with an SVG header, and set d and v to the step size. Step size is 0.01 radians. We open a bracket to start looping.
s="<svg viewBox='0-90 358 180'style='background:tan'>" v=d=0.01 (
Step 2: calculate true anomaly and time
- Increment angle
v by the step size d - Calculate
r according to the formula in the question - Calculate the time taken for this step and add it to
t
To do this we use the formula from wikpedia dTheta/dt=H/r**2 except that we invert it to give dt/dTheta=r**2/H, where H=sqrt(αp) according to wikipedia notation, or H=sqrt(u*(a-a*e*e)) according to the nomenclature used here.
Note that the wedge-shaped area swept out in this step is r * r*d /2 . The time taken for the step is proportional to the area swept out, as observed by Kepler.
r=(a-a*e*e)/(1+e*Math.cos(v+=d)) t+=r*r/(u*(a-a*e*e))**0.5*d
Step 3: adjust the angle by the argument of periapsis, and convert to cartesian coordinates
The argument of periapsis w defines the angle of the lowest point of the orbit in the orbital plane. We add this to the true anomaly v to find the angle of the satellite in the orbital plane in radians. We convert this into a number of quarter-turns, and raise sqrt(-1)=1i to this power to give the cartesian coordinates x+qi, which we then extract into rectangular coordinates as 2 reals with the rect function. The conversion factor from radians to quarter-turns is pi/2 which is conveniently and accurately represented as n=1i.arg.
x,q=(1i**((v+w)/n=1i.arg)).rect
In a similar way, we take q (the y coordinate in the orbital plane) and raise 1i to the power i/n (where i is inclination) to give the y and z coordinates in the earth centred system. Note that x,y,z form normalised coordinates: the magnitude of the vector x,y,z given by sqrt(x**2 + y**2 + z**2) is 1.
y,z=(q*1i**(i/n)).rect
Step 4: plot the point
Append instructions to plot a circle to s using the << operator. Plotting a circle for each point uses less characters than composing a path, since SVG would require the path fill to be switched off and path stroke to be switched on. Plotting separate circles also avoids issues that would occur where the path goes off one side of the plot and comes back on the other.
The angle of the satellite in the equatorial plane is given by (-x-y*1i).arg. To get the longitude we must subtract the effect of the planet's rotation -t/l*n*=4 where n is now increased to 2*PI. We take the output modulo n=2*PI to ensure the result is in the plottable range 0..2*PI and multiply by 57 to get a number in the range 0..358. The negative signs in -x-y*1i impart a phase shift of PI so that the longitude 0 appears in the centre of the plot. We keep track of the current longitude in j to decide when to stop iterating.
The latitude is obtained from the z coordinate in a similar way Math.asin(z)*-57. A negative sign is required because SVG considers high numbers to be at the bottom of the plot.
s<<"<circle r='1'cx='#{(j=((-x-y*1i).arg-t/l*n*=4)%n*57).round(1)}'cy='#{(Math.asin(z)*-57).round(1)}'/>"
Step 5: decide when to stop iterating and return
Assuming the orbital period and day length are both integers (or have a rational ratio), the track of the satellite will repeat after the lowest common multiple of the orbital period and day length. In practice this ratio may not be perfect. The code keeps track of the longitude of the satellite at the start of the first and current orbit, and if it falls within a margin, it stops iterating and returns. The margin is set to 20 degrees (corresponding to a maximum of 18 orbits) but can be altered if desired.
Record the longitude on the 1st iteration (at the start of the 1st orbit): v>2*d||K=j
Keep iterating until the start of an orbit where the longitude is within 20 degrees of the 1st orbit: )until v%6.29<d&&(j-K).abs<20
Return from function with SVG image in string s}
v>2*d||K=j)until v%6.29<d&&(j-K).abs<20 s}
Note the use of uppercase K here. The Ruby preprocessor likes to know that all variables will be assigned before they are used, and if lowercase k is used it insists that k be initialised outside the loop to guarantee it will be assigned before it is used, as the assignment in the code shown occurs in a conditional. 2 bytes were saved by switching to uppercase K which represents a constant, since the preprocessor does not check constants in the same way and the assignment can be avoided.
Sample output
Below is output for test case 5. It is recommended to hit run code snippet before expanding, to avoid getting a horizontally wide but vertically very short window requiring excessive vertical scrolling. It seems the plot is autosized based on the width only, so narrowing the browser window can help eliminate vertical scrolling.
<svg viewBox='0-90 358 180'style='background:tan'><circle r='1'cx='179.6'cy='-0.9'/><circle r='1'cx='179.8'cy='-1.3'/><circle r='1'cx='180.0'cy='-1.7'/><circle r='1'cx='180.2'cy='-2.2'/><circle r='1'cx='180.4'cy='-2.6'/><circle r='1'cx='180.7'cy='-3.1'/><circle r='1'cx='180.9'cy='-3.5'/><circle r='1'cx='181.1'cy='-3.9'/><circle r='1'cx='181.3'cy='-4.4'/><circle r='1'cx='181.5'cy='-4.8'/><circle r='1'cx='181.7'cy='-5.2'/><circle r='1'cx='181.9'cy='-5.7'/><circle r='1'cx='182.1'cy='-6.1'/><circle r='1'cx='182.3'cy='-6.5'/><circle r='1'cx='182.5'cy='-7.0'/><circle r='1'cx='182.7'cy='-7.4'/><circle r='1'cx='182.9'cy='-7.8'/><circle r='1'cx='183.1'cy='-8.3'/><circle r='1'cx='183.3'cy='-8.7'/><circle r='1'cx='183.5'cy='-9.1'/><circle r='1'cx='183.7'cy='-9.6'/><circle r='1'cx='183.9'cy='-10.0'/><circle r='1'cx='184.2'cy='-10.4'/><circle r='1'cx='184.4'cy='-10.9'/><circle r='1'cx='184.6'cy='-11.3'/><circle r='1'cx='184.8'cy='-11.7'/><circle r='1'cx='185.0'cy='-12.2'/><circle r='1'cx='185.2'cy='-12.6'/><circle r='1'cx='185.4'cy='-13.0'/><circle r='1'cx='185.7'cy='-13.4'/><circle r='1'cx='185.9'cy='-13.9'/><circle r='1'cx='186.1'cy='-14.3'/><circle r='1'cx='186.3'cy='-14.7'/><circle r='1'cx='186.5'cy='-15.2'/><circle r='1'cx='186.8'cy='-15.6'/><circle r='1'cx='187.0'cy='-16.0'/><circle r='1'cx='187.2'cy='-16.4'/><circle r='1'cx='187.4'cy='-16.8'/><circle r='1'cx='187.7'cy='-17.3'/><circle r='1'cx='187.9'cy='-17.7'/><circle r='1'cx='188.1'cy='-18.1'/><circle r='1'cx='188.3'cy='-18.5'/><circle r='1'cx='188.6'cy='-18.9'/><circle r='1'cx='188.8'cy='-19.4'/><circle r='1'cx='189.1'cy='-19.8'/><circle r='1'cx='189.3'cy='-20.2'/><circle r='1'cx='189.5'cy='-20.6'/><circle r='1'cx='189.8'cy='-21.0'/><circle r='1'cx='190.0'cy='-21.4'/><circle r='1'cx='190.3'cy='-21.8'/><circle r='1'cx='190.5'cy='-22.3'/><circle r='1'cx='190.8'cy='-22.7'/><circle r='1'cx='191.0'cy='-23.1'/><circle r='1'cx='191.3'cy='-23.5'/><circle r='1'cx='191.5'cy='-23.9'/><circle r='1'cx='191.8'cy='-24.3'/><circle r='1'cx='192.0'cy='-24.7'/><circle r='1'cx='192.3'cy='-25.1'/><circle r='1'cx='192.6'cy='-25.5'/><circle r='1'cx='192.8'cy='-25.9'/><circle r='1'cx='193.1'cy='-26.3'/><circle r='1'cx='193.4'cy='-26.7'/><circle r='1'cx='193.6'cy='-27.1'/><circle r='1'cx='193.9'cy='-27.5'/><circle r='1'cx='194.2'cy='-27.9'/><circle r='1'cx='194.5'cy='-28.3'/><circle r='1'cx='194.8'cy='-28.6'/><circle r='1'cx='195.0'cy='-29.0'/><circle r='1'cx='195.3'cy='-29.4'/><circle r='1'cx='195.6'cy='-29.8'/><circle r='1'cx='195.9'cy='-30.2'/><circle r='1'cx='196.2'cy='-30.6'/><circle r='1'cx='196.5'cy='-30.9'/><circle r='1'cx='196.8'cy='-31.3'/><circle r='1'cx='197.1'cy='-31.7'/><circle r='1'cx='197.4'cy='-32.1'/><circle r='1'cx='197.7'cy='-32.4'/><circle r='1'cx='198.1'cy='-32.8'/><circle r='1'cx='198.4'cy='-33.2'/><circle r='1'cx='198.7'cy='-33.5'/><circle r='1'cx='199.0'cy='-33.9'/><circle r='1'cx='199.4'cy='-34.2'/><circle r='1'cx='199.7'cy='-34.6'/><circle r='1'cx='200.0'cy='-35.0'/><circle r='1'cx='200.4'cy='-35.3'/><circle r='1'cx='200.7'cy='-35.7'/><circle r='1'cx='201.1'cy='-36.0'/><circle r='1'cx='201.4'cy='-36.3'/><circle r='1'cx='201.8'cy='-36.7'/><circle r='1'cx='202.1'cy='-37.0'/><circle r='1'cx='202.5'cy='-37.4'/><circle r='1'cx='202.9'cy='-37.7'/><circle r='1'cx='203.2'cy='-38.0'/><circle r='1'cx='203.6'cy='-38.3'/><circle r='1'cx='204.0'cy='-38.7'/><circle r='1'cx='204.4'cy='-39.0'/><circle r='1'cx='204.7'cy='-39.3'/><circle r='1'cx='205.1'cy='-39.6'/><circle r='1'cx='205.5'cy='-39.9'/><circle r='1'cx='205.9'cy='-40.2'/><circle r='1'cx='206.3'cy='-40.5'/><circle r='1'cx='206.7'cy='-40.8'/><circle r='1'cx='207.1'cy='-41.1'/><circle r='1'cx='207.6'cy='-41.4'/><circle r='1'cx='208.0'cy='-41.7'/><circle r='1'cx='208.4'cy='-42.0'/><circle r='1'cx='208.8'cy='-42.3'/><circle r='1'cx='209.3'cy='-42.6'/><circle r='1'cx='209.7'cy='-42.8'/><circle r='1'cx='210.1'cy='-43.1'/><circle r='1'cx='210.6'cy='-43.4'/><circle r='1'cx='211.0'cy='-43.6'/><circle r='1'cx='211.5'cy='-43.9'/><circle r='1'cx='212.0'cy='-44.1'/><circle r='1'cx='212.4'cy='-44.4'/><circle r='1'cx='212.9'cy='-44.6'/><circle r='1'cx='213.4'cy='-44.9'/><circle r='1'cx='213.8'cy='-45.1'/><circle r='1'cx='214.3'cy='-45.3'/><circle r='1'cx='214.8'cy='-45.5'/><circle r='1'cx='215.3'cy='-45.8'/><circle r='1'cx='215.8'cy='-46.0'/><circle r='1'cx='216.3'cy='-46.2'/><circle r='1'cx='216.8'cy='-46.4'/><circle r='1'cx='217.3'cy='-46.6'/><circle r='1'cx='217.8'cy='-46.8'/><circle r='1'cx='218.3'cy='-47.0'/><circle r='1'cx='218.8'cy='-47.2'/><circle r='1'cx='219.3'cy='-47.3'/><circle r='1'cx='219.8'cy='-47.5'/><circle r='1'cx='220.3'cy='-47.7'/><circle r='1'cx='220.9'cy='-47.8'/><circle r='1'cx='221.4'cy='-48.0'/><circle r='1'cx='221.9'cy='-48.1'/><circle r='1'cx='222.4'cy='-48.3'/><circle r='1'cx='223.0'cy='-48.4'/><circle r='1'cx='223.5'cy='-48.5'/><circle r='1'cx='224.0'cy='-48.6'/><circle r='1'cx='224.6'cy='-48.8'/><circle r='1'cx='225.1'cy='-48.9'/><circle r='1'cx='225.7'cy='-49.0'/><circle r='1'cx='226.2'cy='-49.1'/><circle r='1'cx='226.7'cy='-49.2'/><circle r='1'cx='227.3'cy='-49.2'/><circle r='1'cx='227.8'cy='-49.3'/><circle r='1'cx='228.3'cy='-49.4'/><circle r='1'cx='228.9'cy='-49.5'/><circle r='1'cx='229.4'cy='-49.5'/><circle r='1'cx='229.9'cy='-49.6'/><circle r='1'cx='230.5'cy='-49.6'/><circle r='1'cx='231.0'cy='-49.7'/><circle r='1'cx='231.5'cy='-49.7'/><circle r='1'cx='232.1'cy='-49.7'/><circle r='1'cx='232.6'cy='-49.7'/><circle r='1'cx='233.1'cy='-49.7'/><circle r='1'cx='233.6'cy='-49.7'/><circle r='1'cx='234.1'cy='-49.7'/><circle r='1'cx='234.6'cy='-49.7'/><circle r='1'cx='235.2'cy='-49.7'/><circle r='1'cx='235.7'cy='-49.7'/><circle r='1'cx='236.2'cy='-49.7'/><circle r='1'cx='236.6'cy='-49.6'/><circle r='1'cx='237.1'cy='-49.6'/><circle r='1'cx='237.6'cy='-49.5'/><circle r='1'cx='238.1'cy='-49.5'/><circle r='1'cx='238.5'cy='-49.4'/><circle r='1'cx='239.0'cy='-49.3'/><circle r='1'cx='239.5'cy='-49.3'/><circle r='1'cx='239.9'cy='-49.2'/><circle r='1'cx='240.3'cy='-49.1'/><circle r='1'cx='240.8'cy='-49.0'/><circle r='1'cx='241.2'cy='-48.9'/><circle r='1'cx='241.6'cy='-48.8'/><circle r='1'cx='242.0'cy='-48.7'/><circle r='1'cx='242.4'cy='-48.5'/><circle r='1'cx='242.8'cy='-48.4'/><circle r='1'cx='243.2'cy='-48.3'/><circle r='1'cx='243.5'cy='-48.1'/><circle r='1'cx='243.9'cy='-48.0'/><circle r='1'cx='244.2'cy='-47.8'/><circle r='1'cx='244.6'cy='-47.7'/><circle r='1'cx='244.9'cy='-47.5'/><circle r='1'cx='245.2'cy='-47.4'/><circle r='1'cx='245.5'cy='-47.2'/><circle r='1'cx='245.8'cy='-47.0'/><circle r='1'cx='246.1'cy='-46.8'/><circle r='1'cx='246.4'cy='-46.6'/><circle r='1'cx='246.6'cy='-46.4'/><circle r='1'cx='246.9'cy='-46.2'/><circle r='1'cx='247.1'cy='-46.0'/><circle r='1'cx='247.3'cy='-45.8'/><circle r='1'cx='247.6'cy='-45.6'/><circle r='1'cx='247.8'cy='-45.4'/><circle r='1'cx='247.9'cy='-45.1'/><circle r='1'cx='248.1'cy='-44.9'/><circle r='1'cx='248.3'cy='-44.7'/><circle r='1'cx='248.4'cy='-44.4'/><circle r='1'cx='248.6'cy='-44.2'/><circle r='1'cx='248.7'cy='-43.9'/><circle r='1'cx='248.8'cy='-43.7'/><circle r='1'cx='248.9'cy='-43.4'/><circle r='1'cx='249.0'cy='-43.1'/><circle r='1'cx='249.1'cy='-42.9'/><circle r='1'cx='249.1'cy='-42.6'/><circle r='1'cx='249.2'cy='-42.3'/><circle r='1'cx='249.2'cy='-42.0'/><circle r='1'cx='249.2'cy='-41.8'/><circle r='1'cx='249.2'cy='-41.5'/><circle r='1'cx='249.2'cy='-41.2'/><circle r='1'cx='249.2'cy='-40.9'/><circle r='1'cx='249.2'cy='-40.6'/><circle r='1'cx='249.1'cy='-40.3'/><circle r='1'cx='249.0'cy='-40.0'/><circle r='1'cx='249.0'cy='-39.7'/><circle r='1'cx='248.9'cy='-39.4'/><circle r='1'cx='248.8'cy='-39.0'/><circle r='1'cx='248.7'cy='-38.7'/><circle r='1'cx='248.5'cy='-38.4'/><circle r='1'cx='248.4'cy='-38.1'/><circle r='1'cx='248.2'cy='-37.7'/><circle r='1'cx='248.0'cy='-37.4'/><circle r='1'cx='247.9'cy='-37.1'/><circle r='1'cx='247.7'cy='-36.7'/><circle r='1'cx='247.4'cy='-36.4'/><circle r='1'cx='247.2'cy='-36.1'/><circle r='1'cx='247.0'cy='-35.7'/><circle r='1'cx='246.7'cy='-35.4'/><circle r='1'cx='246.4'cy='-35.0'/><circle r='1'cx='246.1'cy='-34.7'/><circle r='1'cx='245.8'cy='-34.3'/><circle r='1'cx='245.5'cy='-33.9'/><circle r='1'cx='245.2'cy='-33.6'/><circle r='1'cx='244.9'cy='-33.2'/><circle r='1'cx='244.5'cy='-32.9'/><circle r='1'cx='244.1'cy='-32.5'/><circle r='1'cx='243.7'cy='-32.1'/><circle r='1'cx='243.4'cy='-31.7'/><circle r='1'cx='242.9'cy='-31.4'/><circle r='1'cx='242.5'cy='-31.0'/><circle r='1'cx='242.1'cy='-30.6'/><circle r='1'cx='241.6'cy='-30.2'/><circle r='1'cx='241.1'cy='-29.9'/><circle r='1'cx='240.7'cy='-29.5'/><circle r='1'cx='240.2'cy='-29.1'/><circle r='1'cx='239.7'cy='-28.7'/><circle r='1'cx='239.1'cy='-28.3'/><circle r='1'cx='238.6'cy='-27.9'/><circle r='1'cx='238.1'cy='-27.5'/><circle r='1'cx='237.5'cy='-27.1'/><circle r='1'cx='236.9'cy='-26.8'/><circle r='1'cx='236.3'cy='-26.4'/><circle r='1'cx='235.7'cy='-26.0'/><circle r='1'cx='235.1'cy='-25.6'/><circle r='1'cx='234.5'cy='-25.2'/><circle r='1'cx='233.8'cy='-24.8'/><circle r='1'cx='233.2'cy='-24.4'/><circle r='1'cx='232.5'cy='-24.0'/><circle r='1'cx='231.8'cy='-23.5'/><circle r='1'cx='231.1'cy='-23.1'/><circle r='1'cx='230.4'cy='-22.7'/><circle r='1'cx='229.7'cy='-22.3'/><circle r='1'cx='228.9'cy='-21.9'/><circle r='1'cx='228.2'cy='-21.5'/><circle r='1'cx='227.4'cy='-21.1'/><circle r='1'cx='226.7'cy='-20.7'/><circle r='1'cx='225.9'cy='-20.3'/><circle r='1'cx='225.1'cy='-19.8'/><circle r='1'cx='224.3'cy='-19.4'/><circle r='1'cx='223.4'cy='-19.0'/><circle r='1'cx='222.6'cy='-18.6'/><circle r='1'cx='221.8'cy='-18.2'/><circle r='1'cx='220.9'cy='-17.8'/><circle r='1'cx='220.0'cy='-17.3'/><circle r='1'cx='219.2'cy='-16.9'/><circle r='1'cx='218.3'cy='-16.5'/><circle r='1'cx='217.4'cy='-16.1'/><circle r='1'cx='216.5'cy='-15.6'/><circle r='1'cx='215.5'cy='-15.2'/><circle r='1'cx='214.6'cy='-14.8'/><circle r='1'cx='213.7'cy='-14.4'/><circle r='1'cx='212.7'cy='-13.9'/><circle r='1'cx='211.8'cy='-13.5'/><circle r='1'cx='210.8'cy='-13.1'/><circle r='1'cx='209.8'cy='-12.7'/><circle r='1'cx='208.8'cy='-12.2'/><circle r='1'cx='207.8'cy='-11.8'/><circle r='1'cx='206.8'cy='-11.4'/><circle r='1'cx='205.8'cy='-10.9'/><circle r='1'cx='204.8'cy='-10.5'/><circle r='1'cx='203.8'cy='-10.1'/><circle r='1'cx='202.7'cy='-9.6'/><circle r='1'cx='201.7'cy='-9.2'/><circle r='1'cx='200.7'cy='-8.8'/><circle r='1'cx='199.6'cy='-8.3'/><circle r='1'cx='198.5'cy='-7.9'/><circle r='1'cx='197.5'cy='-7.5'/><circle r='1'cx='196.4'cy='-7.0'/><circle r='1'cx='195.3'cy='-6.6'/><circle r='1'cx='194.3'cy='-6.2'/><circle r='1'cx='193.2'cy='-5.7'/><circle r='1'cx='192.1'cy='-5.3'/><circle r='1'cx='191.0'cy='-4.9'/><circle r='1'cx='189.9'cy='-4.4'/><circle r='1'cx='188.8'cy='-4.0'/><circle r='1'cx='187.7'cy='-3.6'/><circle r='1'cx='186.6'cy='-3.1'/><circle r='1'cx='185.5'cy='-2.7'/><circle r='1'cx='184.4'cy='-2.3'/><circle r='1'cx='183.3'cy='-1.8'/><circle r='1'cx='182.1'cy='-1.4'/><circle r='1'cx='181.0'cy='-0.9'/><circle r='1'cx='179.9'cy='-0.5'/><circle r='1'cx='178.8'cy='-0.1'/><circle r='1'cx='177.7'cy='0.4'/><circle r='1'cx='176.6'cy='0.8'/><circle r='1'cx='175.5'cy='1.2'/><circle r='1'cx='174.4'cy='1.7'/><circle r='1'cx='173.2'cy='2.1'/><circle r='1'cx='172.1'cy='2.5'/><circle r='1'cx='171.0'cy='3.0'/><circle r='1'cx='169.9'cy='3.4'/><circle r='1'cx='168.8'cy='3.9'/><circle r='1'cx='167.7'cy='4.3'/><circle r='1'cx='166.6'cy='4.7'/><circle r='1'cx='165.5'cy='5.2'/><circle r='1'cx='164.5'cy='5.6'/><circle r='1'cx='163.4'cy='6.0'/><circle r='1'cx='162.3'cy='6.5'/><circle r='1'cx='161.2'cy='6.9'/><circle r='1'cx='160.2'cy='7.3'/><circle r='1'cx='159.1'cy='7.8'/><circle r='1'cx='158.0'cy='8.2'/><circle r='1'cx='157.0'cy='8.6'/><circle r='1'cx='155.9'cy='9.1'/><circle r='1'cx='154.9'cy='9.5'/><circle r='1'cx='153.9'cy='9.9'/><circle r='1'cx='152.9'cy='10.4'/><circle r='1'cx='151.8'cy='10.8'/><circle r='1'cx='150.8'cy='11.2'/><circle r='1'cx='149.8'cy='11.7'/><circle r='1'cx='148.8'cy='12.1'/><circle r='1'cx='147.9'cy='12.5'/><circle r='1'cx='146.9'cy='12.9'/><circle r='1'cx='145.9'cy='13.4'/><circle r='1'cx='145.0'cy='13.8'/><circle r='1'cx='144.0'cy='14.2'/><circle r='1'cx='143.1'cy='14.7'/><circle r='1'cx='142.2'cy='15.1'/><circle r='1'cx='141.3'cy='15.5'/><circle r='1'cx='140.3'cy='15.9'/><circle r='1'cx='139.5'cy='16.4'/><circle r='1'cx='138.6'cy='16.8'/><circle r='1'cx='137.7'cy='17.2'/><circle r='1'cx='136.8'cy='17.6'/><circle r='1'cx='136.0'cy='18.0'/><circle r='1'cx='135.2'cy='18.5'/><circle r='1'cx='134.3'cy='18.9'/><circle r='1'cx='133.5'cy='19.3'/><circle r='1'cx='132.7'cy='19.7'/><circle r='1'cx='131.9'cy='20.1'/><circle r='1'cx='131.1'cy='20.5'/><circle r='1'cx='130.4'cy='21.0'/><circle r='1'cx='129.6'cy='21.4'/><circle r='1'cx='128.9'cy='21.8'/><circle r='1'cx='128.1'cy='22.2'/><circle r='1'cx='127.4'cy='22.6'/><circle r='1'cx='126.7'cy='23.0'/><circle r='1'cx='126.0'cy='23.4'/><circle r='1'cx='125.3'cy='23.8'/><circle r='1'cx='124.7'cy='24.2'/><circle r='1'cx='124.0'cy='24.6'/><circle r='1'cx='123.4'cy='25.0'/><circle r='1'cx='122.8'cy='25.4'/><circle r='1'cx='122.2'cy='25.8'/><circle r='1'cx='121.6'cy='26.2'/><circle r='1'cx='121.0'cy='26.6'/><circle r='1'cx='120.4'cy='27.0'/><circle r='1'cx='119.8'cy='27.4'/><circle r='1'cx='119.3'cy='27.8'/><circle r='1'cx='118.8'cy='28.2'/><circle r='1'cx='118.2'cy='28.6'/><circle r='1'cx='117.7'cy='29.0'/><circle r='1'cx='117.2'cy='29.4'/><circle r='1'cx='116.8'cy='29.7'/><circle r='1'cx='116.3'cy='30.1'/><circle r='1'cx='115.9'cy='30.5'/><circle r='1'cx='115.4'cy='30.9'/><circle r='1'cx='115.0'cy='31.3'/><circle r='1'cx='114.6'cy='31.6'/><circle r='1'cx='114.2'cy='32.0'/><circle r='1'cx='113.8'cy='32.4'/><circle r='1'cx='113.5'cy='32.7'/><circle r='1'cx='113.1'cy='33.1'/><circle r='1'cx='112.8'cy='33.5'/><circle r='1'cx='112.5'cy='33.8'/><circle r='1'cx='112.1'cy='34.2'/><circle r='1'cx='111.8'cy='34.5'/><circle r='1'cx='111.6'cy='34.9'/><circle r='1'cx='111.3'cy='35.2'/><circle r='1'cx='111.0'cy='35.6'/><circle r='1'cx='110.8'cy='35.9'/><circle r='1'cx='110.6'cy='36.3'/><circle r='1'cx='110.4'cy='36.6'/><circle r='1'cx='110.2'cy='37.0'/><circle r='1'cx='110.0'cy='37.3'/><circle r='1'cx='109.8'cy='37.6'/><circle r='1'cx='109.7'cy='38.0'/><circle r='1'cx='109.5'cy='38.3'/><circle r='1'cx='109.4'cy='38.6'/><circle r='1'cx='109.3'cy='38.9'/><circle r='1'cx='109.2'cy='39.3'/><circle r='1'cx='109.1'cy='39.6'/><circle r='1'cx='109.0'cy='39.9'/><circle r='1'cx='109.0'cy='40.2'/><circle r='1'cx='108.9'cy='40.5'/><circle r='1'cx='108.9'cy='40.8'/><circle r='1'cx='108.9'cy='41.1'/><circle r='1'cx='108.9'cy='41.4'/><circle r='1'cx='108.9'cy='41.7'/><circle r='1'cx='108.9'cy='42.0'/><circle r='1'cx='108.9'cy='42.2'/><circle r='1'cx='109.0'cy='42.5'/><circle r='1'cx='109.0'cy='42.8'/><circle r='1'cx='109.1'cy='43.1'/><circle r='1'cx='109.2'cy='43.3'/><circle r='1'cx='109.3'cy='43.6'/><circle r='1'cx='109.4'cy='43.8'/><circle r='1'cx='109.5'cy='44.1'/><circle r='1'cx='109.7'cy='44.3'/><circle r='1'cx='109.8'cy='44.6'/><circle r='1'cx='110.0'cy='44.8'/><circle r='1'cx='110.2'cy='45.1'/><circle r='1'cx='110.4'cy='45.3'/><circle r='1'cx='110.6'cy='45.5'/><circle r='1'cx='110.8'cy='45.7'/><circle r='1'cx='111.0'cy='45.9'/><circle r='1'cx='111.2'cy='46.2'/><circle r='1'cx='111.5'cy='46.4'/><circle r='1'cx='111.8'cy='46.6'/><circle r='1'cx='112.0'cy='46.8'/><circle r='1'cx='112.3'cy='46.9'/><circle r='1'cx='112.6'cy='47.1'/><circle r='1'cx='112.9'cy='47.3'/><circle r='1'cx='113.2'cy='47.5'/><circle r='1'cx='113.6'cy='47.6'/><circle r='1'cx='113.9'cy='47.8'/><circle r='1'cx='114.3'cy='47.9'/><circle r='1'cx='114.6'cy='48.1'/><circle r='1'cx='115.0'cy='48.2'/><circle r='1'cx='115.4'cy='48.4'/><circle r='1'cx='115.8'cy='48.5'/><circle r='1'cx='116.2'cy='48.6'/><circle r='1'cx='116.6'cy='48.7'/><circle r='1'cx='117.0'cy='48.9'/><circle r='1'cx='117.4'cy='49.0'/><circle r='1'cx='117.8'cy='49.1'/><circle r='1'cx='118.3'cy='49.2'/><circle r='1'cx='118.7'cy='49.2'/><circle r='1'cx='119.2'cy='49.3'/><circle r='1'cx='119.6'cy='49.4'/><circle r='1'cx='120.1'cy='49.5'/><circle r='1'cx='120.6'cy='49.5'/><circle r='1'cx='121.1'cy='49.6'/><circle r='1'cx='121.5'cy='49.6'/><circle r='1'cx='122.0'cy='49.6'/><circle r='1'cx='122.5'cy='49.7'/><circle r='1'cx='123.0'cy='49.7'/><circle r='1'cx='123.5'cy='49.7'/><circle r='1'cx='124.1'cy='49.7'/><circle r='1'cx='124.6'cy='49.7'/><circle r='1'cx='125.1'cy='49.7'/><circle r='1'cx='125.6'cy='49.7'/><circle r='1'cx='126.1'cy='49.7'/><circle r='1'cx='126.7'cy='49.7'/><circle r='1'cx='127.2'cy='49.7'/><circle r='1'cx='127.7'cy='49.6'/><circle r='1'cx='128.3'cy='49.6'/><circle r='1'cx='128.8'cy='49.5'/><circle r='1'cx='129.3'cy='49.5'/><circle r='1'cx='129.9'cy='49.4'/><circle r='1'cx='130.4'cy='49.4'/><circle r='1'cx='131.0'cy='49.3'/><circle r='1'cx='131.5'cy='49.2'/><circle r='1'cx='132.0'cy='49.1'/><circle r='1'cx='132.6'cy='49.0'/><circle r='1'cx='133.1'cy='48.9'/><circle r='1'cx='133.7'cy='48.8'/><circle r='1'cx='134.2'cy='48.7'/><circle r='1'cx='134.7'cy='48.6'/><circle r='1'cx='135.3'cy='48.4'/><circle r='1'cx='135.8'cy='48.3'/><circle r='1'cx='136.3'cy='48.2'/><circle r='1'cx='136.9'cy='48.0'/><circle r='1'cx='137.4'cy='47.9'/><circle r='1'cx='137.9'cy='47.7'/><circle r='1'cx='138.5'cy='47.5'/><circle r='1'cx='139.0'cy='47.4'/><circle r='1'cx='139.5'cy='47.2'/><circle r='1'cx='140.0'cy='47.0'/><circle r='1'cx='140.5'cy='46.8'/><circle r='1'cx='141.0'cy='46.7'/><circle r='1'cx='141.5'cy='46.5'/><circle r='1'cx='142.0'cy='46.3'/><circle r='1'cx='142.5'cy='46.0'/><circle r='1'cx='143.0'cy='45.8'/><circle r='1'cx='143.5'cy='45.6'/><circle r='1'cx='144.0'cy='45.4'/><circle r='1'cx='144.5'cy='45.2'/><circle r='1'cx='145.0'cy='44.9'/><circle r='1'cx='145.4'cy='44.7'/><circle r='1'cx='145.9'cy='44.5'/><circle r='1'cx='146.4'cy='44.2'/><circle r='1'cx='146.8'cy='44.0'/><circle r='1'cx='147.3'cy='43.7'/><circle r='1'cx='147.7'cy='43.5'/><circle r='1'cx='148.2'cy='43.2'/><circle r='1'cx='148.6'cy='42.9'/><circle r='1'cx='149.1'cy='42.6'/><circle r='1'cx='149.5'cy='42.4'/><circle r='1'cx='149.9'cy='42.1'/><circle r='1'cx='150.4'cy='41.8'/><circle r='1'cx='150.8'cy='41.5'/><circle r='1'cx='151.2'cy='41.2'/><circle r='1'cx='151.6'cy='40.9'/><circle r='1'cx='152.0'cy='40.6'/><circle r='1'cx='152.4'cy='40.3'/><circle r='1'cx='152.8'cy='40.0'/><circle r='1'cx='153.2'cy='39.7'/><circle r='1'cx='153.6'cy='39.4'/><circle r='1'cx='154.0'cy='39.1'/><circle r='1'cx='154.4'cy='38.8'/><circle r='1'cx='154.8'cy='38.4'/><circle r='1'cx='155.2'cy='38.1'/><circle r='1'cx='155.5'cy='37.8'/><circle r='1'cx='155.9'cy='37.5'/><circle r='1'cx='156.3'cy='37.1'/><circle r='1'cx='156.6'cy='36.8'/><circle r='1'cx='157.0'cy='36.5'/><circle r='1'cx='157.3'cy='36.1'/><circle r='1'cx='157.7'cy='35.8'/><circle r='1'cx='158.0'cy='35.4'/><circle r='1'cx='158.4'cy='35.1'/><circle r='1'cx='158.7'cy='34.7'/><circle r='1'cx='159.1'cy='34.4'/><circle r='1'cx='159.4'cy='34.0'/><circle r='1'cx='159.7'cy='33.6'/><circle r='1'cx='160.0'cy='33.3'/><circle r='1'cx='160.4'cy='32.9'/><circle r='1'cx='160.7'cy='32.5'/><circle r='1'cx='161.0'cy='32.2'/><circle r='1'cx='161.3'cy='31.8'/><circle r='1'cx='161.6'cy='31.4'/><circle r='1'cx='161.9'cy='31.1'/><circle r='1'cx='162.2'cy='30.7'/><circle r='1'cx='162.5'cy='30.3'/><circle r='1'cx='162.8'cy='29.9'/><circle r='1'cx='163.1'cy='29.5'/><circle r='1'cx='163.4'cy='29.2'/><circle r='1'cx='163.7'cy='28.8'/><circle r='1'cx='164.0'cy='28.4'/><circle r='1'cx='164.3'cy='28.0'/><circle r='1'cx='164.5'cy='27.6'/><circle r='1'cx='164.8'cy='27.2'/><circle r='1'cx='165.1'cy='26.8'/><circle r='1'cx='165.4'cy='26.4'/><circle r='1'cx='165.6'cy='26.0'/><circle r='1'cx='165.9'cy='25.6'/><circle r='1'cx='166.2'cy='25.2'/><circle r='1'cx='166.4'cy='24.8'/><circle r='1'cx='166.7'cy='24.4'/><circle r='1'cx='166.9'cy='24.0'/><circle r='1'cx='167.2'cy='23.6'/><circle r='1'cx='167.5'cy='23.2'/><circle r='1'cx='167.7'cy='22.8'/><circle r='1'cx='168.0'cy='22.4'/><circle r='1'cx='168.2'cy='22.0'/><circle r='1'cx='168.5'cy='21.6'/><circle r='1'cx='168.7'cy='21.2'/><circle r='1'cx='168.9'cy='20.7'/><circle r='1'cx='169.2'cy='20.3'/><circle r='1'cx='169.4'cy='19.9'/><circle r='1'cx='169.7'cy='19.5'/><circle r='1'cx='169.9'cy='19.1'/><circle r='1'cx='170.1'cy='18.7'/><circle r='1'cx='170.4'cy='18.2'/><circle r='1'cx='170.6'cy='17.8'/><circle r='1'cx='170.8'cy='17.4'/><circle r='1'cx='171.1'cy='17.0'/><circle r='1'cx='171.3'cy='16.6'/><circle r='1'cx='171.5'cy='16.1'/><circle r='1'cx='171.7'cy='15.7'/><circle r='1'cx='172.0'cy='15.3'/><circle r='1'cx='172.2'cy='14.9'/><circle r='1'cx='172.4'cy='14.4'/><circle r='1'cx='172.6'cy='14.0'/><circle r='1'cx='172.8'cy='13.6'/><circle r='1'cx='173.1'cy='13.2'/><circle r='1'cx='173.3'cy='12.7'/><circle r='1'cx='173.5'cy='12.3'/><circle r='1'cx='173.7'cy='11.9'/><circle r='1'cx='173.9'cy='11.4'/><circle r='1'cx='174.1'cy='11.0'/><circle r='1'cx='174.3'cy='10.6'/><circle r='1'cx='174.6'cy='10.1'/><circle r='1'cx='174.8'cy='9.7'/><circle r='1'cx='175.0'cy='9.3'/><circle r='1'cx='175.2'cy='8.8'/><circle r='1'cx='175.4'cy='8.4'/><circle r='1'cx='175.6'cy='8.0'/><circle r='1'cx='175.8'cy='7.5'/><circle r='1'cx='176.0'cy='7.1'/><circle r='1'cx='176.2'cy='6.7'/><circle r='1'cx='176.4'cy='6.2'/><circle r='1'cx='176.6'cy='5.8'/><circle r='1'cx='176.8'cy='5.4'/><circle r='1'cx='177.0'cy='4.9'/><circle r='1'cx='177.2'cy='4.5'/><circle r='1'cx='177.4'cy='4.1'/><circle r='1'cx='177.7'cy='3.6'/><circle r='1'cx='177.9'cy='3.2'/><circle r='1'cx='178.1'cy='2.8'/><circle r='1'cx='178.3'cy='2.3'/><circle r='1'cx='178.5'cy='1.9'/><circle r='1'cx='178.7'cy='1.4'/><circle r='1'cx='178.9'cy='1.0'/><circle r='1'cx='179.1'cy='0.6'/><circle r='1'cx='179.3'cy='0.1'/><circle r='1'cx='179.5'cy='-0.3'/><circle r='1'cx='179.7'cy='-0.7'/>
αinstead ofμfor the gravitational parameter and introduce a symbolp=a(1-e**2)for the semi-latus rectum. There's an error in your cartesian (x,y) velocity formula - it should sayμ(orα) notωsee equations 46 & 47 in the linked page. Also for ECEF to lat/long, the quantity on the right hand of the latitude formula issin ϕnotϕAn additionalasinis needed to convert. \$\endgroup\$ℓ=a(1-e^2)since it's just another symbol to use; I was trying to keep it as simple as possible. thanks for the corrections and wiki page, no idea how I never spotted the kepler orbit page when I was linking everything. \$\endgroup\$pso you could check my correction against the wikipedia formula. I'm going to try to provide an answer this week. \$\endgroup\$H=sqrt(αp)=constant=magnitude of cross product of displacementrand velocityr dotequations (26 and 3.) This reduces to scalar radius * tangential velocity, with the latter being simplyH/r(equation 19) giving the result dTheta/dt=H/r**2(equation 3) which is consistent with Kepler's observation that the orbit sweeps out equal area in equal time. I intend to use bendy curves method with dt/dTheta=r**2/HI tried the other method but this is shorter, more stable & gives the same result \$\endgroup\$