|
Astrologische Berechnungen | ||||||
| VORIGE KLASSE NÄCHSTE KLASSE | MIT FRAMES OHNE FRAMES | ||||||
| ÜBERBLICK: INNERE KL. | FELD | CONSTR | METHOD | DETAIL: FELD | CONSTR | METHOD | ||||||
java.lang.Object
|
+--AstroOL.Calculator
|
+--AstroOL.LowPrecCalculator
Die Klasse LowPrecCalculator ergänzt die Klasse Calculator um explizite Methoden zur Berechnung der Planeten und Häuser. Die Berechnungen, die von der Calculator-Klasse normalerweise mittels eines Servlets im Backend ausgeführt werden, sind im LowPrecCalculator konkret ausprogrammiert.
Wie Calculator hat auch LowPrecCalculator den Zweck, astrologische Berechnungen effizient durchzuführen. Sie ist jedoch als Standalone Version gedacht, die auch offline verwendbar ist.- Um sie dennoch kompakt und schnell zu halten, wurde von den hohen Genauigkeitsansprüchen der Swiss Ephemeris abgerückt: Der LowPrecCalculator rechnet Planetenstände auf die Bogenminute genau, nur die Sonne ist auf die Bogensekunde genau, so dass auch Solarberechnungen möglich sind.
LowPrecCalculator erbt von Calculator, so dass keine doppelte Logik programmiert werden musste. Die meisten Hilfsfunktionen existierten bereits in der Nachfolgefunktion oder konnten leicht in diese übernommen werden.
| Überblick Felder | |
static double |
cInvers
Reziprokwert der Lichtgeschwindigkeit in d/AE |
double |
ee
Schiefe der Ekliptik zur Instanz in Grad |
static boolean |
geometric
Gibt an, ob Aberration und Lichtlaufzeit berücksichtigt werden sollen. |
double[] |
h
Häuserspitzen. |
static byte |
hSystem
Verwendetes Häusersystem. |
double |
lat
Geographische Breite der Instanz (in Grad). |
double |
lon
Geographische Länge der Instanz (in Grad). |
static double |
naibod
Naibodschlüssel (mittlere Bewegung der Sonne am Tag) |
double[] |
pb
Ekliptikale Breiten der Planeten. |
double[] |
pl
Ekliptikale Längen der Planeten. |
double |
ramc
Rektaszension des Medium Coeli (RAMC) in Grad. |
static double |
ST_UT
Umwandlungsfaktor Sternzeit in Weltzeit |
double |
ut
Weltzeit der Instanz |
double |
xjd
Julianisches Datum der Instanz (in Ephemeridenzeit) |
| Von Klasse AstroOL.Calculator geerbte Felder |
DEFAULT_LAT, DEFAULT_LON, digit, ECL, GEO, LAT, LONG, NO_ROUND, pknam, SEC, sknam, TIME, toDeg, toRad |
| Überblick Konstruktoren | |
LowPrecCalculator()
Der leere Konstruktor instanziiert zum aktuellen Datum. |
|
LowPrecCalculator(double xjd,
double lon,
double lat)
Konstruktor mit Julianischem Datum, geographischer Länge und Breite |
|
LowPrecCalculator(java.lang.String in)
Konstruktor mit Zeit/Ort String. |
|
| Methoden-Überblick | |
static double[] |
brown(double jd)
Mondephemeride nach Brown. |
static double[] |
carpo(double[] car)
Cartesische in Polarkoordinaten umwandeln. |
static double[] |
compute(double jd)
Die Längen der zehn astrologischen Planeten errechnen. |
static void |
compute(double jd,
double[][] lbr)
Die vollständigen geozentrischen Polarkoordinaten der zehn astrologischen Planeten errechnen. |
static double |
deltat(double xjd)
Korrektur zur Umrechnung Weltzeit (UT) in Ephemeridenzeit (ET). |
static double[] |
ekq(double e,
double[] lb)
Ekliptikale in aequatoriale Koordinaten umwandeln |
boolean |
getPlanetsAndHouses(double iXjd,
double iLon,
double iLat,
double[] cPl,
double[] cH)
Implementierung der Methode ICalculator.getPlanetsAndHouses() |
static double |
gst0(double jd)
Greenwich Sternzeit (in Grad, also die RAMC) um 0h Weltzeit berechnen. |
static double[] |
helge(double[] lbrHelio,
double[] lbrEarth)
Umrechnung von heliozentrisch auf geozentrisch. |
static double[] |
kepler(double[] elements)
Löst das Keplerproblem. |
double |
lst()
Instanzmethode zur Methode lst(st0,ut,laenge).
|
static double |
lst(double st0,
double ut,
double laenge)
RAMC aus: Greenwich-Sternzeit um 0 Uhr, Weltzeit und östl. |
static double[] |
newcomb(double jd)
Bogensekundengenaue Sonnenposition nach einer Reihenentwicklung von S. |
double |
nutation()
Berechnet die Nutationskorrektur, die an die geozentrischen Längen zur mittleren Ekliptik des Datums anzubringen ist, um die sogenannten wahren Längen zu bekommen. |
static double |
nutation(double jd)
Berechnet die Nutationskorrektur, die an die geozentrischen Längen zur mittleren Ekliptik des Datums anzubringen ist, um die sogenannten wahren Längen zu bekommen |
static double[] |
pocar(double[] lbr)
|
static double[] |
qek(double e,
double[] rd)
Aequatoriale in ekliptikale Koordinaten umrechnen |
void |
setServletURL(java.lang.String iServletURL)
Leere Implementierung, da diese Klasse kein Backend benötigt |
double |
tilt()
Instanzmethode zur Berechnung der Schiefe der Ekliptik. |
static double |
tilt(double jd)
Mittlere Schiefe der Ekliptik berechnen. |
java.lang.String |
toString()
Ausgabe der Attribute einer Calculator-Instanz |
| Von Klasse AstroOL.Calculator geerbte Methoden |
acos, analyzeString, arcdiff, arcdiffAbs, asin, atan, atan2, calendarDate, cos, date, dms, dms, doubleList, doubleList, doubleList, fabs, fmod, fmod360, fract, getHouse, getPlanet, getPlanetsAndHouses, getServletURL, julianDate, main, parseDoubleList, parseTimePlace, renderTimePlace, renderTimePlace, renderTimePlace, renderTimePlace, renderTimePlace, sgn, sin, sort, sort, tan, thisjd |
| Von Klasse java.lang.Object geerbte Methoden |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Vom Interface AstroOL.ICalculator geerbte Methoden |
getHouse, getPlanet, getServletURL |
| Feld-Details |
public static final double cInvers
public double ee
public static boolean geometric
public double[] h
| h[1] | = Aszendent, |
| h[4] | = I.C., |
| h[7] | = Deszendent, |
| h[10] | = M.C., |
| h[i] | = i. Häuserspitze |
public static byte hSystem
public double lat
public double lon
public static final double naibod
public double[] pb
Calculator.pknam.public double[] pl
Calculator.pknam.public double ramc
public static final double ST_UT
public double ut
public double xjd
| Konstruktor-Details |
public LowPrecCalculator()
public LowPrecCalculator(double xjd,
double lon,
double lat)
xjd - Julianisches Datum in ETlon - Geographische Längelat - Geographische Breitepublic LowPrecCalculator(java.lang.String in)
in - Eingabestring für Datum, Uhrzeit und Ort.
Zum Format des Strings
siehe die Methode Calculator.parseTimePlace()| Methoden-Details |
public static double[] brown(double jd)
jd - Julianisches Datum in ET (Ephemeridenzeit)public static double[] carpo(double[] car)
public static double[] compute(double jd)
jd - Julianisches DatumCalculator.pknam
public static void compute(double jd,
double[][] lbr)
jd - Julianisches Datumlbr - Zweidimensionaler Array mit den Ergebnissen. Der
erste Index entspricht der Nummer des Planeten in der
globalen Konstante Calculator.pknam. Der zweite
Index zählt die drei Polarkoordinaten durch, in der Reihenfolge
Länge, Breite, Distanz in AE.public static double deltat(double xjd)
xjd - Julianisches Datum
public static double[] ekq(double e,
double[] lb)
public boolean getPlanetsAndHouses(double iXjd,
double iLon,
double iLat,
double[] cPl,
double[] cH)
getPlanetsAndHouses in Interface ICalculatorgetPlanetsAndHouses in Klasse CalculatorAstroOL.ICalculatorjd_ut - julianisches Datum in Weltzeit (nicht Ephemeridenzeit)lon - geographische Länge des Ortes (für Hausberechnungen)lat - geographische (nicht geozentrische) Breite des Ortes (für Hausberechnungen)pl - die Referenz auf ein Array von doppeltgenauen Gleitkommazahlen
mit mindestens zehn Elementen; die ersten zehn Elemente werden mit den
geozentrischen ekliptikalen Planetenpositionen in der Reihenfolge SO, MO, ME, VE, MA, JU, SA, UR, NE und PL
gefüllt.h - die Referenz auf ein Array von doppeltgenauen Gleitkommazahlen
mit mindestens dreizehn Elementen. Das erste Element (mit Index 0) bleibt leer. Das Element h[i]
wird für i = 1 bis 12 mit dem Wert der i. Hausspitze gefüllt. Die Wahl oder gar Wählbarkeit
des Häsersystems ist im Interface nicht festgelegt und stellt somit ein Implementierungsdetail dar.public static double gst0(double jd)
jd - Julianisches Datum
public static double[] helge(double[] lbrHelio,
double[] lbrEarth)
Ist das Flag geometric
abgeschaltet (Default), so
so wird an dieser Stelle auch die Aberration (nicht
die Lichtlaufzeit) berücksichtigt, wobei näherungsweise die
mittlere Erdgeschwindigkeit (Naibodbogen) verwendet wird.
lbrHelio - Heliozentrische Position des ObjektslbrEarth - Heliozentrische Position der Erdepublic static double[] kepler(double[] elements)
elements - Bahnelemente. Übergeben werden
| Grosse Halbachse | = elements[0] |
| Exzentrizität | = elements[1] |
| Bahnneigung | = elements[2] |
| Aufst. Knoten | = elements[3] |
| Perhihellänge | = elements[4] |
| Mittl. Anomalie | = elements[5] |
| Tagesbewegung | = elements[6] |
| Korrektur für r | = elements[7] |
public double lst()
lst(st0,ut,laenge).
Es werden das Datum (xjd) und die Weltzeit (ut) der Instanz
zugrundegelegt.
public static double lst(double st0,
double ut,
double laenge)
st0 - Greenwich-Sternzeit (RAMC) um 0 Uhr Weltzeit, z.B.
mit der Methode gst0() berechnet.ut - Weltzeit in Stundenlaenge - geographische Länge in Gradpublic static double[] newcomb(double jd)
jd - Julianisches Datum in Ephemeridenzeitpublic double nutation()
Dies ist die Instanzmethode nutation(). Sie berechnet die Korrektur für das Julianische Datum der Instanz.
public static double nutation(double jd)
jd - Julianisches Datumpublic static double[] pocar(double[] lbr)
public static double[] qek(double e,
double[] rd)
public void setServletURL(java.lang.String iServletURL)
setServletURL in Interface ICalculatorsetServletURL in Klasse Calculatorpublic double tilt()
public static double tilt(double jd)
jd - Julianisches Datumpublic java.lang.String toString()
toString in Klasse java.lang.Object
|
Astrologische Berechnungen | ||||||
| VORIGE KLASSE NÄCHSTE KLASSE | MIT FRAMES OHNE FRAMES | ||||||
| ÜBERBLICK: INNERE KL. | FELD | CONSTR | METHOD | DETAIL: FELD | CONSTR | METHOD | ||||||