Background
Home Download Calculation explanation Screen shots Links

Principle of calculation for a sky map (in work):
This page describes all calculations which are done in Sideralis in order to display the stars , planets and Messier objects.

Description of steps:
1- Calculation of sideral hour
2- Calculation of precession
3- Modification of alpha and delta
3b- Calculation of Sun parameters
4- Calculation of height and azimuth
5- Projection on sky


 

Step1: Calculation of sideral hour.

Input:
h: hour (0-23)
d: day (1-31)
m: month (1-12)
y: year (>1583)

Output:
JJ: Julian day

Method:
If (m>2)
y = y and m = m
else
y = y-1 and m = m+12
A = Integer(y/100)
B = 2-A+Integer(A/4)
JJ = Integer(365.25*y) + Integer(30.6001(m+1)) + d + h/24 + 1720994.5 + B

Example:

Step2: Calculation of precession

Step3b: Calculation of sun parameters

Input:
JJ: Julian day

Output:
ThetaSun: Real longitude

Method:
T = (JJ-2415020.0)/36252
L = 279.69668 + 36000.76892*T + 0.0003025*T*T
M = 358.47583 + 35999.04975*T -0.000150*T*T - 0.0000033*T*T*T

Step5: Calculation of horizontal coordinate

Input:
HS: Sideral Hour
Lat, Long: Latitude and Longitude of user (in degree)
Alpha: Ascendance of the object
Delta: Declinaison of the object

Output:
Height: Height of object seen in the sky
Azimuth: Azimuth of object seen in the sky

Method:
Calculate hour angle: H
H = HS + Long/15 - Alpha
Convert H in radian
H = H *15
H = radian(H)
sinH = Math.sin(H);
cosH = Math.cos(H);
sinT = Math.sin(Lat/ 180.0 * Math.PI);
tanD = Math.tan(Delta / 180.0 * Math.PI);
cosT = Math.cos(Lat / 180.0 * Math.PI);
tanA = sinH/(cosH*sinT-tanD*cosT);
sinD = Math.sin(Delta / 180.0 * Math.PI);
cosD = Math.cos(Delta / 180.0 * Math.PI);
sinHau = sinT*sinD+cosT*cosD*cosH;
Height = MathFunctions.arcsin(sinHau);
Azimuth = MathFunctions.arctan(tanA,sinH>=0?true:false);
Azimuth += Math.PI/2; // to have North on top of the screen

... to be continued ...

 

 

 

Logo