Subscribe to DSC Newsletter

Here we describe a rudimentary method, using basic trigonometry, to predict lunar and solar eclipses. The purpose is to get people interested in the mathematics behind these events. We assume here that the Sun, the Earth and the Moon are just points. Thus we do not predict where on Earth eclipses take place, nor whether they are full of partial. But we derive some interesting results, such as

  • Solar eclipses are as frequent as lunar eclipses
  • On average, a solar eclipse occurs somewhere on Earth every 29 days or so

These two results should be compared and contrasted with those published here (based on a different methodology) and the reader is invited to explain the discrepancy.. Note that an eclipse occurs when the Sun, Earth, and Moon are aligned. If the Moon is between the Sun and the Earth, it is called a solar eclipse. If the Earth is between the Sun and the Moon, it is called a lunar eclipse. 

Source for picture: click here

This article is great material to interest high school students in science, allowing them to work on an applied, fun real-life math problem. Some techniques to predict eclipses use linear regression or interpolation, but here we just use basic maths. 

Model and Assumptions

Time is denoted as t. We assume that the celestial bodies are located in a plane. At time t, we assume the Sun is located at Sun(t) =(0, 0), the Earth is located at Earth(t) = (R cos(Vt R), R sin(Vt R)) and the Moon is located at Moon(t) = Earth(t) + (r cos(vt r), r sin(vtr)). Thus, when t = 0, we observe a lunar eclipse.

Here V and R respectively denote the speed of  Earth when rotating around the Sun, and the distance between Earth and the Sun. Likewise, v and r respectively denote the speed of  Moon when rotating around the Earth, and the distance between Moon and the Earth.

The Solution

Alignment occurs only if Moon(t) = (1-a) Sun(t) + a Earth(t) where a is a number between 0 and 1: in that case, we are dealing with a solar eclipse. If a > 1, we are dealing with a lunar eclipse.  This provides a system with two equations (one for each coordinate) with two variables: a, and t (the time when the eclipse occurs.) As we will see, infinitely many values of t satisfy the equations, and these values are about 29 days apart (when a < 1) on average.

It is straightforward to obtain

(a - 1) R cos(Vt / R) r cos(vt / r)

(a - 1) R sin(Vt / R) = r sin(vt / r 

Elementary algebra yields:

tang(vt / r) = tang(Vt / R)

a = (R - r) / R (solar eclipse) or a = (R + r) / R (lunar eclipse)

where tang represents the tangent function (sine divided by cosine.) This happens only if

t = kpRr / (vR - Vr) for any integer k (positive or negative)


Using the correct values for r, R, v, and V, one finds that eclipses occur at t = k * 14.8 days, where k is any integer (positive or negative.) Also, solar and lunar eclipses alternate. This is very different from what is happening in the real world. Eclipses seem to be much less frequent. The reader is invited to explain the discrepancy. Of course, the model used here is too rudimentary, yet it seems very intuitive. Using discs rather than points, for celestial bodies, makes the equations more complicated, though the problem can also be solved using Monte-Carlo simulations.

Probably the reason why this model produces too many eclipses is because it is based on a 2-dimensional representation of the solar system. Celestial bodies may appear aligned when projected on a 2-dimensional plane, when in reality (in 3 dimensions) they are not. This is a typical issue  arising when performing data reduction. In some ways, the eclipses produced by this simplistic model represent the maximum number of potential eclipses.  

This exercise also proves that the orbits of the Moon around Earth, and Earth around the Sun, are in two different planes. This is caused by Earth's inclination (axial tilt.) 

DSC Resources

Popular Articles

Views: 760


You need to be a member of Data Science Central to add comments!

Join Data Science Central

Follow Us


  • Add Videos
  • View All


© 2017   Data Science Central   Powered by

Badges  |  Report an Issue  |  Privacy Policy  |  Terms of Service