AstroPatterns Notes for release 0.1
Table of Contents
This is a pre-alpha release of the AstroPatterns project. Release 0.1 is basically an early rollout of the first chunk of the program, containing the Range functionality and a couple of Range implementations made accessible to an Excel test application. Future releases will continue along the Excel path, enriching the delivered software by the Pattern notion, as announced in the project web site.
What's not contained?
- There is almost no error handling regarding user input, since in this pre-alpha version I naturally laid the focus first on getting the Ranges running. You need to know what you are doing. Wrong input may (in the worst case) result in a system crash! If you use the dialog window for entering Range types and arguments, you are on the safe site, however.
- There is no support for patterns right now. Only the Range functionality is delivered in this release.
- Places and times have to be entered as naked data. There is no support for entering the data (like using a database for places, or calendar conversions).
- The result list contains only dates and times. A flexible, customizable output list is preserved for future versions.
- There is no visualization of the constellations for the result times. This, too, will be one of the next steps.
Computes all occurrences of a given aspect (angle) between two planets. AspectRange computes what is called current or running aspects, to be distinguished from transits: Both factors have a daily motion.
Computes all ingresses of the given planet into one of the cardinal signs (aries, cancer, libra, capricorn). For the Sun, these are the equinoxes and solsticia, frequently used in mundane astrology.
The diurnal horoscope is casted on the current day, but with the time of birth. The DiurnalHoroscopeRange yields the successive Julian Date values in Ephemeris Time for the diurnal horoscopes (where, by definition, the Universal Time remains constant, equal to the UT of the reference horoscope).
This range yields all crossovers of the ecliptic. These are the points of the planet's path having zero ecliptical latitude.
This range yields all crossovers of the equator. These are the points of the planet's path having zero declination. For example, for the Sun, these points are the equinoxes.
All apogees and perigees of a planet.
The points of the orbit achieving maximal northern or southern latitutedes. More precisely, all points of the orbit having no speed component in the direction transversal to the Ecliptic are determined.
All full moons in the selected interval.
All ingresses of the specified planet into any zodiacal sign.
Stepping through a given interval with a specified increment in time.
to be implemented: This range can be used to import a list of times obtained by any other calculation. For example, in an excel sheet, there may be a column of Julian Date values. It will be possible to mark this range and to import it into a list range.
All tropical Lunar Horoscopes for the specified reference horoscope in the specified time interval.
All new moons in the selected interval.
Parallel aspects between two running planets.
All rising events of a given planet within the selected interval. The rising is determined by equating the oblique ascension (OA) of the planet to the OA of the ascendant (which always amounts to the sidereal time augmented by six hours).
All Solar horoscopes for the specified reference horoscope in the selected interval.
All the times when the given planet changes its direction of motion in the ecliptic. These times are called the stationary times in astrology.
All syzygies, i.e. all full and all new moons within the selected interval.
Transits of a planet over a given reference position, passed as argument to the function.
This is an abstract superclass for several of the above ranges, containing the implementation of a regula-falsi-like algorithm searching for a zero. As it is abstract, it cannot be accessed via the API.
The AstroPatterns console program
The build contains a small executable called apc.exe. You can run it in an MS-DOS console window. The program can be used for performing some calculations aside from the Excel application. It accepts four parameters:
For example, the following command
- A start year,
- An end year,
- The range type as a number, as defined in astropatterns.h
- An argument (optional, depending on the used range)
apc 1900 2000 2 5;6;0
lists all conjunctions of Jupiter and Saturn in the 20th century, whereas
apc 1900 2000 13 4
will list all apo- and perigees of Mars in the 20th century (there are 94 in total).
The Excel VBA application
The file AstroPatterns.xls contains a mini application for accessing the DLL. You can specify a start and end year, the desired range type and optional arguments for this range. By hitting "Compute", the range will be executed. The Julian dates (in Ephemeris Time), the corresponding civil dates and civil ephemeris times will then be listed in the sheet.
The following screenshot shows an example. The last computation was for all Leo ingresses (i.e. transits over the zodiac position 120°) of Saturn (Swiss Ephemeris object number = 6). You may copy the result values into clipboard for further computations in other applications.
Set Range Type.- You may set the range and its arguments either directly by editing the two grey cells for "Range Type" and "Argument", if you know what you're doing. If you need assistance, there is the popup "Set Range Type". You can enter the necessary data here, and the API argument will be arranged from the data you specified. Basically, the API argument (the grey cell "Argument" in the sheet) contains several numerical values separated by a semicolon, as they are needed to control the specific Range.
Reference Horoscope.- Some Ranges, like Solar, Lunar and Diurnal Horoscopes, require a reference horoscope. You may enter the civil date and universal time in the corresponding cells of the sheet, before starting the computation. Also, the longitude and latitude of a place can be entered.
Setting it up
For using the Excel UI, the DLL's have to be found in one of the %PATH% directories (contrary to usual programs, Excel doesn't accept the current path as location for DLL's). The batch file setup.bat will copy the three DLL's required into the System's Windows directory - which is a place where they will surely be found on any platform.
The ephemeris path
To make computations efficient, the Swiss Ephemeris files are used for all computations. The program cannot know where you have them on your computer. If you download them from astro.com, you will usually install them from root, i.e. the proper place will be C:\sweph\ephe. In the current release of AstroPatterns, this location of the ephemeris files will be assumed without further checks. If you like to define another place, you will have to change the VBA module AstroPatternInteraction. Just enter the proper location at the following place in code:
Winterthur, May 15, 2009.