Object-oriented Astronomy, Celestial Mechanics and Geodesy


In Astronomy one often faces the same basic problems:

Convert Calendar Date to Julian Date and vice versa.
Calculate sidereal time at a given date.
Calculate obliquity of the ecliptic at a given date.
Calculate nutation and precession angles.
Transform coordinates.
Calculate a planet's position and velocity.
Calculate a satellite's position and velocity.
Calculate a comet's orbit.
Determine eclipses of Sun or Moon.
...

In order to prevent from permanently reinventing the wheel, it is wise to consider the paradigm of object-orientation. Objects in reality are corresponding to objects in programs. Therefore object-oriented programming is the key to high reusability and making things easier.

Once the basic objects have been defined, you may apply the concept of inheritance to deduce new objects with new data and/or new methods which better meet an actual problem.

Java is the candidate we're looking for. Java is an excellent object-oriented language and has the great advantage of being platform independent and being easily distributed throughout the world via WWW.

Just start to create objects in Java solving common problems in astronomy and hold them in your homepages. Document the classes and offer them to the world-oriented user.


Here's a starting point to give an impression of how things could work.
If you have a java capable browser try some of the following fundamental calculations.


Julian Date vs. Calendar Date. Combine Calendar with time dependent quantities.
Observer's location. Kepler Elements and State Vector.
Visualize Kepler Orbit. Orbit Elements of the Solar System.
Orbit Elements of the Solar System at a given epoch. Visualize Solar System at a given Epoch.
Some simple transformations between reference frames. Planet's positions in different reference frames.
Visualize Planet's positions for a given Observer. Orbit Elements of a Comet at a given Epoch.
Comet's positions in different reference frames. Visualize Comets' and Planets' positions for a given Observer.
Day and Night Sky.


Dieter Egger , last update 1998-02-14