Celestial Body Tracker/Astrologer

Disclaimer

This essay does not describe an existing computer program, just one that should exist. This essay is about a suggested student project in Java programming. This essay gives a rough overview of how it might work. I have no source, object, specifications, file layouts or anything else useful to implementing this project. Everything I have prepared to help you is right here.

This project outline is not like the artificial, tidy little problems you are spoon-fed in school, when all the facts you need are included, nothing extraneous is mentioned, the answer is fully specified, along with hints to nudge you toward a single expected canonical solution. This project is much more like the real world of messy problems where it is up to you to fully the define the end point, or a series of ever more difficult versions of this project and research the information yourself to solve them.

Everything I have to say to help you with this project is written below. I am not prepared to help you implement it; or give you any additional materials. I have too many other projects of my own.

Though I am a programmer by profession, I don’t do people’s homework for them. That just robs them of an education.

You have my full permission to implement this project in any way you please and to keep all the profits from your endeavour.

Back in the early 1970s I asked all kinds of professional astronomers how astronomical effemerises (tables of planetary positions) were computed. To my amazement none knew and none cared either. So I set out to solve the problem on my own. I wrote a program in FØRTRAN on punch cards for the Univac 90/30. It calculated the positions of the planets and the moon at any given time then printed out astrological interpretations. I no longer have the program. Here are three ways you can approach it:
• Newtonian

: You start with the known positions of the planets and their velocities. You compute their accelerations from acceleration = force / mass. The force is inversely proportional to distance squared. You correct for the relativistic effects. Gravity can only travel at the speed of light so the effect of one body on another is where it was some time before. There may be more to it than that. You then integrate to compute the delta distance, just as if you were solving a differential equation numerically and compute the positions of the planets one minute later. This book will help with the general mathematics:
recommend book⇒A First Course in Numerical Analysis
by Anthony Ralston, Philip Rabinowitz 978-0-486-41454-6 paperback
publisher Dover 978-0-07-051158-3 hardcover
published 2001-02-06 978-0-486-14029-2 eBook
B00A736QC6 kindle
 abe books anz abe books.ca abe books.de amazon.ca amazon.de Chapters Indigo amazon.es Chapters Indigo eBooks iberlibro.com abe books.com abe books.fr amazon.com amazon.fr Barnes & Noble abe books.it Nook at Barnes & Noble amazon.it Kobo junglee.com Google play abe books.co.uk O’Reilly Safari amazon.co.uk Powells other stores
Greyed out stores probably do not have the item in stock. Try looking for it with a bookfinder.
Repeat until you hit your desired epoch. The problem with this approach is it is slow and it requires knowing initial positions and velocities. I could not find the necessary initial data anywhere back when I was tackling this. However, the approach can be generalised to handle some asteroids, a comet, or just to play what if simulation games.
• Spherical Astronomy

: This is the approach I used. I got a copy of Smart’s Spherical Astronomy.
recommend book⇒Textbook on Spherical Astronomy
by William. M. Smart, Robin Michael Green 978-0-521-29180-4 paperback
publisher Cambridge University 978-0-521-21516-9 hardcover
published 1977-07-29 978-1-139-92984-4 eBook
B00INYGFU4 kindle
 abe books anz abe books.ca abe books.de amazon.ca amazon.de Chapters Indigo amazon.es Chapters Indigo eBooks iberlibro.com abe books.com abe books.fr amazon.com amazon.fr Barnes & Noble abe books.it Nook at Barnes & Noble amazon.it Kobo junglee.com Google play abe books.co.uk O’Reilly Safari amazon.co.uk Powells other stores
Greyed out stores probably do not have the item in stock. Try looking for it with a bookfinder.
I then worked out the equations myself from the principles explained in the book. I checked them with various ephemerises. Unfortunately the results were not very accurate when projected more than 10 years from the base data. It may have simply been the limitations of the 32-bit floating point available of the Univac 90/30 or it may have been the equations themselves were too approximate. Anyway I had a heck of a lot of fun learning the mathematics.
• US Navy

: In the 1980s the US Navy made available a set of polynomial equations for calculating the positions of heavenly bodies. These are highly accurate. You just plug in your date, turn the crank and out pops the position. This is obviously the easiest way of solving the problem, but it does not give you much insight into why it works.
One you have this engine what can you do with it?
• Do simulations to learn about asteroid collisions. Just how close do they have to get and how slow do they have to be travelling to get sucked into earth’s gravity.
• Investigate just how finely balanced the solar system is. See what happens if a given planet gain/loses mass/momentum.
• Try runnning this far backward in time to see if anything interesting happens, keeping in mind the way the way error tends to multiply.
• Calculate Chinese new year, namely the second new moon after solstice. From that you can do accurate Chinese horoscopes.
• Do astronomical calculations of importance to Islam.
• Calculate the phases of the moon. This along with the Holiday Calculator will let you put out a professional calendar for any year. You could create a PostScript file, complete with colour images, and send it to a printing house to be printed on glossy paper at high resolution.
• Calculate the solstices and equinoxes.
• Draw a picture of the solar system of how it would look from various places in space/time.
• Draw a picture of the night sky from a given latitude/longitude on earth at any given time.
• Draw astrological charts.
• Print astrological interpretations as a party game. It is very simple but it takes a lot of typing. You just have a giant file of conditions and meanings, e. g. sun trine Mars means xxxx. Trine is roughly 120 degrees with earth as centre, or moon square mercury means xxxx. Square is roughly 90 degrees. For personal use, you might just OCR (Optical Character Recognition) some popular astrological text book.
• Search history for interesting events like Mars, Venus and Jupiter all appearing together in the sky as one super bright star as the possible explanation of the Christian story of the Bethlehem star.

Getting Julian dates for astronomy is pretty easy. Use BigDate.getProlepticJulianDay().