kepler2b function
Kepler2 with Steele limiting to avoid divergence.
Implementation
double kepler2b(double e, double m, {int places = 8}) {
return decimalPlaces(
(e0) {
final se = math.sin(e0);
final ce = math.cos(e0);
var d = (m + e * se - e0) / (1 - e * ce);
if (d > 0.5) {
d = 0.5;
} else if (d < -0.5) {
d = -0.5;
}
return e0 + d;
},
m,
places: places,
maxIterations: places,
);
}