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 alsHäuser gleichgroßvon Ekliptik abhängigAC Spitze von 1IC Spitze von 4Quadrantensystem
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-EquatorialmpPOLI 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.

Literatur

[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
FunktionBerschreibung
mpInit Parameterloser Konstruktor
Setter Funktionen
FunktionBerschreibung
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
FunktionBerschreibung
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
FunktionBerschreibung
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
FunktionBerschreibung
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
FunktionBerschreibung
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:

*mPointer auf MUNPOS Instanz


mpSetHsys

int mpSetHsys(MUNPOS *m,
unsigned hsys);
Setzt das Haeusersystem

Die Strukturvariable shift wird dabei auf 0 gesetzt.

Parameter:

*mPointer auf MUNPOS Instanz
hsysHaeusersystem

Flags:

mpPOLARAzimutale Version berechnen
mpREVERSEHaeuser 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:

*mPointer auf MUNPOS Instanz
hsysHaeusersystem
shiftOffset der mundanen Position (ueblicherweise 0.0)

Flags:

mpPOLARAzimutale Version berechnen
mpREVERSEHaeuser im Uhrzeigersinn

Rueckgabewert:

0 oder im Fehlerfall 1


mpSetShift

void mpSetShift(MUNPOS *m,
double shift);
Setzt den mundanen Offset shift

Parameter:

*mPointer auf MUNPOS Instanz
shiftOffset 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:

*mPointer auf MUNPOS Instanz
deDeklination 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:

*mPointer auf MUNPOS Instanz
epsWahre Schiefe der Ekliptik
stSternzeit (Greenwich apparent sidereal time)
lonGeographische Laenge (positiv nach Osten gezaehlt)
latGeographische 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:

*mPointer auf MUNPOS Instanz
lonGeographische Laenge (positiv nach Osten gezaehlt)
latGeographische Breite (auf der Nordhalbkugel positiv, auf der Suedhalbkugel negativ)


mpSetTime

void mpSetTime(MUNPOS *m,
double lon,
double lat);
Setzt den Zeitpunkt des Ereignises

Parameter:

*mPointer auf MUNPOS Instanz
epsWahre Schiefe der Ekliptik
stSternzeit (Greenwich apparent sidereal time)


mpSetEPS

void mpSetEPS(MUNPOS *m,
double eps);
Setzt die Schiefe der Ekliptik.

Parameter:

*mPointer auf MUNPOS Instanz
epsWahre Schiefe der Ekliptik


mpSetST

void mpSetST(MUNPOS *m,
double st);
Setzt die Sternzeit

Parameter:

*mPointer auf MUNPOS Instanz
stSternzeit (Greenwich apparent sidereal time)


mpSetLon

void mpSetLon(MUNPOS *m,
double lon);
Setzt die geographische Laenge

Parameter:

*mPointer auf MUNPOS Instanz
lonGeographische Laenge (positiv nach Osten gezaehlt)


mpSetLat

void mpSetLat(MUNPOS *m,
double ast);
Setzt die geographische Breite

Parameter:

*mPointer auf MUNPOS Instanz
latGeographische Breite (auf der Nordhalbkugel positiv, auf der Suedhalbkugel negativ)


mpGetHsys

unsigned mpGetHsys(MUNPOS *m);
Gibt das Haeusersystem zurueck

Parameter:

*mPointer auf MUNPOS Instanz

Rueckgabewert:

Haeusersystem


mpGetFlags

unsigned mpGetFlags(MUNPOS *m);
Gibt die Flags zurueck

Parameter:

*mPointer auf MUNPOS Instanz

Flags:

mpPOLARAzimutale Version berechnen
mpREVERSEHaeuser im Uhrzeigersinn.
mpSTA_DIRAszendent oder Antivertex auf der 'falschen' Seite des Meridians.

Rueckgabewert:

flags als unsigned int


mpGetShift

double mpGetShift(MUNPOS *m);
Gibt der mundanen Offset zurueck

Parameter:

*mPointer auf MUNPOS Instanz

Rueckgabewert:

Wert der Variablen shift.


mpGetEPS

double mpGetEPS(MUNPOS *m);
Gibt die Schiefe der Ekliptik zurueck

Parameter:

*mPointer auf MUNPOS Instanz

Rueckgabewert:

Wahre Schiefe der Ekliptik


mpGetST

double mpGetST(MUNPOS *m);
Gibt die Sternzeit zurueck

Parameter:

*mPointer auf MUNPOS Instanz

Rueckgabewert:

Sternzeit (Greenwich apparent sideral time)


mpGetLon

double mpGetLon(MUNPOS *m);
Gibt die geographische Laenge des Ereignisortes zurueck

Parameter:

*mPointer auf MUNPOS Instanz

Rueckgabewert:

Geographische Laenge (positiv nach Osten gezaehlt)


mpGetLat

double mpGetLat(MUNPOS *m);
Gibt die geographische Breite des Ereignisortes zurueck

Parameter:

*mPointer 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:

*mPointer auf MUNPOS Instanz

Rueckgabewert:

Wahre lokale Sternzeit im Gradmass (RAMC)


mpGetMC

double mpGetMC(MUNPOS *m);
Gibt die Laenge des MC zurueck

Parameter:

*mPointer auf MUNPOS Instanz

Rueckgabewert:

Laenge des MC


mpGetAC

double mpGetAC(MUNPOS *m);
Gibt die Laenge des Aszendenten zurueck

Parameter:

*mPointer 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:

*mPointer 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:

*mPointer 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:

*mPointer auf MUNPOS Instanz
nAnzahl der Haeuser
cuspsPointer 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:

*mPointer auf MUNPOS Instanz
mpmundane Position

Rueckgabewert:

Laenge


mpCalcLong2

double mpCalcLong2(MUNPOS *m,
double oa,
double psi);
Laenge aus OA und Polhoehe

Parameter:

*mPointer auf MUNPOS Instanz
oaSchiefe Aufsteigung
psiPolhoehe

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:

*mPointer auf MUNPOS Instanz
lonLaenge
latBreite
arcDirektionsbogen

Rueckgabewert:

Schiefe Laenge


mpCalcPosition

double mpCalcPosition(MUNPOS *m,
double lon,
double lat);
Berechnet die mundane Position aus Laenge und Breite.

Parameter:

*mPointer auf MUNPOS Instanz
lonLaenge
latBreite

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:

*mPointer auf MUNPOS Instanz
xRektaszension oder Laenge
yDeklination 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:

*mPointer auf MUNPOS Instanz
nAnzahl der Haeuserspitzen (mindestens 4)
lonLaenge

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:

*mPointer auf MUNPOS Instanz
pro_lonLaenge des Promissors
pro_latBreite des Promissors
mpMundane Position des Signifikators
flagsflags
aspAspektwinkel oder Spiegelpunkt (wenn Flag mpMIRROR gesetzt)

Flags:

mpMUNDODirektion zu Mundanaspekt
mpMIRRORMundanen Spiegelpunkt berechnen
mpLAT_PPromissor mit Breite berechnen
mpLAT_SSignifikator mit Breite berechnen
mpBIANCPromissorbreite 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:

*mPointer auf MUNPOS Instanz
pro_lonLaenge des Promissors
pro_latBreite des Promissors
sig_lonLaenge des Signifikators
sig_latBreite des Signifikators
flagsflags
aspAspektwinkel oder Spiegelpunkt (wenn Flag mpMIRROR gesetzt)

Flags:

mpMUNDODirektion zu Mundanaspekt
mpMIRRORMundanen Spiegelpunkt berechnen
mpLAT_PPromissor mit Breite berechnen
mpLAT_SSignifikator mit Breite berechnen
mpBIANCPromissorbreite 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:

*mPointer auf MUNPOS Instanz
p1_lonLaenge Promissor 1
p1_latBreite Promissor 1
p2_lonLaenge Promissor 2
p2_latBreite Promissor 2
mpMundane Position des Signifikators
vectPointer 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:

*mPointer auf MUNPOS Instanz
lonLaenge
latBreite

Rueckgabewert:

Rektaszension


mpCalcDE

double mpCalcDE(MUNPOS *m,
double lon,
double lat);
Deklination aus Laenge und Breite

Parameter:

*mPointer auf MUNPOS Instanz
lonLaenge
latBreite

Rueckgabewert:

Deklination


mpCalcAZ

double mpCalcAZ(MUNPOS *m,
double lon,
double lat);
Azimut aus Laenge und Breite

Parameter:

*mPointer auf MUNPOS Instanz
lonLaenge
latBreite

Rueckgabewert:

Azimut


mpCalcALT

double mpCalcALT(MUNPOS *m,
double lon,
double lat);
Hoehe aus Laenge und Breite

Parameter:

*mPointer auf MUNPOS Instanz
lonLaenge
latBreite

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:

*mPointer auf MUNPOS Instanz
mpmundane Position
*gcPointer 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:

*mPointer auf MUNPOS Instanz
lonekl. Laenge
latekl. Breite
*specPointer auf SPECULUM Instanz

Berechnete Werte:

SPECULUM::lonKopie der Laenge
SPECULUM::latKopie der Breite
SPECULUM::raRektaszension
SPECULUM::deDeklination
SPECULUM::azAzimut (Nullpunkt: Norden)
SPECULUM::altHoehe
SPECULUM::umdObere Meridiandistanz im Bereich +/- 180 Grad, im Westen negativ
SPECULUM::adAszensional- / Azimutaldifferenz
SPECULUM::saHalbbogen, Nachthalbbogen negativ
SPECULUM::oaOA oder OD
SPECULUM::pdProportionaldistanz mit Vorzeichen (Meridiandistanz / Halbbogen)
SPECULUM::mpMundane Position
SPECULUM::qAszensionaldifferenz unter eigenem Pol
SPECULUM::wOA/OD unter eigenem Pol
SPECULUM::psiPolhoehe (kann auch negativ sein)
SPECULUM::mdMeridiandistanz, am IC negativ
SPECULUM::hdHorizontdistanz, im Westen negativ
SPECULUM::zdZenit-/Nadirdistanz, am Nadir negativ
SPECULUM::edOstpunk-/Westpunktdistanz, am Westpunkt negativ
SPECULUM::rlRechte 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:

epsSchiefe der Ekliptik
lonLaenge (Rektaszension)
latBreite (Deklination)
*coordPointer 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:

lstLokale Sternzeit (RAMC)
phiGeographische Breite
raRektaszension
deDeklination
*coordPointer 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:

lstLokale Sternzeit (RAMC)
phiGeographische Breite
azAzimut
altHoehe
*coordPointer auf double[2]

Berechnete Werte:

coord[0]Rektaszension
coord[1]Deklination


mpNorm360

double mpNorm360(double alpha);
In den Bereich 0..360 Grad verschieben

Parameter:

alphaWinkel alpha

Rueckgabewert:

0° ≤ alpha < 360°


mpNorm180

double mpNorm180(double alpha);
In den Bereich -180..+180 Grad verschieben

Parameter:

alphaWinkel 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:

*dtNULL oder Pointer auf DATTIM Instanz
yearJahr
monthMonat
dayTag
hoursTagesbruchteil in Stunden
jul0 == 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:

*dtPointer auf DATTIM Instanz
jdJulianischer Tag

Berechnete Werte:

yearJahr
monthMonat
dayTag
hoursTagesbruchteil 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:

L1Laenge Startpunkt
B1Breite Startpunkt
L2Laenge Endpunkt
B2Breite Endpunkt
*vectNULL 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:

phiGeographische Breite

Rueckgabewert:

Geozentrische Breite