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.
Dieter Egger
, last update 1998-02-14