Title says it, really. As I understand, our total peculiar motion with respect to the CMB is 631 (+/-20) km/h, in the direction of 10.5h RA; -24 deg Dec (or rather away from 22.5h RA; +24 deg Dec, right? That's close to the direction of Lambda Pegasi).

So, if we draw a line from the Moon to Lambda Pegasi, does Earth ever cross it?

I think the answer is no, but don't have enough of a model to prove it to myself.

The inclination of the Moon's orbit is 5.14 degrees, and the Earth subtends about 1.2 degrees from the moon, but the Moon's path extends off at 24 degrees above the ecliptic. So the Earth won't cross it, right?

This is all assuming that the vector info above is the total, and already accounts for the motion of the sun around the milky way. If that's not the case, please let me know.

  • 3
    $\begingroup$ Are you asking whether the Earth ever eclipses Lambda Peg according to an observer on the Moon? The motion of the solar system with respect to the CMB is 370 km per second towards Leo, so I'm not sure where you are going with this? $\endgroup$
    – ProfRob
    May 31, 2017 at 18:43
  • $\begingroup$ Yes, that's an easier way of putting it: does Earth ever eclipse Lambda Peg according to an observer on the Moon? $\endgroup$ Jun 2, 2017 at 3:20

1 Answer 1


Not within plus/minus a few hundred years at least! The Moon's orbital plane around the Earth (viewed in an inertial frame) rocks back and forth a bit (Lunar Nodal Precession with a period of about 18.6 years), but that's not going to help here.

You can play with the numbers in this program.

enter image description here

enter image description here

enter image description here

enter image description here

import numpy as np
import matplotlib.pyplot as plt
from skyfield.api import Loader

degs = 180./np.pi

load = Loader('~/Documents/yournamehere/SkyData')
data = load('de405.bsp')
ts   = load.timescale()

timez = []
dayz  = np.arange(1, 31, 0.1)
dayz  = np.arange(1, 366, 0.1)

#for year in range(1700, 2200):
for year in range(2017, 2028):
#for year in range(2000, 2030):

    #time    = ts.utc(year, 7,  dayz)  # July
    time    = ts.utc(year, 1, dayz)   # January

earth = data['earth']
moon  = data['moon']

RAdegs, Decdegs = [], []

for time in timez:

    RA, Dec, dist = earth.at(time).observe(moon).radec()
    RAdeg, Decdeg = degs*RA.radians, degs*Dec.radians

    # lazy way to block the wrapparound
    dRAdeg = RAdeg[1:] - RAdeg[:-1]
    dropit = np.abs(dRAdeg) > 100
    RAdeg[:-1][dropit]  = np.nan
    Decdeg[:-1][dropit] = np.nan


RAdegpts  = [157.5, 157.5+180]  # coordinates from the question
Decdegpts = [-24.0, +24.0] 

if 1 == 1:
    for RAdeg, Decdeg in zip(RAdegs, Decdegs): #[::5]:  # plot every 5th year
        plt.plot(RAdeg, Decdeg)
    plt.scatter(RAdegpts, Decdegpts)
    plt.title("2017 throuth 2027 continuously", fontsize=20)

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .