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