The purpose of this MultiLanguage VSOP87 Source Code Generator Tool is to automate the process of writing of the primary programming source code needed to perform the core computations for the heliocentric coordinates of the major planets from Mercury to Neptune according to the fullprecision VSOP87 theory. It is based on and adapted from the original FORTRAN program and related data files. I used this tool for accelerating the development of this web site and also for developing similar PC software.
The first step in computing the apparent position of a planet is computing the heliocentric coordinates (such as X,Y,Z) for both the planet and the Earth at the same moment. In practice, writing the fullprecision, hardcoded VSOP87 source code manually would be too prohibitive a task for a single human to attempt, due to the multiple thousands of mathematical terms, and very easily prone to typographical errors. A single erroneous digit could be fatal until it was found and corrected. This program does all the hard work and writes the complete core VSOP87 source code, in a matter of seconds, for all the program functions needed to compute the geometric (prior to any corrections) heliocentric coordinates on demand for any given moment over spans of thousands of years. The programmer simply needs to copy/paste the source code generated by the tool to his/her program development environment and build upon it. Generally, for the geocentric positions as tabulated in the standard astronomical almanacs, VSOP87 series C or D is used. Series C is used on this web site. In most cases, readytouse functions code should be returned, around which one can build a longterm astronomical ephemeris or other program requiring very accurate computation of actual planetary positions in spacetime at any given moment. This programming tool can save much time and labor for those doityourself astroprogrammers wishing to use the fullprecision VSOP87 theory in their work to create custom Internet, PC or Mac software to compute planetary positions from scratch.
