Inspired by this answer

At the right time of year you can position yourself at say 100 AU from the Sun in the plane of the Earth's orbit and just let go. With no tangential velocity, the Sun's gravity will tug on you and accelerate you along a straight-line trajectory, directly towards the Sun.

What if instead of being on the plane of Earth's orbit, we were 100 AU out at at the solar systems north pole (I do not find/know a term for solar system north). It would seem that a direct northly (or southerly) starting position from a dead stop could only lead to impact with the Sun.

How far (AU and/or degrees) from solar north would I need to be to impact the Earth in this 100 AU trip?


2 Answers 2


Wikipedia sez that for a body starting at rest at distance $r$, the time it takes to reach a distance $x$ is given by:

$$t(x) = \frac{r^{3/2}}{\sqrt{2 GM}} \left( \arccos(\sqrt{b}) + \sqrt{b(1-b)} \right)$$

where $b=x/r$. The Sun's standard gravitational parameter GM is about 1.327E+20 m^3/s^2.

The time to fall all of the way ($x=0$) is just

$$t(x) = \frac{r^{3/2}}{\sqrt{2 GM}} \frac{\pi}{2} = \sqrt{\frac{r^3\pi^2}{8GM}}.$$

For 1 AU that's about 0.178 years, and for 100 AU it's 100${}^{3/2}$ longer or 178 years.

That means that we'll have to take the motion of the planets into consideration, which is a good thing in this case because we need to hit Earth, not the Sun.

I wrote a short Python script to simulate this. I use a Mickey Mouse solar system with gravitational attraction from the Sun and the four large planets Jupiter through Neptune.

To make the program simple I used "reduced units" with 1 AU = 1.0 and 1 year = $2 \pi$.

In these units:

             mass          period        semi-major axis
Sun         1.0000E+00        -              0.000
Earth           -           1.000 x 2π       1.000
Jupiter     9.5476E-04     11.871 x 2π       5.204
Saturn      2.8583E-04     29.666 x 2π       9.583
Uranus      4.3662E-05     84.262 x 2π      19.22
Neptune     5.1522E-04    165.22  x 2π      30.11

I ran the simulation for an initial separation of 100 AU and for many others, with 180 AU also shown below. I can't get beyond 0.003 AU from the Sun's axis, nowhere near 1 AU (Earth's orbit) I dropped a probe every 20 years for 1000 years in order to build up a collection of trajectories.

Simulation - hit the Earth from 100 AU out-of-plane

Simulation - hit the Earth from 100 AU out-of-plane

So you have two choices:

  1. Start near 1 AU away from the Sun's axis
  2. Give yourself a small "kick" velocity to one side. At 100 AU it turns out to be about $\pi / 100$ AU/year which is about 150 m/sec, which is a medium-sized delta-v burn.

Simulation - hit the Earth from 100 AU out-of-plane

Python script:

def deriv(X, t):
    x, v = X.reshape(2, -1)
    positions = np.stack([semis*f(t * omegas) for f in (np.cos, np.sin, np.zeros_like)], axis=1)
    xx    = x.reshape(-1, 3) - positions
    accs  = -xx * GMs * (((xx**2).sum(axis=1))[:, None])**-1.5
    acc_sun = -x * 1.0 * ((x**2).sum())**-1.5
    acc     = accs.sum(axis=0) + acc_sun
    return np.hstack((v, acc))

import numpy as np
import matplotlib.pyplot as plt
from scipy.integrate import odeint as ODEint

halfpi, pi, twopi = [f*np.pi for f in (0.5, 1, 2)]

GMsun  = 1.327E+20
GMs    = np.array((1.267E+17, 3.793E+16, 5.794E+15, 6.837E+16)) # m^3/2^2 Sun, Jup, Sat, Ura, Nep
GMs    = GMs[:, None] / GMsun

semis  = np.array((5.204, 9.583, 19.22, 30.11)) # normalized to Earth's = 1
omegas = semis**-1.5
vs     = semis**-0.5

D        = 100 # AU
X0       = np.array([0, 0, D] + [0.005, 0, 0.0])  # x velocity is 0.005/2pi AU per year

Tmax     = np.sqrt((D**3 * pi**2)/(8))
yearsmax = Tmax/twopi

years = np.linspace(0, 0.999 * yearsmax, 200)
times = twopi * years

answers = []
t_offs  = 20. * np.arange(50)

for t_off in t_offs:
    answer, info = ODEint(deriv, X0, times+t_off, rtol=1E-11, full_output=True)

if True:
    for answer in answers:

        x, y, z = answer.T[:3]

        plt.subplot(3, 1, 1)
        plt.plot(years, x)
        plt.ylabel('x (AU)', fontsize=18)

        plt.subplot(3, 1, 2)
        plt.plot(years, y)
        plt.ylabel('y (AU)', fontsize=18)

        plt.subplot(3, 1, 3)
        plt.plot(years, z)
        plt.ylabel('z (AU)', fontsize=18)
        plt.xlabel('Years', fontsize=18)


To a pretty good approximation, the angle must be between 82.75° and 97.25° from the Sun's pole, and the distance doesn't matter. This is because if you're starting from rest relative to the sun, you will fall straight in relative to the Sun. To hit the Earth on your trajectory, the straight-line path from your starting location to the Sun must intersect Earth's orbit. Since the Sun's rotational axis is inclined at 7.25° to the plan of Earth's orbit, you must be 90° ± 7.25° = 82.75°–97.25° away from the pole for your trajectory to intersect the Earth's orbit.

  • 4
    $\begingroup$ In other words, it only works (generally) along the plane of the solar system. $\endgroup$ Commented Jul 12, 2019 at 17:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.