Yes, you need to work your way through true, eccentric
and mean anomalies.
To find the true anomaly (theta) from your current orbital radius (r):
cos(theta) = a*(1-e^2)/(r*e) - 1/e
where a is the semimajor axis and e is the eccentricity. That gives:
theta = 62.964 degrees
To get from there to the eccentric anomaly (E) you use:
tan(E/2) = sqrt([1-e]/[1+e])*tan(theta/2)
which gives:
E = 53.130 degrees
The eccentric anomaly needs to be in radians before you plug it into Kepler's equation to get the mean anomaly (M):
M = E - e*sin(E)
then converting back to degrees gives:
M = 43.962 degrees
The time to perihelion (t) is then just
t = P*M/360
where P is the period. That works out to
115.538 years.
We can test this in Celestia to make sure I haven't messed up.
Set up the following object in orbit around the Sun with your planet's parameters:
Code: Select all
"Test" "Sol"
{
Radius 2000
EllipticalOrbit {
Period 946.13
SemiMajorAxis 100
Eccentricity 0.2
MeanAnomaly -43.962 #on its way towards perihelion
}
}
Now check its position at Celestia's default epoch (J2000.0) by setting the time to 1 Jan 2000, 12:00:00. The calculated mean anomaly places it at exactly 88AU, as required. Dial the time forward 115.538 years (my Julian date calculator makes that 17 July 2115), and presto, the planet is exactly 80AU from the Sun, at perihelion.
Don't you just
love it when the Universe is internally consistent like that

?
Grant