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(*vt* / *r*)). 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* = *k*p*Rr* / (*vR* - Vr) for any integer *k* (positive or negative)

**Results**

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**

- Services: Hire a Data Scientist | Search DSC | Classifieds | Find a Job
- Contributors: Post a Blog | Ask a Question
- Follow us: @DataScienceCtrl | @AnalyticBridge

Popular Articles

© 2019 Data Science Central ® Powered by

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

**Most Popular Content on DSC**

To not miss this type of content in the future, subscribe to our newsletter.

- Book: Classification and Regression In a Weekend - With Python
- Book: Applied Stochastic Processes
- Long-range Correlations in Time Series: Modeling, Testing, Case Study
- How to Automatically Determine the Number of Clusters in your Data
- New Machine Learning Cheat Sheet | Old one
- Confidence Intervals Without Pain - With Resampling
- Advanced Machine Learning with Basic Excel
- New Perspectives on Statistical Distributions and Deep Learning
- Fascinating New Results in the Theory of Randomness
- Fast Combinatorial Feature Selection

**Other popular resources**

- Comprehensive Repository of Data Science and ML Resources
- Statistical Concepts Explained in Simple English
- Machine Learning Concepts Explained in One Picture
- 100 Data Science Interview Questions and Answers
- Cheat Sheets | Curated Articles | Search | Jobs | Courses
- Post a Blog | Forum Questions | Books | Salaries | News

**Archives:** 2008-2014 |
2015-2016 |
2017-2019 |
Book 1 |
Book 2 |
More

**Most popular articles**

- Free Book and Resources for DSC Members
- New Perspectives on Statistical Distributions and Deep Learning
- Time series, Growth Modeling and Data Science Wizardy
- Statistical Concepts Explained in Simple English
- Machine Learning Concepts Explained in One Picture
- Comprehensive Repository of Data Science and ML Resources
- Advanced Machine Learning with Basic Excel
- Difference between ML, Data Science, AI, Deep Learning, and Statistics
- Selected Business Analytics, Data Science and ML articles
- How to Automatically Determine the Number of Clusters in your Data
- Fascinating New Results in the Theory of Randomness
- Hire a Data Scientist | Search DSC | Find a Job
- Post a Blog | Forum Questions

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

Join Data Science Central