MUNPOS Dokumentation
MUNPOS ist eine in ANSI-C geschriebene Funktionssammlung zur Berechnung von Primärdirektionen, mundanen Positionen und Häuserspitzen.
Alle Berechnungen basieren auf dem Konzept der mundanen Position. Es ist weder eine bestimmte Anzahl von Häusern, noch eine Zählrichtung vorgegeben. So können auch 8 Häuser, 36 Gauquelin Sektoren oder Häuserdekanate berechnet werden, sowohl mit, als auch gegen den Uhrzeigersinn.
Das ganze Häusersystem kann auch einfach um einen beliebigen Betrag mundan verschoben werden, um so z.B. Häusermitten oder Planetenfelder zu berechnen. Die Geometrie des entsprechenden Häusersystens wird dabei natürlich berücksichtigt.
Häusersysteme die von der geographischen Breite abhänging sind, können für die kalten Zonen auch als azimutale Variante berechnet werden.
Die einzelnen Funktionen ermöglichen unter anderem folgende Berechnungen:
- Häuserspitzen, Häusermitten, Planetenfelder etc.
- Mundane Positionen für Häuserhoroskope oder Häuserprofektionen.
- Direktionsbögen für alle unterstützten Häusersysteme.
- Direktionen zu mundanen Parallelen und Rapt Parallelen.
- Verschiedene Daten für das Spekulum.
Die wahre Schiefe der Ekliptik, die wahre Greenwich-Sternzeit sowie die geographische Länge und Breite des Ereignisortes müssen bereits bekannt sein. MUNPOS enthält keine Funktionen zur Umrechnung von Direktionsbögen in Zeit.
1 Häusersysteme
1.1 Übersicht
Die untenstehende Tabelle soll einen ersten Überblick über die unterschiedlichen Häusersysteme vermitteln.
Name | Definiert als | Häuser gleichgroß | von Ekliptik abhängig | AC Spitze von 1 | IC Spitze von 4 | Quadrantensystem |
---|---|---|---|---|---|---|
MC equal | mpMCEQ | ja | ja | nein | ja | nein |
AC equal | mpACEQ | ja | ja | ja | nein | nein |
Porphyrius | mpPORP | nein | ja | ja | ja | nein |
Meridian | mpMERI | ja | nein | nein | a | nein |
Poli-Equatorial | mpPOLI | ja | ja | ja | nein | nein |
Alcabitius | mpALCA | nein | ja | ja | ja | nein |
Campanus | mpCAMP | ja | nein | ja | ja | ja |
Regiomontanus | mpREGI | nein | nein | ja | ja | ja |
Abenragel, APC | mpHALY | nein | ja | ja | ja | ja |
Placidus | mpPLAC | nein | nein | ja | ja | ja |
Topocentric | mpTOPO | nein | nein | ja | ja | ja |
Koch | mpKOCH | nein | ja | ja | ja | nein |
Morinus | mpMORI | nein | ja | nein | nein | nein |
Die Spalte 'Häuser gleichgroß' bezieht sich auf die räumliche Grösse der Häuser und nicht auf die Ekliptikbögen zwischen den Häuserspitzen. Häusersysteme werden als Quadrantensysteme bezeichnet, wenn die Quadranten durch Meridian und Horizont oder ersten Vertikal gebildet werden.
1.1.1 Ekliptikale Systeme
Da mit den eindimensionalen, ekliptikalen Systemen keine Primärdirektionen möglich sind, werden sie im folgenden auch als Projektionssysteme aufgefasst, wobei die Häuserspitzen mit Längenkreisen auf sich selbst projiziert werden.
MC-Equal • M-Häuser
Um die Spitze des 1. Hauses zu erhalten addiert man 90° zur Länge des MC. Von hier aus wird die Ekliptik in Richtung IC in 12 gleiche Teile unterteilt. Die Häusergrenzen sind Längenkreise, die durch diese Teilpunkte und die Pole der Ekliptik verlaufen.
AC-Equal
Die Ekliptik wird ausgehend vom Aszendenten in Richtung IC in 12 gleiche Teile unterteilt. Die Häusergrenzen sind wie beim MC-äqualen System Längenkreise.
Porphyrius
Die durch AC, IC, DC und MC gebildeten Quadranten werden in jeweils drei gleiche Teile unterteilt. Die Häusergrenzen sind wie beim MC-äqualen System Längenkreise.
1.1.2 Mit Stundenkreisen projizierte Systeme
Meridiansystem • Axial Rotation • Witte • Zariel
Der Äquator wird ausgehend vom Ostpunkt in Richtung RAIC in 12 gleiche Teile unterteilt. Die Häusergrenzen sind Stundenkreise, die durch diese Teilpunkte und den Himmels Nord- und Südpol verlaufen.
Poli-Equatorial • Carter • Wiesel
Der Äquator wird ausgehend von der RA des Aszendenten in Richtung RAIC in 12 gleiche Teile unterteilt. Die Häusergrenzen sind wie beim Meridiansystem Stundenkreise.
Alcabitius
Die durch die Rektaszensionen von AC, IC, DC und MC auf dem Äquator gebildeten Quadranten werden in jeweils drei gleiche Teile unterteilt. Die Häusergrenzen sind wie beim Meridian-System Stundenkreise.
1.1.3 Mit Häuserkreisen projizierte Systeme
Campanus
Der erste Vertikal wird vom Ostpunkt in Richtung Nadir in 12 gleiche Teile unterteilt. Die Häusergrenzen sind Häuserkreise, die durch diese Teilpunkte und die Pole des ersten Vertikals, den Nord- und Südpunkt des Horizonts verlaufen.
Regiomontanus
Der Äquator wird wie beim Meridiansystem vom Ostpunkt in Richtung RAIC in 12 gleiche Teile unterteilt. Die Häusergrenzen sind wie bei Campanus Häuserkreise.
Abenragel • Ascendant Parallel Circle (APC)
Die Tag- und Nachtbögen des Aszendenten werden in jeweils 6 gleiche Teile unterteilt. Die Häusergrenzen sind wie bei Campanus Häuserkreise.
Dieses Häusersystem gehört zu einer eigenen Klasse: den Deklinations- oder Parallelkreissystemen. Eine Besonderheit dieser Systeme ist, dass sich die Oppositionshäuserspitzen nicht genau diametral gegenüberliegen.
1.1.4 Der Placiduskomplex
Das Halbbogensystem
Die mundane Position eines Himmelspunktes ergibt sich aus dem Verhältnis von Meridiandistanz zum Halbbogen. Die Spitze des 12. Hauses ist somit der Ekliptikpunkt, der 1/3 der Zeit von seinem Aufgang bis zur oberen Kulmination gebraucht hat. Das Placidus Halbbogensystem ist das einzige Häusersystem bei dem die Häusergrenzen keine Großkreise sind. Da zur Berechnung der Placidus Häuserspitzen deren Deklination bekannt sein muss, lassen sie sich nur mit einem numerischen Verfahren berechnen, was in computerlosen Zeiten recht aufwändig war.
Die Kühr Methode (Placidus unter dem Pol des Signifikators)
ist kein Häusersystem, sondern ein Direktionsverfahren, bei dem die Positionskreise durch den Signifikator und den Äquatorschnittpunkt der Placidus Positionslinie verlaufen. Zur Berechnung der Direktionsbögen muss ausser der mundanen Position nach Placidus auch noch die Deklination des Signifikators bekannt sein.
Direktionsbögen werden nach Kühr berechnet, wenn das Positionssystem mpKUEH
gesetzr ist. Häuserspitzen- und Positionsberechnungen erfolgen nach Placidus.
Dieses System eignet sich nicht für Direktionen zu Mundanaspekten.
Die Polich & Page Methode
ist ebenfalls kein Häusersystem, sondern eine Kühr Variante, bei der die Positionskreise den Äquator allerdings nicht an der Placidus Positionslinie schneiden. Zur Berechnung der Direktionsbögen muss wie bei Kühr die Deklination des Signifikators bekannt sein.
Direktionsbögen werden nach Polich & Page berechnet, wenn das Positionssystem
mpPOPA gesetzt ist. Häuserspitzen- und Positionsberechnungen erfolgen nach Placidus.
Dieses System eignet sich nicht für Direktionen zu Mundanaspekten.
1.1.5 Sonstige Häusersysteme
Morinus
Der Äquator wird ausgehend vom Ostpunkt in Richtung RAIC in 12 gleiche Teile unterteilt. Die Häusergrenzen sind Längenkreise, die durch diese Teilpunkte und den Nord- und Südpol der Ekliptik verlaufen.
Das Topozentrische System
Zur Berechnung des Häusersystems wird der Äquator, wie bei Regiomontanus und Placidus, ausgehend vom Ostpunkt in Richtung RAIC in 12 gleiche Teile unterteilt. Die Häusergrenzen sind Großkreise, deren Polhöhen mit der Formel von Boudineau berechnet werden. Die Längen der Häuserspitzen und die mundanen Positionen der Planeten liegen nahe an den Werten des Placidus-Systems. Da die Positionslinien nicht wie bei Regiomontanus durch den Nord- und Südpunkt verlaufen, lässt sich nicht immer eine eindeutige mundane Position bestimmen.
Koch • Gebursts-Ort-Häuserspitzen-System (GOHS)
Das von Dr. W. Koch propagierte GOHS basiert auf der seltsamen Vorstellung,
dass die Zwischenhäuserspitzen besonders auf den Geburtsort bezogen wären,
wenn man sie mit der Polhöhe des Horizonts berechnet.
Dazu wird der Taghalbbogen des MC gedrittelt. und durch die so gefundenen
Teilungspunkte werden Großkreise mit der Polhöhe des Horizonts gelegt,
deren Schnittpunkte mit der Ekliptik die Längen der Häuserspitzen ergeben.
Für Punkte ausserhalb der Ekliptik lässt sicht nicht immer eine eindeutige mundane Position bestimmen, weshalb sich dieses System nicht für Primärdirektionen eignet.
1.2 Varianten
1.2.1 'Heisse' und 'kalte' Häuser
In den 1950er Jahren schreibt L. Kater ([LK]) im Zusammenhang mit azimutalen Primärdirektionen, dass die 'klassischen' Häusersysteme Campanus, Regiomontanus und Placidus jeweils doppelt existieren: in einer 'heissen' Variante, bei der der Aszendent der Spitze des ersten Hauses entspricht und in einer 'kalten' Variante, bei der der Antivertex an der Spitze des ersten Hauses steht. Erstere eignen sich für die äquatornahen Gebiete und sind in der Arktis unbrauchbar, bei letzteren ist es umgekehrt.
Beim 'kalten' Campanus-System, welches allgemein als Horizont- oder Azimutalsystem bekannt ist, wird nicht der erste Vertikal, sondern der Horizont unterteilt und als Projektionskreise dienen Vertikalkreise anstatt der ursprünglichen Häuserkreise. Beim Regiomontanus-System wird die Äquatoreinteilung beibehalten, als Projektionskreise dienen jedoch ebenfalls Vertikalkreise. Schliesslich werden beim Placidus-System die Halbbögen vom Horizont zum Meridian durch die Halbbögen vom ersten Vertikal zum Meridian ersetzt. Aus Tag- und Nachthalbbögen werden so Süd- und Nordhalbbögen. Kater schlägt vor, bei 'kalten' Häusersystemen die Bezeichnungen AC, IC, DC und MC durch Osten, Norden, Westen und Süden zu ersetzen. Auf der Südhalbkugel sind Süden und Norden zu vertauschen. Letztendlich kann man aber auch alle anderen Haeusersysteme als 'kalte' Variante berechnen.
'Kalte' Häuser werden berechnet wenn das Flag mpPOLAR gesetzt ist.
1.2.2 Links- oder rechtsherum?
Bei der üblichen Häusereinteilung gegen den Uhrzeigersinn bewegen sich alle Himmelspunkte rückwärts durch den Häuserkreis. Manche Autoren sind der Meinung, dass die übliche Zählrichtung gegen den Uhrzeigersinn falsch ist. So gelangte auch Jacques Dorsan nach dem Studium von Horoskopen bei der die Sonne im ersten oder zwölftem Haus stand zu der Auffassung, dass die Häuser, ensprechend der Bewegung der Himmelspunkte, im Uhrzeigersinn gezählt werden müssten (Jacques Dorsan, 'The Clockwise House System'). Auch die Gauquelin-Sektoren werden im Uhrzeigersinn gezählt.
Häuser werden im Uhrzeigersinn berechnet wenn das Flag mpREVERSE gesetzt ist.
1.2.3 Häusermitten, Planetenfelder sonstige Verschiebungen
Da man bei den Zeichen die stärkste 'Wirkung' in deren Mitte vermutet, vertreten manche Autoren die Auffassung, dass man den Häuserkreis in Analogie zum Tierkreis um -15 Grad mundan drehen muss, damit die ursprünglichen Häuserspitzen in die Mitte der Häuser positioniert werden.
Bei Planetenfeldern wird der Ausgangspunkt der Häuserteilung durch die mundane Position eines Himmelskörpers bestimmt. Hier wird das Häusersystem so verschoben, dass der jeweilige Planet die mundane Position 0.0 erhält. Er übernimmt somit die Rolle des Aszendenten/Antivertex.
Derartige Verschiebungen erreicht man durch das Setzen des Parameters shift.
1.2.4 Deklinations- oder Parallelkreis Systeme
Bei dieser Klasse von Häusersystemen werden der Tag- und der Nachtbogen (nicht Halbbogen!) in sechs gleiche Teile geteilt. Die Häusergrenzen sind Häuserkreise, wodurch AC, IC, DC und MC Häuserspitzen bilden, unabhängig von der Deklination des Parallelkreises. Die Oppositionshäuserspitzen liegen sich nicht diametral gegenüber. Das Abenragel-System gehört zu dieser Klasse, der Parallelkreis hat hier die Deklination des AC.
Man kann die Häuser aber auch mit der Deklination von Sonne, Mond, Planeten oder sonst jedem beliebigen Himmelspunkt berechnen. Ein interessantes Häusersystem ist das von M. J. Makransky ([MM]) beschriebene Solar House System, welches mit der Deklination der Sonne berechnet wird.
[KP] | Karl Brandler-Pracht, Astrologische Technik, Falken Verlag, Berlin, 1950 |
[RH] | Ralf W. Holden, Astrologische Häusersysteme, Chiron Verlag, Mössingen, 1998 |
[LK] | L. Kater, Horoskope in hohen geographischen Breiten, Schreibmaschinenskript, 1957 |
[GH] | Gertrud Huerlimann, Astrologie, M & T Verlag, Zuerich, 1998 |
[HK] | Heinrich Kündig, Die astrologische Prognose, Ansata-Verlag Schwarzenburg, 1976 |
[LG] | Alan Leo, H. S. Green, Direktionen, Karl Rohm Verlag, Bietigheim, 1971 |
[JM] | Jean Meeus, Astronomical Algorithms, William Bell, Richmond 1998 |
[MM] | M. J. Makransky, Primary Directions - A Primer of Calculation}, Dear Brutus Press, 1988 |
[RP] | Dr. Rüdiger Plantiko, Primärdirektionen - eine Darstellung ihrer Technik, Chiron Verlag, Mössingen, 1996 |
[PP] | Wendel Polich & A. P. Nelson Page, The Topocentric System Of Houses, SPICA 1964, vol. 3, p. 3-10 |
2 Beispiele
Die folgenden Berechnungen erforden eine Instanz der Datenstruktur MUNPOS,
welche mit der Funktion mpInit initialisiert werden muss,
um einen Programmabsturz durch nichtinitialisierte Funktionszeiger zu vermeiden.
Die wahre Schiefe der Ekliptik, die wahre Greenwich-Sternzeit, sowie die geographische
Länge und Breite (bei Koch Häusern die geozentrische Breite) des Ereignisortes kann mit
der Funktion mpSetEvent festgelegt werden.
#include "munpos.h"
MUNPOS mp;
mpInit(&mp);
mpSetEvent(&mp, eps, st, lon, lat);
2.1 Häuserspitzen
Die Häuserspitzen sind die Schnittpunkte der Häusergrenzen mit der
Ekliptik. Nachdem das gewünschte Häusersystem mit
mpSetHsys oder mpSetHsysShift
festgelegt wurde, können die Häuserspitzen mit
mpCalcCusps erechnet werden.
2.1.1 Horizontsystem • Azimutalsystem • Zenithäuser
Die azimutale Variante des Campanus-Systems:
#define nCusps 12
double cusps[nCusps];
mpSetHsys(&mp, mpCAMP | mpPOLAR);
mpCalcCusps(&mp, nCusps, cusps);
2.1.2 Vehlow
Ein nach dem Berliner Astrologen Johannes Velow benanntes Häusersystem, dessen Startpunkt 15 Grad vor dem AC beginnt. Diese Verschiebung des Häuserkreises um -15 Grad wurde auch von anderen Astrologen der Neuzeit praktiziert: E. Tiede (Porphyry), E. Wiesel (Poli-Equatorial), R. von Sebottendorf (Placidus) ...
#define nCusps 12
double cusps[nCusps];
mpSetHsysShift(&mp, mpACEQ, -15.0);
mpCalcCusps(&mp, nCusps, cusps);
2.1.3 Oktotopos
Ein aus 8 Häusern bestehendes System bei welchem die Häuser im Uhrzeigersinn gezählt werden. Der Startpunkt dieses Häusersystems beginnt ein halbes Haus - also 22.5 Grad - vor dem AC.
#define nCusps 8
double cusps[nCusps];
mpSetHsysShift(&mp, mpCAMP | mpREVERSE, -22.5);
mpCalcCusps(&mp, nCusps, cusps);
2.1.4 Placidus Sonnenfelder
Hier wird das Häusersystem so verschoben, dass die Sonne die mundane Position 0.0 erhält, und somit der Spitze des ersten Hauses entspricht.
#define nCusps 12
double cusps[nCusps];
mpSetHsys(&mp, mpPLAC);
mpSetShift(&mp, mpCalcPosition(&mp, SU_lon, SU_lat));
mpCalcCusps(&mp, nCusps, cusps);
2.1.5 Solar House System
Solar House System nach M. J. Makransky. Dieses System gehört wie das Abenragel-System zur Klasse der Deklinationssysteme.
#define nCusps 12
double cusps[nCusps];
mpSetHsys(&mp, mpHALY);
mpSetDecl(&mp, mpGetDE(&mp, SU_lon, SU_lat));
mpCalcCusps(&mp, nCusps, cusps);
2.2 Mundane Position
Zur Berechnung der mundanen Position eines Himmelspunktes entsprechend des gewählten Häusersystems dient die Funktion mpCalcPosition. Als Parameter werden die ekliptikale Länge und Breite des Punktes übergeben, zurückgegeben wird die mundane Position mp im Bereich 0° ≤ mp < 360°. Beim topozentrischen sowie beim Koch-System ist die Bestimmung der mundanen Position nicht immer eindeutig möglich.
2.2.1 Das Mundoskop (Häuserhoroskop)
Bei einem Mundoskop oder Häuserhoroskop werden die Himmelskörper nicht senkrecht auf die Ekliptik, sondern entsprechend der Geometrie des gewählten Häusersystems auf den Messkreis des Häusersystems projiziert. Das Häuserhoroskop ist also nicht etwa eine Ableitung der Radix, sondern nur eine andere Projektion ein und desselben Horoskops und kann daher auch nicht anders gedeutet werden. Bei Häuserhoroskopen werden der Übersicht halber meistens Mundanaspekte an Stelle der sonst üblichen zodiakalen Aspekte eingezeichnet.
Beim Campanus Mundoskop werden alle Gestirne senkrecht auf den ersten Vertikal projiziert. Da Meridian und Horizont senkrecht zu diesem verlaufen, sieht man genau, welche Gestirne über bzw. unter dem Horizont stehen und ob sie sich östlich oder westlich des Meridians befinden. Das Zenitskop (das 'kalte' Campanus Mundoskop) zeigt die Himmelsrichtungen in denen sich die Gestirne befinden. Im Placidus Munkoskop kann man die zeitproportionalen Positionen erkennen. Es ist offensichtlich, daß Häuserhoroskope nur mit 'echten' Quadrantensystemen einen Sinn ergeben.
2.2.2 Das Polhoroskop
Da sich die Planeten nur selten genau auf der Ekliptik aufhalten, stellt sich die Frage, wie sie darauf projiziert werden sollen. Meistens werden alle Gestirne senkrecht zur Ekliptik projiziert und somit die Breite ignoriert. Allerdings ist eine solche Vorgehensweise nicht selbstverständlich. Aus geozentrischer Sicht könnte man argumentieren, dass die Projektion senkrecht zum Äquator zu erfolgen habe. Beim Polhoroskop erfolgt die Projektion gemäss des gewählten Häusersystems unter der eigenen Polhöhe. Dazu wird mit der Funktion mpCalcPostition die mundane Position des Planeten ermittelt und daraus mit mpCalcLong die schiefe Länge berechnet. Befürworter dieser Projektionsmethode bezeichnen die so erhaltenen Positionen als wahre Positionen.
Beispiel Projektion des Pluto innerhalb des Abenragel-Systems:
mpSetHsys(&mp, mpHALY);
double PL_position = mpCalcPosition(&mp, PL_lon, PL_lat);
double PL_true_longitude = mpCalcLong(&mp, PL_position);
2.2.3 Häuserprofektionen
sind künstliche Direktionen bei denen ein fiktiver Auslösungspunkt, meistens ausgehend vom AC, nach einem bestimmten Zeitschlüssel durch die Häuser des Horoskops wandert. Bekannte Schlüssel sind 8 1/3, 7, und 6 Jahre pro Haus, die von Frank A. Glahn, Wolfgang Döbereiner und Dr. Camillo Schneider beschrieben wurden, wobei als Häusersystem grundsatzlich das Placidus-System verwendet wurde.
2.2.4 Inkorrekte Positionsberechnungen
Vor der Verbreitung elektronischer Rechner wurde die mundane Position eines Planeten häufig nur zwischen den Häuserspitzen auf der Ekliptik interpoliert, was zu Fehlern von mehreren Grad führen kann. Inzwischen gibt es auch einige Astrologieprogramme. die zumindest für das Placidus-System korrekte Berechnungen ermöglichen.
Andererseits ist die näherungsweise Berechnung auch heute noch durchaus üblich. Wer also Alterspunkt oder Häuserhoroskop nach Huber berechnen will, kann dazu die Funktion mpCalcPosIP verwenden.
2.3 Primärdirektion
Primärdirektionen bilden sich durch die Rotation der Erdachse und sind streng zu unterscheiden von den sogenannten symbolischen Direktionen (Graddirektion, Sonnenbogendirektion etc.) denen keine physische Bewegung zugrunde liegt.
Es gibt unterschiedliche Ansichten darüber, ob der Promissor oder der Signifikator der dirigierte Faktor ist. Auch werden die Begriffe direkt und convers unterschiedlich interpretiert. Letztendlich ist es allerdings egal, ob nun das Pferd (Promissor) zum Zielband (Signifikator), oder das Zielband zum Pferd läuft. Die zurüchgelegte Wegsrecke bleibt stets die gleiche, lediglich die Bewegungsrichtung ist entgegengesetzt.
Bezeichnet man den Äquatorpunkt mit der Rektaszension des Promissors als P und den Äquatorpunkt mit der Rektaszension des Punktes auf dem Deklinationskreis des Promissors mit der gleichen mundanen Position wie der des Signifikators mit P', so entspricht der Direktionsbogen db der Differenz von P - P'. Verwendet man den Direktionsbogen im Bereich -180° ≤ db < +180° so erfolgt die Direktion bei positiver Werten des db im Richtungssinn der Rotation der Sphäre, egal ob man diese Richtung nun als direkt oder convers bezeichnet.
2.3.1 Direktionen zu Häuserspitzen
Die Funktion mpCalcArc erwartet als Parameter die
ekliptikale Länge und Breite des Promissors, die mundane Position des Signifikators,
den Aspektwinkel/Spiegelpunkt sowie Flags zum Festlegen von Optionen.
Sie eignet sich daher in erster Linie für Direktionen zu Häuserspitzen oder sonstigen
Orten, deren mundane Position breits bekannt ist.
Diese Funktion eignet sich nicht für die Systeme KÜHR und POLICH & PAGE, da hier
die zur Berechnung erforderliche Deklination des Signifikators nicht zur Verfügung
steht.
Beispiel: Direktion Trigon Mond zur Spitze II, Mond ohne Breite.
MO + 120 → II (Placidus)
#define CUSP_II 30.0
mpSetHsys(&mp, mpPLAC);
double arc = mpCalcArc(&mp, MO_lon, MO_lat, CUSP_II, 0, 120.0)
2.3.2 Interplanetare Primärdirektion
Die Funktion mpCalcArc2 erwartet als Parameter die ekliptikalen Längen und Breiten von Promissor und Signifikator, den Aspektwinkel/Spiegelpunkt, sowie Flags zum Festlegen von Optionen.
Beispiel: Direktion Zodiakalaspekt Trigon-Mond zu Saturn, Promissor und Signifikator
ohne Breite.
MO + 120 → SA (Placidus)
mpSetHsys(&mp, mpPLAC);
double arc = mpCalcArc2(&mp, MO_lon, MO_lat, SA_lon, SA_lat, 0, 120.0);
Beispiel: Direktion Zodiakalaspekt Trigon-Mond zu Saturn, Promissor ohne Breite,
Signifikator mit Breite.
MO + 120 → SA (Kühr)
mpSetHsys(&mp, mpKUEH);
double arc = mpCalcArc2(&mp, MO_lon, MO_lat, SA_lon, SA_lat, mpLAT_S, 120.0);
Beispiel: Direktion Mond zu Mundanaspekt Trigon-Saturn, Promissor und Signifikator
mit Breite
MO → [SA + 120] (Placidus)
mpSetHSys(&mp, mpPLAC);
double arc = mpCalcArc2(&mp, MO_lon, MO_lat, SA_lon, SA_lat, mpMUNDO | mpLAT, 120.0);
2.3.3 Direktionen von mundanen Äquidistanzpunkten, Rapt Parallele.
Da mundane Äquidistanzen bei den meisten Häusersystemen nicht direkt dirigiert werden können, dirigiert man die beiden Faktoren (Promissoren), aus denen die Equidistanz gebildet wird. Ist der Signifikator einer der Kardinalpunkte AC, MC, DC oder IC so entsteht eine sogenannte Rapt Parallele. Die Berechnung erfolgt mit der Funktion mpCalArcRapt iterativ (Regula Falsi, Pegasus Variante).
Beispiel: Direktion Mundaner Äquidistanzpunkt Sonne/Jupiter zur mundanen Position des Merkurs
[SU/JU] → ME (Campanus)
double ME_position, vect[6];
mpSetHsys(&mp, mpCAMP);
ME_position = mpCalcPosition(&mp, ME_lon, ME_lat); //mercury mundane position
mpCalcArcRapt(&mp, SU_lon, SU_lat, JU_lon, JU_lat, ME_mp, vect);
Der Direktionsbogen wird in vect[0], die Äquidistanz in vect[1] geschrieben.
Die Werte für den Oppositionspunkt findet man in vect[2] und vect[3], die
Werte für die kürzere Äquidistanz beider Direktionen (wenn der Signifikator als
Achse aufgefasst wird) in vect[4] und vect[5].
Die Funktion gibt entweder die Anzahl der erforderlichen Iterationsschritte, oder im Fehlerfall -1 zurück,
3 Die Funktionen
3.1 Einschränkungen
Nicht alle Häuser- und Direktionssysteme eignen sich auch für alle astrologischen Techniken. Es bestehen folgende Einschränkungen:
Häuserspitzen
Für die Systeme PLACIDUS und KOCH können keine Häuserspitzen innerhalb der
Polargebiete berechnet werden. Das gleiche gilt für deren azimutale Varianten
in den tropischen Zonen. An Stelle der Längen der Häuserspitzen wird dann mpERROR
zurückgegeben. Für das topozentrische System lassen sich die
Häuserspitzen zwar auch für diese Gebiete berechnen, die Ergebniss sind allerdings
fragwürdig, da sich die Positionslinien der Häuser überschneiden und deren
Reihenfolge durcheinander geraten kann. Eine eventuelle Fehlerbehandlung ist
hierfür nicht vorgesehen
Mundane Position
Bei Halbbogensystemen kann die mundane Position eines Gestirns verständlicherweise
nur berechnet werden, wenn es auch Halbbögen gibt. Sollte dies nicht der Fall sein.
geben die entsprechenden Funktionen mpERROR zurück.
Das KOCH-System ist nur für Punkte auf der Ekliptik definiert. Üblicherweise setzt man daher zur Berechnung der mundanen Position die ekliptikale Breite auf 0.
Direktionsbögen
Mit den Systemen KÜHR und POLICH & PAGE sind keine Direktionen zu Mundanaspekten
möglich. Die entsprechenden Funktionen geben in solchen Fällen mpERROR zurück.
Da das KOCH-System nur für die Ekliptik definiert ist, die Promissoren aber nicht entlang der Ekliptik, sondern auf ihrem Deklinationskreis parallel zum Äquator dirigiert werden, eignet es sich nicht für Primärdirektionen.
3.2 Funktionen - Uebersicht
Konstruktor
Funktion | Berschreibung |
---|---|
mpInit | Parameterloser Konstruktor |
Setter Funktionen
Funktion | Berschreibung |
---|---|
mpSetHsys | Setzt das Haeusersystem |
mpSetHsysShift | Setzt das Haeusersystem und den mundanen Offset shift |
mpSetShift | Setzt den mundanen Offset shift |
mpSetDecl | Setzt die Deklination fuer Parallelkreissysteme |
mpSetEvent | Setzt Zeitpunkt und Ort des Ereignisses |
mpSetLocation | Setzt die geographische Laenge und Breite des Ereignisortes |
mpSetTime | Setzt den Zeitpunkt des Ereignises |
mpSetEPS | Setzt die Schiefe der Ekliptik. |
mpSetST | Setzt die Sternzeit |
mpSetLon | Setzt die geographische Laenge |
mpSetLat | Setzt die geographische Breite |
Getter Funktionen
Funktion | Berschreibung |
---|---|
mpGetHsys | Gibt das Haeusersystem zurueck |
mpGetFlags | Gibt die Flags zurueck |
mpGetShift | Gibt der mundanen Offset zurueck |
mpGetEPS | Gibt die Schiefe der Ekliptik zurueck |
mpGetST | Gibt die Sternzeit zurueck |
mpGetLon | Gibt die geographische Laenge des Ereignisortes zurueck |
mpGetLat | Gibt die geographische Breite des Ereignisortes zurueck |
mpGetRAMC | Gibt die lokale Sternzeit im Gradmass (RAMC) zurueck |
mpGetMC | Gibt die Laenge des MC zurueck |
mpGetAC | Gibt die Laenge des Aszendenten zurueck |
mpGetAV | Berechnet die Laenge des Antivertex |
mpGetEA | Berechnet die Laenge des aequatorial-Aszendenten / Polar-Antivertex |
Berechnungen
Funktion | Berschreibung |
---|---|
mpCalcCusps | Berechnet n Haeuserspitzen |
mpCalcLong | Laenge aus mundaner Position |
mpCalcLong2 | Laenge aus OA und Polhoehe |
mpCalcLongDir | Dirigierte Position in schiefer Laenge |
mpCalcPosition | Berechnet die mundane Position aus Laenge und Breite. |
mpCalcPos2 | Mundane Position |
mpCalcPosIP | Interpolierte mundane Position |
mpCalcArc | Direktion zu mundaner Position |
mpCalcArc2 | Interplanetare Direktion |
mpCalcArcRapt | Direktion mundaner aequidistanzen |
mpCalcRA | Rektaszension aus Laenge und Breite |
mpCalcDE | Deklination aus Laenge und Breite |
mpCalcAZ | Azimut aus Laenge und Breite |
mpCalcALT | Hoehe aus Laenge und Breite |
mpCalcGC | OA/OD und Polhoehe aus mundaner Position |
mpCalcSpeculum | Berechnet verschiedene Werte fuer das Spekulum |
Umrechnungen
Funktion | Berschreibung |
---|---|
mpCoTrans | Ekliptik <-> aequator |
mpEqu2Hor | aequator -> Horizont |
mpHor2Equ | Horizont -> aequator |
mpNorm360 | In den Bereich 0..360 Grad verschieben |
mpNorm180 | In den Bereich -180..+180 Grad verschieben |
mpCal2JD | Julianischer Tag JD aus Kalenderdatum |
mpJD2Cal | Kalenderdatum aus julianischem Tag JD |
Verschiedenes
Funktion | Berschreibung |
---|---|
mpAspect | Geometrischer Aspektwinkel (Orthodrome) und Halbdistanz |
mpGeoZ | Geozentrische Breite aus geographischer Breite |
3.2 Die Funktionen
mpInit
void mpInit( | MUNPOS *m); |
Parameterloser Konstruktor
Initialisiert die MUNPOS Instanz
Parameter:
*m Pointer auf MUNPOS Instanz
mpSetHsys
int mpSetHsys( | MUNPOS *m, |
unsigned hsys); |
Setzt das Haeusersystem
Die Strukturvariable shift wird dabei auf 0 gesetzt.
Parameter:
*m Pointer auf MUNPOS Instanz hsys Haeusersystem
Flags:
mpPOLAR Azimutale Version berechnen mpREVERSE Haeuser im Uhrzeigersinn
Rueckgabewert:
0 oder im Fehlerfall 1
mpSetHsysShift
int mpSetHsysShift( | MUNPOS *m, |
unsigned hsys, | |
double shift); |
Setzt das Haeusersystem und den mundanen Offset shift
Parameter:
*m Pointer auf MUNPOS Instanz hsys Haeusersystem shift Offset der mundanen Position (ueblicherweise 0.0)
Flags:
mpPOLAR Azimutale Version berechnen mpREVERSE Haeuser im Uhrzeigersinn
Rueckgabewert:
0 oder im Fehlerfall 1
mpSetShift
void mpSetShift( | MUNPOS *m, |
double shift); |
Setzt den mundanen Offset shift
Parameter:
*m Pointer auf MUNPOS Instanz shift Offset der mundanen Position
mpSetDecl
int mpSetDecl( | MUNPOS *m, |
double de); |
Setzt die Deklination fuer Parallelkreissysteme
Setzt die Deklination fuer Deklinationssysteme (z.B. Solar House System). Zuvor muss das Haeusersysten mpHALY gesetzt werden.
Parameter:
*m Pointer auf MUNPOS Instanz de Deklination des Parallelkreises
Rueckgabewert:
0 oder im Fehlerfall 1
mpSetEvent
void mpSetEvent( | MUNPOS *m, |
double eps, | |
double st, | |
double lon, | |
double lat); |
Setzt Zeitpunkt und Ort des Ereignisses
Setzt die Schiefe der Ekliptik, die Ereigniszeit und den Ereignisort.
Parameter:
*m Pointer auf MUNPOS Instanz eps Wahre Schiefe der Ekliptik st Sternzeit (Greenwich apparent sidereal time) lon Geographische Laenge (positiv nach Osten gezaehlt) lat Geographische Breite (auf der Nordhalbkugel positiv, auf der Suedhalbkugel negativ)
mpSetLocation
void mpSetLocation( | MUNPOS *m, |
double lon, | |
double lat); |
Setzt die geographische Laenge und Breite des Ereignisortes
Parameter:
*m Pointer auf MUNPOS Instanz lon Geographische Laenge (positiv nach Osten gezaehlt) lat Geographische Breite (auf der Nordhalbkugel positiv, auf der Suedhalbkugel negativ)
mpSetTime
void mpSetTime( | MUNPOS *m, |
double lon, | |
double lat); |
Setzt den Zeitpunkt des Ereignises
Parameter:
*m Pointer auf MUNPOS Instanz eps Wahre Schiefe der Ekliptik st Sternzeit (Greenwich apparent sidereal time)
mpSetEPS
void mpSetEPS( | MUNPOS *m, |
double eps); |
Setzt die Schiefe der Ekliptik.
Parameter:
*m Pointer auf MUNPOS Instanz eps Wahre Schiefe der Ekliptik
mpSetST
void mpSetST( | MUNPOS *m, |
double st); |
Setzt die Sternzeit
Parameter:
*m Pointer auf MUNPOS Instanz st Sternzeit (Greenwich apparent sidereal time)
mpSetLon
void mpSetLon( | MUNPOS *m, |
double lon); |
Setzt die geographische Laenge
Parameter:
*m Pointer auf MUNPOS Instanz lon Geographische Laenge (positiv nach Osten gezaehlt)
mpSetLat
void mpSetLat( | MUNPOS *m, |
double ast); |
Setzt die geographische Breite
Parameter:
*m Pointer auf MUNPOS Instanz lat Geographische Breite (auf der Nordhalbkugel positiv, auf der Suedhalbkugel negativ)
mpGetHsys
unsigned mpGetHsys( | MUNPOS *m); |
Gibt das Haeusersystem zurueck
Parameter:
*m Pointer auf MUNPOS Instanz
Rueckgabewert:
Haeusersystem
mpGetFlags
unsigned mpGetFlags( | MUNPOS *m); |
Gibt die Flags zurueck
Parameter:
*m Pointer auf MUNPOS Instanz
Flags:
mpPOLAR Azimutale Version berechnen mpREVERSE Haeuser im Uhrzeigersinn. mpSTA_DIR Aszendent oder Antivertex auf der 'falschen' Seite des Meridians.
Rueckgabewert:
flags als unsigned int
mpGetShift
double mpGetShift( | MUNPOS *m); |
Gibt der mundanen Offset zurueck
Parameter:
*m Pointer auf MUNPOS Instanz
Rueckgabewert:
Wert der Variablen shift.
mpGetEPS
double mpGetEPS( | MUNPOS *m); |
Gibt die Schiefe der Ekliptik zurueck
Parameter:
*m Pointer auf MUNPOS Instanz
Rueckgabewert:
Wahre Schiefe der Ekliptik
mpGetST
double mpGetST( | MUNPOS *m); |
Gibt die Sternzeit zurueck
Parameter:
*m Pointer auf MUNPOS Instanz
Rueckgabewert:
Sternzeit (Greenwich apparent sideral time)
mpGetLon
double mpGetLon( | MUNPOS *m); |
Gibt die geographische Laenge des Ereignisortes zurueck
Parameter:
*m Pointer auf MUNPOS Instanz
Rueckgabewert:
Geographische Laenge (positiv nach Osten gezaehlt)
mpGetLat
double mpGetLat( | MUNPOS *m); |
Gibt die geographische Breite des Ereignisortes zurueck
Parameter:
*m Pointer auf MUNPOS Instanz
Rueckgabewert:
Geographische Breite (auf der Nordhalbkugel positiv, auf der Suedhalbkugel negativ)
mpGetRAMC
double mpGetRAMC( | MUNPOS *m); |
Gibt die lokale Sternzeit im Gradmass (RAMC) zurueck
Parameter:
*m Pointer auf MUNPOS Instanz
Rueckgabewert:
Wahre lokale Sternzeit im Gradmass (RAMC)
mpGetMC
double mpGetMC( | MUNPOS *m); |
Gibt die Laenge des MC zurueck
Parameter:
*m Pointer auf MUNPOS Instanz
Rueckgabewert:
Laenge des MC
mpGetAC
double mpGetAC( | MUNPOS *m); |
Gibt die Laenge des Aszendenten zurueck
Parameter:
*m Pointer auf MUNPOS Instanz
Rueckgabewert:
Laenge des Aszendenten
mpGetAV
double mpGetAV( | MUNPOS *m); |
Berechnet die Laenge des Antivertex
Dieser Punkt wird auch als 'Ostpunkt der Ekliptik' bezeichnet.
Parameter:
*m Pointer auf MUNPOS Instanz
Rueckgabewert:
Laenge des Antivertex
mpGetEA
double mpGetEA( | MUNPOS *m); |
Berechnet die Laenge des aequatorial-Aszendenten / Polar-Antivertex
Dieser Punkt wird meistens faelschlicherweise als 'Ostpunkt' bezeichnet.
Parameter:
*m Pointer auf MUNPOS Instanz
Rueckgabewert:
Laenge des Aequatorial-Aszendenten / Polar-Antivertex
mpCalcCusps
int mpCalcCusps( | MUNPOS *m, |
int n, | |
double *cusps); |
Berechnet n Haeuserspitzen
Schreibt die Laengen von n Haeusersptzen in das Array cusps[n].
Parameter:
*m Pointer auf MUNPOS Instanz n Anzahl der Haeuser cusps Pointer aud double[n]
Rueckgabewert:
0 oder im Fehlerfall 1
mpCalcLong
double mpCalcLong( | MUNPOS *m, |
double mp); |
Laenge aus mundaner Position
Berechnet die Laenge aus der mundanen Position. Hat mundane Position die Werte 0, 30, 60.., so entspricht diese Laenge einer Haeuserspitze eines 12-teiligen Haeusersystems.
Parameter:
*m Pointer auf MUNPOS Instanz mp mundane Position
Rueckgabewert:
Laenge
mpCalcLong2
double mpCalcLong2( | MUNPOS *m, |
double oa, | |
double psi); |
Laenge aus OA und Polhoehe
Parameter:
*m Pointer auf MUNPOS Instanz oa Schiefe Aufsteigung psi Polhoehe
Rueckgabewert:
Laenge oder im Fehlerfall mpERROR
mpCalcLongDir
double mpCalcLongDir( | MUNPOS *m, |
double lon, | |
double lat, | |
double arc); |
Dirigierte Position in schiefer Laenge
Verschiebt die Positionslinie des durch Laenge und Breite gegebenen Signifikators unter Beibehaltung der Polhoehe um den Direktionsbogen entlang des aequators und gibt die Laenge des Schnittpunkts der verschobenen Positionslinie mit der Ekliptik zurueck.
Parameter:
*m Pointer auf MUNPOS Instanz lon Laenge lat Breite arc Direktionsbogen
Rueckgabewert:
Schiefe Laenge
mpCalcPosition
double mpCalcPosition( | MUNPOS *m, |
double lon, | |
double lat); |
Berechnet die mundane Position aus Laenge und Breite.
Parameter:
*m Pointer auf MUNPOS Instanz lon Laenge lat Breite
Rueckgabewert:
Mundane Position
mpCalcPos2
double mpCalcPos2( | MUNPOS *m, |
double x, | |
double y, | |
int flag); |
Mundane Position
Berechnet die mundane Position aus Rektaszension und Deklination wenn flag == 0 oder aus Laenge und Breite, wenn flag == 1.
Parameter:
*m Pointer auf MUNPOS Instanz x Rektaszension oder Laenge y Deklination oder Breite flag
Rueckgabewert:
Mundane Position
mpCalcPosIP
double mpCalcPosIP( | MUNPOS *m, |
int n, | |
double lon); |
Interpolierte mundane Position
Interpoliert die mundane Position linear auf den Ekliptikboegen zwischen den Haeuserspitzen, wie es in computerlosen Zeiten ueblich war. Diese Funktion dient in erster Linie fuer Vergleichszwecke, und sollte aufgrund der Ungenauigkeit fuer uebliche Berechnungen nicht verwendet werden.
Parameter:
*m Pointer auf MUNPOS Instanz n Anzahl der Haeuserspitzen (mindestens 4) lon Laenge
Rueckgabewert:
Interpolierte mundane Position
mpCalcArc
double mpCalcArc( | MUNPOS *m, |
double pro_lon, | |
double pro_lat, | |
double mp, | |
unsigned flags, | |
double asp); |
Direktion zu mundaner Position
Berechnet den Direktionsbogen aus Laenge und Breite des Promissors, mundaner Position des Signifikators, sowie Aspektwinkel/Spiegelpunkt. Diese Funktion eignet sich nicht fuer die Systeme mpKUEH und mpPOPA, da hier die Deklination des Signifikators nicht bekannt ist.
Parameter:
*m Pointer auf MUNPOS Instanz pro_lon Laenge des Promissors pro_lat Breite des Promissors mp Mundane Position des Signifikators flags flags asp Aspektwinkel oder Spiegelpunkt (wenn Flag mpMIRROR gesetzt)
Flags:
mpMUNDO Direktion zu Mundanaspekt mpMIRROR Mundanen Spiegelpunkt berechnen mpLAT_P Promissor mit Breite berechnen mpLAT_S Signifikator mit Breite berechnen mpBIANC Promissorbreite nach Bianchini, wenn mpLAT_P gesetzt
Rueckgabewert:
Direktionsbogen oder im Fehlerfall mpERROR
mpCalcArc2
double mpCalcArc2( | MUNPOS *m, |
double pro_lon, | |
double pro_lat, | |
double sig_lon, | |
double sig_lat, | |
unsigned flags, | |
double asp); |
Interplanetare Direktion
Berechnet den Direktionsbogen aus Laenge und Breite des Promissors, Laenge und Breite des Signifikators, sowie Aspektwinkel/Spiegelpunkt. Mit den Systemen mpKUEH und mpPOPA sind Direktionen zu Mundanaspekten nicht moeglich.
Parameter:
*m Pointer auf MUNPOS Instanz pro_lon Laenge des Promissors pro_lat Breite des Promissors sig_lon Laenge des Signifikators sig_lat Breite des Signifikators flags flags asp Aspektwinkel oder Spiegelpunkt (wenn Flag mpMIRROR gesetzt)
Flags:
mpMUNDO Direktion zu Mundanaspekt mpMIRROR Mundanen Spiegelpunkt berechnen mpLAT_P Promissor mit Breite berechnen mpLAT_S Signifikator mit Breite berechnen mpBIANC Promissorbreite nach Bianchini, wenn mpLAT_P gesetzt
Rueckgabewert:
Direktionsbogen oder im Fehlerfall mpERROR
mpCalcArcRapt
int mpCalcArcRapt( | MUNPOS *m, |
double lon1, | |
double lat1, | |
double lon2, | |
double lat2, | |
double mpos, | |
double *vect); |
Direktion mundaner aequidistanzen
Berechnet iterativ den Direktionsbogen aus dem aequidistanzpunkt zweier durch Laengen und Breiten gegebenener Promissoren und der mundanen Position des Signifikators.
Parameter:
*m Pointer auf MUNPOS Instanz p1_lon Laenge Promissor 1 p1_lat Breite Promissor 1 p2_lon Laenge Promissor 2 p2_lat Breite Promissor 2 mp Mundane Position des Signifikators vect Pointer auf double[6]
Berechnete Werte:
vect[0] Direktionsbogen vect[1] aequidistanz vect[2] Direktionsbogen zum Oppositionspunkt vect[3] aequidistanz vect[4] Direktionsbogen zur kleineren aequidistanz vect[5] aequidistanz
Rueckgabewert:
Anzahl der gesamten Iterationsschritte oder im Fehlerfall -1
mpCalcRA
double mpCalcRA( | MUNPOS *m, |
double lon, | |
double lat); |
Rektaszension aus Laenge und Breite
Parameter:
*m Pointer auf MUNPOS Instanz lon Laenge lat Breite
Rueckgabewert:
Rektaszension
mpCalcDE
double mpCalcDE( | MUNPOS *m, |
double lon, | |
double lat); |
Deklination aus Laenge und Breite
Parameter:
*m Pointer auf MUNPOS Instanz lon Laenge lat Breite
Rueckgabewert:
Deklination
mpCalcAZ
double mpCalcAZ( | MUNPOS *m, |
double lon, | |
double lat); |
Azimut aus Laenge und Breite
Parameter:
*m Pointer auf MUNPOS Instanz lon Laenge lat Breite
Rueckgabewert:
Azimut
mpCalcALT
double mpCalcALT( | MUNPOS *m, |
double lon, | |
double lat); |
Hoehe aus Laenge und Breite
Parameter:
*m Pointer auf MUNPOS Instanz lon Laenge lat Breite
Rueckgabewert:
Hoehe
mpCalcGC
int mpCalcGC( | MUNPOS *m, |
double mp, | |
double *gc); |
OA/OD und Polhoehe aus mundaner Position
Schreibt OA/OD und Polhoehe des der mundanen Position entsprechenden
Grosskreises in ein Array vom Typ double[2].
Die Polhoehe kann auch negative Werte annehmen.
Parameter:
*m Pointer auf MUNPOS Instanz mp mundane Position *gc Pointer auf double[2]
Berechnete Werte:
gc[0] OA gc[1] Polhoehe
Rueckgabewert:
0 wenn ok oder im Fehlerfall 1.
mpCalcSpeculum
void mpCalcSpeculum( | MUNPOS *m, |
double lon, | |
double lat, | |
SPECULUM *spec); |
Berechnet verschiedene Werte fuer das Spekulum
Berechnet verschiedene Werte fuer das Spekulum und schreibt sie in eine Instanz der Struktur SPECULUM.
Ist mpPLAC gesetzt, wird die Polhoehe nach Kuehr berechnet. Die Spekulum Daten unterscheiden sich bei diesen Systemen also nicht. Fuer die Direktionssysteme mpKUEH und mpPOPA wird die mundane Position nach Placidus berechnet.
Parameter:
*m Pointer auf MUNPOS Instanz lon ekl. Laenge lat ekl. Breite *spec Pointer auf SPECULUM Instanz
Berechnete Werte:
SPECULUM::lon Kopie der Laenge SPECULUM::lat Kopie der Breite SPECULUM::ra Rektaszension SPECULUM::de Deklination SPECULUM::az Azimut (Nullpunkt: Norden) SPECULUM::alt Hoehe SPECULUM::umd Obere Meridiandistanz im Bereich +/- 180 Grad, im Westen negativ SPECULUM::ad Aszensional- / Azimutaldifferenz SPECULUM::sa Halbbogen, Nachthalbbogen negativ SPECULUM::oa OA oder OD SPECULUM::pd Proportionaldistanz mit Vorzeichen (Meridiandistanz / Halbbogen) SPECULUM::mp Mundane Position SPECULUM::q Aszensionaldifferenz unter eigenem Pol SPECULUM::w OA/OD unter eigenem Pol SPECULUM::psi Polhoehe (kann auch negativ sein) SPECULUM::md Meridiandistanz, am IC negativ SPECULUM::hd Horizontdistanz, im Westen negativ SPECULUM::zd Zenit-/Nadirdistanz, am Nadir negativ SPECULUM::ed Ostpunk-/Westpunktdistanz, am Westpunkt negativ SPECULUM::rl Rechte Laenge
mpCoTrans
void mpCoTrans( | double eps, |
double x, | |
double y, | |
double *coord); |
Ekliptik <-> aequator
Rechnet ekliptikale Koordinaten in aequatoriale Koordinaten um (und vice versa, wenn eps negativ).
Parameter:
eps Schiefe der Ekliptik lon Laenge (Rektaszension) lat Breite (Deklination) *coord Pointer auf double[2]
Berechnete Werte:
coord[0] Rektaszension (Laenge) coord[1] Deklination (Breite)
mpEqu2Hor
void mpEqu2Hor( | double lst, |
double phi, | |
double ra, | |
double de, | |
double *coord); |
aequator -> Horizont
Rechnet aequatoriale Koordinaten in horizontale Koordinaten um.
Parameter:
lst Lokale Sternzeit (RAMC) phi Geographische Breite ra Rektaszension de Deklination *coord Pointer auf double[2]
Berechnete Werte:
coord[0] Azimut coord[1] Hoehe
mpHor2Equ
void mpHor2Equ( | double lst, |
double phi, | |
double az, | |
double alt, | |
double *equ); |
Horizont -> aequator
Rechnet horizontale Koordinaten in aequatoriale Koordinaten um.
Parameter:
lst Lokale Sternzeit (RAMC) phi Geographische Breite az Azimut alt Hoehe *coord Pointer auf double[2]
Berechnete Werte:
coord[0] Rektaszension coord[1] Deklination
mpNorm360
double mpNorm360( | double alpha); |
In den Bereich 0..360 Grad verschieben
Parameter:
alpha Winkel alpha
Rueckgabewert:
0° ≤ alpha < 360°
mpNorm180
double mpNorm180( | double alpha); |
In den Bereich -180..+180 Grad verschieben
Parameter:
alpha Winkel alpha
Rueckgabewert:
-180° ≤ alpha <+180°
mpCal2JD
double mpCal2JD( | int year, |
int month, | |
int day, | |
double hours, | |
int jul, | |
DATTIM *dt); |
Julianischer Tag JD aus Kalenderdatum
Schreibt die uebergebenen Werte und den daraus errechneten Julianischen Tag in eine Instanz der Struktur DATTIM wenn *dt != NULL.
Parameter:
*dt NULL oder Pointer auf DATTIM Instanz year Jahr month Monat day Tag hours Tagesbruchteil in Stunden jul 0 == gregorianischer, 1 == julianischer Kalender
Rueckgabewert:
Julianischer Tag
mpJD2Cal
void mpJD2Cal( | double jd, |
DATTIM *dt); |
Kalenderdatum aus julianischem Tag JD
Schreibt den uebergebenen Wert sowie das daraus errechnete Kalenderdatum in eine Instanz der Struktur DATTIM.
Parameter:
*dt Pointer auf DATTIM Instanz jd Julianischer Tag
Berechnete Werte:
year Jahr month Monat day Tag hours Tagesbruchteil in Stunden
mpAspect
double mpAspect( | double L1, |
double B1, | |
double L2, | |
double B2, | |
double *vect); |
Geometrischer Aspektwinkel (Orthodrome) und Halbdistanz
Berechnet den Bogen der Orthodrome.
Wenn *vect != NULL werden Laenge und Breite des geometrischen Mittelpunkts berechnet und in das Array vect geschrieben.
Parameter:
L1 Laenge Startpunkt B1 Breite Startpunkt L2 Laenge Endpunkt B2 Breite Endpunkt *vect NULL oder Pointer auf double[2]
Berechnete Werte:
vect[0] Laenge (optional) vect[1] Breite (optional)
Rueckgabewert:
Bogen der Orthodrome
mpGeoZ
double mpGeoZ( | double phi); |
Geozentrische Breite aus geographischer Breite
Parameter:
phi Geographische Breite
Rueckgabewert:
Geozentrische Breite